推荐系统三十六式学习笔记:原理篇.模型融合13|经典模型融合办法:线性模型和树模型的组合拳

目录

  • 为什么要融合?
  • “辑度组合”原理
    • 逻辑回归
    • 梯度提升决策树GBDT
    • 二者结合
  • 总结

推荐系统在技术实现上一般划分为三个阶段:挖掘、召回、排序 。

为什么要融合?

挖掘的工作是对用户和物品做非常深入的结构化分析,各个角度各个层面的特征都被呈现出来,并且建好索引,供召回阶段使用,大部分挖掘工作都是离线进行的。

接下来是召回,为什么是召回呢?因为物品太多了,每一次给一个用户计算推荐结果时,如果对全部物品挨个计算,那将是一场灾难,取而代之的是用一些手段从全量的物品中筛选出一部分比较靠谱的。

最后是排序,针对筛选出的一部分靠谱的做一个人统一的按资排辈,最后这一个统一的排序就是今天要讲的主题:融合。

在这里插入图片描述
什么要融合呢?这个还需要回到召回阶段,看这个阶段到底发生了什么?

在召回阶段,其实就是很多推荐算法,比如基于内容的推荐,协同过滤或矩阵分解等等,每一种土建算法都会产生一批推荐结果,一般还附带给每个结果产生一个推荐分数。

于是问题来了,这些不同的算法产生的推荐分数,最后要一起排个先后,难道依据各自的分数吗?
这样是不行的,有如下几个原因:
1、有的算法可能只给出结果,不给分数,比如用决策树产生一些推荐结果;
2、每种算法给出结果时如果有分数,分数范围不一定一样,所以不能相互比较;
3、即时强行把所有分数都做归一化,仍然不能相互比较,因为产生机制不同,有的可能普遍偏高,有的可能普遍偏低。

举一个例子,比如江苏的考生江苏卷考进清华,北京的考生北京卷考进清华,河南的考生全国卷考进清华,他们都是学霸,可是我如何从中选择出学霸中的学霸呢?很简单,来一次入学统一考试就可以了。这个入学考试就是模型融合。也就是说,不同的算法只负责推举出候选结果,真正最终是否推荐给用户,由另一个统一的模型说了算,这个就叫做模型的融合。

模型的融合除了统一规范,还有集中提升效果的作用。在机器学习中,有专门为融合而生的集成学习思想。

今天要讲的典型的模型融合方案是:逻辑回归和梯度提升决策树组合,我可以给它取个名字“辑度组合”。

“辑度组合”原理

在推荐系统的模型融合阶段,就要以产品目标为导向。举个简单的例子,信息流推荐,如果以提高CTR为目标,则融合模型就要把预估CTR作为本职工作,可以选用逻辑回归。

逻辑回归

CTR预估就是在推荐一个物品之前,预估一下用户点击它的概率有多大,再根据这个预估的点击对物品排序输出。

逻辑回归常常被选择来执行这个任务,它的输出范围就是从0到1之间,刚好满足点击预估的输出,这是一个基础。因为逻辑回归是广义线性模型,相比于传统线性模型,在线性模型基础上增加了sigmoid函数。

逻辑回归如何做CTR预估呢?先看一下计算CTR预估时,需要的两个东西:
1.特征; 2.权重

第一个是特征,就是向量化的把一个用户和物品成对组合展示出来;第二个是权重,每一个特征都有一个权重,权重就是特征的话事权,每个特征的权重不一样,对最终计算CTR影响有大有小。

有了特征,它是一个向量,假如把它叫做x,还有特征的权重,也是一个维度和特征一样的向量,假如叫做w。我们通过对x和w做点积计算,就得到一个传统的线性模型的输出,再用一个sigmoid函数对这个值做一个变换,就得到一个0到1之间的值,也就是预估的CTR。
sigmoid 函数:
σ ( w , x ) = 1 1 + e ( − w ∗ x ) σ(w,x) =\frac{1}{1+e^{(-w * x)}} σ(w,x)=1+e(wx)1

