目录

1)线性加权融合法

2)交叉融合法(blending)

3)瀑布融合法

4)特征融合法

5)预测融合法

6)分类器 Boosting 思想


多模型融合算法可以比单一模型算法有极为明显的效果提升。但是怎样进行有效的融合,充分发挥各个算法的长处呢,这里总结一些常见的融合方法:

1)线性加权融合法

线性加权是最简单易用的融合算法,工程实现非常方便,只需要汇总单一模型的结果,然后按不同算法赋予不同的权重,将多个推荐算法的结果进行加权,即可得到结果:

Score是给用户(user)推荐商品(item)的得分,β是算法 K 的权重,rec是算法 k 得到的用户(user)对商品 item 的推荐得分。这种融合方式实现简单,但效果较差。因为线性加权的参数是固定的,实践中参数的选取通常依赖对全局结果升降的总结,一旦设定后,无法灵活的按照不同的推荐场景来自动变换。比如如果某个场景用算法 A 效果较好,另外一种场景用算法 B 效果较好,线性融合的方式在这种情况下不能取得好的效果。为了解决这个问题,可以通过引入动态参数的机制,训练用户对推荐结果的评价、与系统的预测是否相符生成加权模型,动态的调整权重使得效果大幅提升。

2交叉融合法(blending)

交叉融合的思路是利用不同的训练集,在推荐结果中穿插不同推荐模型的结果,以确保结果的多样性。

交叉融合法的思路是 “各花入各眼”,不同算法的结果着眼点不同,能满足不同用户的需求,直接穿插在一起进行展示。这种融合方式适用于同时能够展示较多条结果的推荐场景,并且往往用于算法间区别较大,如分别基于用户长期兴趣和短期兴趣计算获得的结果。

3)瀑布融合法

瀑布型(Waterfall Model)融合方法采用了将多个模型串联的方法。每个推荐算法被视为一个过滤器,通过将不同粒度的过滤器前后衔接的方法来进行:

在瀑布型混合技术中,前一个推荐方法过滤的结果,将作为后一个推荐方法的候选集合输入,层层递进,候选结果在此过程中会被逐步遴选,最终得到一个量少质高的结果集合。这样设计通常用于存在大量候选集合的推荐场景上。

设计瀑布型混合系统中,通常会将运算速度快、区分度低的算法排在前列,逐步过渡为重量级的算法,让宝贵的运算资源集中在少量较高候选结果的运算上。在面对候选推荐对象(Item)数量庞大,而可曝光的推荐结果较少,要求精度较高、且运算时间有限的场景下,往往非常适用。

4)特征融合法

不同的原始数据质量,对推荐计算的结果有很大的影响。以用户兴趣模型为例,我们既可以从用户的实际购买行为中,挖掘出用户的 “显式” 兴趣,又可以用用户的点击行为中,挖掘用户 “隐式” 兴趣;另外从用户分类、人口统计学分析中,也可以推测用户偏好;如果有用户的社交网络,那么也可以了解周围用户对该用户兴趣的影响。

所以通过使用不同的数据来源,抽取不同的特征,输入到推荐模型中进行训练,然后将结果合并。这种思路能解决现实中经常遇到的数据缺失的问题,因为并非所有用户都有齐全的各类数据,例如有些用户就缺少交易信息,有些则没有社交关系数据等。通过特征融合的方法能确保模型不挑食,扩大适用面。

5)预测融合法

推荐算法也可以被视为一种 “预测算法”,即我们为每个用户来预测他接下来最有可能喜欢的商品。而预测融合法的思想是,我们可以对每个预测算法再进行一次预测,即不同的算法的预测结果,我们可以训练第二层的预测算法去再次进行预测,并生成最终的预测结果。

如下图所示,我们把各个推荐算法的预测结果作为特征,将用户对商品的反馈数据作为训练样本,形成了第二层预测模型的训练集合,具体流程如下:

图中的二层预测模型可以使用常用的分类算法,如 SVM、随机森林、较大熵等,但达观实践中,融合效果较好的是 GBDT(Gradient Boosting Decision Tree) 方法。

6)分类器 Boosting 思想

推荐问题有时也可以转化为模式分类(Pattern Classification)问题去看待,我们将候选集合是否值得推荐划分为几个不同的集合,然后通过设计分类器的方法去解决。