在这里插入图片描述
要做的就是两件事;搞特征,学权重。前者占据更多时间。特征在很多领域都是布尔取值,比如搜索广告,只有出现和不出现两种。还有一些特征是实数取值,很多场景下可以把他划分成多个区间段,也变成了布尔取值。除此之外,逻辑回归是广义线性回归,所谓广义是因为加了sigmoid函数,很多非线性关系它也无能为力。

特征可以组合,有二阶组合,还有三阶组合,特征组合的难点在于:组合数目非常庞大,而且并不是所有组合都有效,只有少数组合有效。
需要不断从数据中发现新的、有效的特征及特征组合。

特征工程+线性模型,是模型融合、CTR预估等居家旅行必备。

权重的学习主要看两个方面:损失函数的最小化,就是模型的偏差是否足够小;另一个就是模型的正则化,就是看模型的方差是否足够小;
除了要学习出偏差和方差都较小的模型,还需要给工程留有余地,具体来说有两点:一个是希望越多权重为0越好,权重为0称为稀疏,可以减小计算复杂度。

另一个是希望能够在线学习这些权重,后台源源不断地更新权重。要学习逻辑逻辑回归的权重,经典的方法如梯度下降一类,尤其是随机梯度下降,可以实现在实时数据流情形下,更新逻辑回归的权重,每一个样本更新一次。

但随机梯度下降为人诟病的是很难得到稀疏的模型,效果收敛也很慢。后来,google在2013年发表了新的学习算法:FTRL,一种结合了L1正则和L2正则的在线优化算法,现在基本都采用这个算法。

梯度提升决策树GBDT

特征组合又能有效表达出数据中的非线性事实,可以通过树模型提高效率。树模型天然就可以肩负起特征组合的任务,从第一个问题开始,也就是树的根节点,到最后得到答案,也就是叶子节点,这一路径下来就是若干个特征的组合。

树模型最开始的是决策树,简称DT,实践发现,把“多个表现”略好于“随机乱猜”的模型以某种方式集成在一起往往出奇效,所以就是说树模型的集成模型。最常见的就是说随机森林,简称RF,和梯度提升树,简称GBDT。

梯度提升树,可以分为两部分,一个是GB,一个是DT.GB是得到集成模型的方案,沿着残差梯度下降的方向构建新的子模型,而DT就是指构建子模型要用的决策树。

举例:

在这里插入图片描述
现在有个任务是根据是否喜欢养花,喜欢打游戏,喜欢帽子来预测年龄,模型就是梯度提升决策树GBDT。假设我们设定好每个子树只有一层,那么三个特征各自按照取值都可以构成
两分支的小树枝。
树根节点为:是否喜欢养花,左分支是不喜欢,被划分进去的样本有13,14,15,35;右边是喜欢,被划分进去的样本有25,49,68,71,73。左边的样本均值是19.25,右边样本均值是57.2。
树根节点为:是否喜欢游戏,左分支是不喜欢,被划分进去的样本有49,71,73;右边是喜欢,被划分进去的样本有13,14,15,25,35,68。左边的均值是64,右边的均值是28.3。
树根节点为:是否喜欢帽子,左分支是不喜欢,被划分进去的样本有14,15,49,71;右边是喜欢,被划分进去的样本有13,25,35,68,73。左边的均值是37.25,右边的均值是42.8。

叶子节点上都是被划分进去的样本年龄均值,也就是预测值。这里是看哪个树让残差减小最多,分别拿三个方案取预测每个样本,统计累积的误差平方和,三个分别是1993.55,2602,5007.95,
于是显然第一颗树的预测结果较好,所以GBDT第一颗树胜出。
接下来第二棵树如何生成呢?GBDT用上一棵树取预测所有样本,得到每一个样本的残差,下一棵树不是去拟合样本的目标值,而是去拟合上一颗树的残差。这里,就是去拟合下面这个表格:
在这里插入图片描述

新一轮构建树的过程以最后一列残差为目标。构建过程这里不再赘述,得到第二颗树。如此不断在上一次建树的残差基础上构建新树,直到满足条件后停止。

在得到所有这些树后,真正使用时,是将它们的预测结果相加作为最终输出结果。这就是GBDT的简单举例。

这里有几个问题:
第一个,上面的例子是回归问题,如何将它用来做分类呢?那就是把损失函数从上面的误差平方和换成适合分类的损失函数,比如对数损失函数。更新时按照梯度方向即可,上面的误差平方和的梯度就刚好是
残差。对于CTR预估这样的二分类任务,可以将损失函数定义为:
− y l o g p − ( 1 − y ) l o g ( 1 − p ) -ylog p - (1-y)log(1-p) ylogp(1y)log(1p)

第二个,通常还需要考虑防止过拟合,也就是损失函数汇总需要增加正则项,正则化的方法一般是:限制总的树个数,树的深度,以及叶子节点的权重大小。
第三个,构建每一颗树时,如果遇到实数值的特征,还需要将其分裂成若干区间,分裂指标有很多,可以参考xgboost中的计算分裂点收益,也可以参考决策树所用的信息增益。

二者结合

前面介绍了逻辑回归LR,以及梯度提升决策树GBDT的原理。实际上可以将两者结合在一起,用于做模型融合阶段的CTR预估。这是Facebook在其广告系统中使用的方法,其中GBDT的任务就是产生高阶特征组合;

具体做法是:GBDT产生了N棵树,一条样本来了后,在每一颗树上都会从根节点走到叶子节点,到了叶子节点后,就是1或者0.把每棵树的输出结果看成是一个组合特征,取值为0或者1,一共N颗树,每棵树i有Mi个叶子就相当于有M种组合,一棵树对应一个one-hot(独热)编码方式,一共就有 ∑ i = 1 N M i \sum_{i=1}^N{M_i} i=1NMi个维度的新特征,作为输入向量进入LR模型,输出最终的结果。

在这里插入图片描述
每一条样本,样本内容一般是把用户、物品、场景三类特征拼接在一起,先经过N颗GBDT树各自预测一下,给出0或1的预测结果。接着,这个N个预测结果再作为one-hot编码特征拼接成一个向量送入逻辑回归中,产生最终的融合预测结果。另外,由于两者结合后用来做推荐系统的模型融合,所以也可以考虑在输入特征中加入各个召回模型产生的分数。

以上就是“辑度组合”原理,虽然简单,但在实际应用中非常有效。

总结

今天我们主要讲了简单的逻辑回归和梯度提升决策树,两者都不是太复杂的模型。并且无论是逻辑回归,还是梯度提升决策树,都有非常成熟的开源实现,可以很快落地。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/739924.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【从零开始认识AI】梯度下降法

目录 1. 原理介绍 2. 代码实现 1. 原理介绍 梯度下降法(Gradient Descent)是一种用于优化函数的迭代算法,广泛应用于机器学习和深度学习中,用来最小化一个目标函数。该目标函数通常代表模型误差或损失。 基本思想是从一个初始…

《Nest系列 - 3. 掌握常见Nest 装饰器,奠定坚实基础!!!!!!》

nest 一个核心就是依赖注入,而中的大部分功能都是通过装饰器来实现的,那什么是装饰器呢? 就是一个 xxx ,诸如 Module,controller, Get, Post 那这样有什么好处呢? 可以把他理解成一个方法,在不改…

【干货】客户裂变实战:策略与案例分享

在当今竞争激烈的市场环境中,客户裂变成为了许多企业快速增长的关键策略。客户裂变,即利用现有客户的社交网络和影响力,吸引更多潜在客户,从而实现客户数量的快速增长。本文将分享一些客户裂变的实战策略及成功案例。 一、客户裂…

【投稿优惠|权威主办】2024年图像、地质测绘与遥感技术国际学术会议(ICIGSRST 2024)

【投稿优惠|权威主办】2024年图像、地质测绘与遥感技术国际学术会议(ICIGSRST 2024) 2024 International Conference on Image, Geological Surveying and Remote Sensing Technology(ICIGSRST 2024) ▶会议简介 2024年图像、地质…

第二届“讯方杯”全国大学生信息技术应用及创新大赛圆满落幕!

6月21日-23日,2023-2024“讯方杯”全国大学生信息技术应用及创新大赛全国总决赛在广东科技学院松山湖校区圆满举办。本届全国总决赛由深圳市讯方技术股份有限公司主办,广东科技学院承办,深圳市职前通教育有限责任公司协办。 广东科技学院副校…