这样一来我们就可以用到分类算法中的 Boosting 思想,即将若干个弱分类器,组合成一个强分类器的方法。Boosting 的核心思想是每轮训练后对预测错误的样本赋以较大的权重,加入后续训练集合,也就是让学习算法在后续的训练集中对较难的判例进行强化学习,从而得到一个带权重的预测函数序列 h,预测效果好的预测函数权重较大,反之较小。

最终的预测函数 H 对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。算法的流程如下:

通过模型进行融合往往效果较好,但实现代价和计算开销也比较大。

推荐算法的多模型融合相关推荐

  1. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并自定义子分类器的权重(weights)、计算融合模型的混淆矩阵、可视化混淆矩阵

    sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并自定义子分类器的权重(weights).计算融合模型的混淆矩阵.可视化混淆矩阵 目 ...

  2. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)

    sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵.可视化混淆矩阵(confusion matrix) 目录

  3. sklearn使用投票器VotingClassifier算法构建多模型融合的硬投票器分类器(hard voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)

    sklearn使用投票器VotingClassifier算法构建多模型融合的硬投票器分类器(hard voting)并计算融合模型的混淆矩阵.可视化混淆矩阵(confusion matrix) 目录

  4. sklearn使用投票回归VotingRegressor算法构建多模型融合的投票回归模型、并自定义子回归器的权重(weights)、评估多模型融合的回归模型、评估R2、mse、rmse、mape

    sklearn使用投票回归VotingRegressor算法构建多模型融合的投票回归模型.并自定义子回归器的权重(weights).评估多模型融合的回归模型.评估R2.mse.rmse.mape 目录

  5. 【推荐算法】双塔模型介绍

    双塔模型的结构不仅在推荐领域的召回和粗排环节中被广泛采用:而且在其它领域,如文档检索.问答系统等都有它的应用场景. 我们常说的双塔模型的结构,并不是一个固定不变的网络,而是一种模型构造思路:即把模型分 ...

  6. 推荐算法(四)——经典模型 DeepFM 模型详解及代码实践

    目录 1 介绍 2 模型结构 3 实验结果 4 总结 5 代码实践 1 介绍 DeepFM 是华为诺亚方舟实验室在 2017 年提出的模型. 论文传送门: A Factorization-Machin ...

  7. 推荐算法之DeepCross模型

    前言 这算是Wide&Deep模型的一个补充吧,前面写了一篇文章推荐算法之Wide&Deep模型,本想着这两个模型合在一起写的,结果Deep&Cross模型都快写完了,断网了, ...

  8. 【推荐算法】FM模型:Factorization Machines

    1.线性回归 在介绍FM之前,我们先简单回顾以下线性回归. 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系.这种技术通常用于预测分析,时间序列模型以及发现变量之间 ...

  9. 推荐算法之召回模型:DSSM、YoutubeDNN

    1. DSSM 1.1 DSSM模型原理 DSSM(Deep Structured Semantic Model),由微软研究院提出,利用深度神经网络将文本表示为低维度的向量,应用于文本相似度匹配场景 ...

最新文章

  1. SqlServer判断表是否存在
  2. 安装discuz论坛mysqli解决方法
  3. 限定虚拟机可用的CPU利用率
  4. RabbitMQ延迟消息的极限是多少?
  5. mysql 输出参数 sql语句_MySQL: 详细的sql语句
  6. 动画编辑器和骨骼动画使用
  7. alter与alert区别
  8. 技术人员就不要当资金股东了
  9. 智商情商哪个重要_智商情商哪个更重要 辩论赛
  10. The Heads-Up Grid 让你的HTML页面具有辅助线网格功能
  11. 129、易燃气体的分级
  12. 手机必备应用:狐猴浏览器,一站式开启浏览器的所有用法
  13. 求勾股数元祖(java)
  14. 简单理解云桌面的模板,桌面池和虚拟机的概念
  15. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十三周题解(个人向仅供参考)
  16. POJ1008 玛雅历
  17. 微信证据以及数据恢复删除记录恢复交易恢复
  18. 【新手引导】Image 的渗透事件
  19. 生活啊,尽情虐待我吧
  20. mac pro系统升级导致的黑屏解决方案

热门文章

  1. traefik gateway api
  2. 整理不易的软件测试学习线路
  3. 微信视频号的10大引流技巧
  4. 19 kafka消息队列
  5. 数字 整除 互质 最大公约数 最小公倍数 判断技巧
  6. 微信小程序----性别选择,并实现数据渲染
  7. inb inw inl outb outw outl:端口操作
  8. 为RGB图像增加alpha通道(RGB -> RGBA)
  9. SpringMvc参数传递
  10. 《月亮与六便士》读后