艺术家电gorenje x 设计上海丨用设计诠释“生活的艺术”

2024年6月19日—22日,艺术家电gorenje亮相“设计上海”2024,以“gorenje是家电更是艺术品”为题,为人们带来融入日常的艺术之美。设计上海2024不但汇集了国内外卓越设计品牌和杰出独立设计师的家具设计作品,还联合国内外多名设计师…

国内Mac安装Homebrew方法

文章目录 前言步骤 参考:https://blog.csdn.net/itwangyang520/article/details/134125435 前言 今天尝试下载git,官方给的建议是使用Homebrew下载,但发现新电脑里没有,于是尝试Homebrew下载,但发现Homebrew不存在&am…

NAPI篇【4】——NAPI应用点亮一个LED

OpenHarmony的NAPI功能为开发者提供了JS与C/C不同语言模块之间的相互访问,交互的能力,使得开发者使用C或者C语言实现应用的关键功能。如操作开发板中某个GPIO节点的状态(OpenHarmony并没有提供直接操作GPIO口状态的API)&#xff0…

QGIS在VS2019开发

QGIS二次开发(1)—加载矢量、栅格图层(QGIS 2.14.16 && Qt-4.8.6 && VS2010 )_qgis开发教程-CSDN博客 VS2019QT5.15.2QGIS二次开发环境搭建(非源码方式)_qt qgis-CSDN博客 也许面向对象课…

diffusion model(十八):diffusion model中negative prompt的工作机制

info个人博客主页http://myhz0606.com/article/ncsn 前置阅读: DDPM: http://myhz0606.com/article/ddpm classifier-guided:http://myhz0606.com/article/guided classifier-free guided:http://myhz0606.com/article/classi…

技术干货 | AI驱动工程仿真和设计创新

在当今快速发展的技术领域,人工智能(AI)、机器学习和深度学习等技术已经成为推动工程仿真和设计创新的关键力量。Altair技术经理张晨在Altair “AI FOR ENGINEERS”线下研讨会上发表了相关精彩演讲,本文摘自演讲内容,与…

倒F天线参数

倒F天线是依据天线形状命名的。 天线的谐振点及输入阻抗余S、H和L的关系如下: 倒F天线一般用于单频点设计,使用1/4波长原理(利用镜像原理,实际相当于半波长的偶极子天线)。也就是说L的长度是谐振点对应波长的1/4&#…

mybatis动态传参pgsql日期Interval

在navicat16中,标准写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL 5 minutes) 在mybatis中,错误写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL #{monitorTimeInterval,jdbc…

ViT:3 Compact Architecture

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则…

浏览器提升编译速度小技巧(一)- 防病毒排除

1.引言 在Chrome开发过程中,编译速度是影响开发效率的关键因素之一。编译一个大型项目如Chrome,往往需要处理大量的代码文件和依赖库,这个过程既复杂又耗时。因此,任何能够提升编译速度的技巧,都能显著提高开发效率&a…

AI风险管理新利器:SAIF CHECK利用Meta Llama 3保障合规与安全

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

react-native在IOS上集成百度地图详解

export default class BaiDuMapTest extends Component { render() { return ( ); } } const styles StyleSheet.create({ container: { flex: 1, justifyContent: ‘center’, alignItems: ‘center’, backgroundColor: ‘#F5FCFF’, }, welcome: { fontSize:…

电子设备抗震等级与电子设备震动实验

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139923445 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

RK3588上手踩坑之启动卡死2

同事开发了一块RK3588Q,记录下上手的踩坑过程。 RK3588上手踩坑实录_-CSDN博客https://blog.csdn.net/huntenganwei/article/details/135213035?spm1001.2014.3001.5501 按照之前的搞法,一通操作。 上电 莫名其妙的duang了 各种检查,核对…

2024年国内顶尖的在线文档协作工具大对比

近几年国内主流使用的9款在线文档协作工具对比:PingCode 知识库、WPS Office 云协作、腾讯文档、语雀、Filez 企业网盘、360亿方云、石墨文档、Confluence、Notion。 在线文档协作工具因其能够提供实时编辑、共享和管理文档的能力,成为了很多团队提升工作…