多模型融合推荐算法

常见的多模型融合算法

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

1. 线性加权融合法

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

是给用户(user)推荐商品(item)的得分, 是算法K的权重,是算法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对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。算法的流程如下:(参考自treeBoost论文)

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

原文地址:https://www.cnblogs.com/lvpengbo/p/8975581.html

时间: 2024-08-02 02:21:40

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

十大经典预测算法六---集成学习(模型融合算法)

模型融合算法概念 它不是具体的指某一个算法,而是一种把多个弱模型融合合并在一起变成一个强模型的思想 用模型融合算法的原因 1.单个模型容易过拟合,多个模型融合可以提高范化能力 2.单个模型预测能力不高,多个模型往往能提高预测能力 3.对于数据集过大或过小,可以分别进行划分和有放回的操作,产生不同的数据子集,然后通过数据子集训练不同的分类模型,最终合并成一个大的分类器 4.对于多个异构的特征集的时候,很难进行融合,可以考虑每个数据集构建一个分类模型,然后将多个模型融合 5.模型融合算法成功的关键在

从分类,排序,top-k多个方面对推荐算法稳定性的评价

介绍 论文名: "classification, ranking, and top-k stability of recommendation algorithms". 本文讲述比较推荐系统在三种情况下, 推荐稳定性情况. 与常规准确率比较的方式不同, 本文从另一个角度, 即推荐算法稳定性方面进行比较. 详细 参与比较的推荐算法 包括: baseline 传统基于用户 传统基于物品 oneSlope svd 比较方式 比较的过程分为两个阶段: 阶段一, 将原始数据分为两个部分, 一部分

Mahout推荐算法基础

转载自(http://www.geek521.com/?p=1423) Mahout推荐算法分为以下几大类 GenericUserBasedRecommender 算法: 1.基于用户的相似度 2.相近的用户定义与数量 特点: 1.易于理解 2.用户数较少时计算速度快 GenericItemBasedRecommender 算法: 1.基于item的相似度 特点: 1.item较少时就算速度更快 2.当item的外部概念易于理解和获得是非常有用 SlopeOneRecommender(itemB

常见推荐算法科普

推荐算法 目前主流的推荐算法主要包含内容关联算法, 协同过滤算法. 内容关联算法(Content-Based) CB算法的原理是将一个item的基本属性, 内容等信息提取出来, 抽成一个taglist, 为每个tag赋一个权重. 剩下的事情就跟一个搜索引擎非常类似了, 将所有item对应的taglist做一下倒排转换, 放到倒排索引服务器中存储起来. 当要对某一个item做相关推荐的时候, 将这个item对应的taglist拿出来拼成一个类似搜索系统中的query表达式, 再将召回的结果做一下排

融合非负矩阵分解和图全变分的歌曲推荐算法

摘要: Kirell Benzi, Vassilis Kalofolias, Xavier Bresson and Pierre Vandergheynst Signal Processing Laboratory 2 (LTS2), Swiss Federal Institute of Technology (EPFL) Kirell Benzi, Vassilis Kalofolias, Xavier Bresson and Pierre Vandergheynst Signal Proce

阿里天池大数据之移动推荐算法大赛总结及代码全公布

移动推荐算法比赛已经结束了一个多星期了,现在写一篇文章来回顾一下自己的参赛历程. 首先,对不了解这个比赛的同学们介绍一下这个比赛(引用自官网): 赛题简介 2014年是阿里巴巴集团移动电商业务快速发展的一年,例如2014双11大促中移动端成交占比达到42.6%,超过240亿元.相比PC时代,移动端网络的访问是随时随地的,具有更丰富的场景数据,比如用户的位置信息.用户访问的时间规律等. 本次大赛以阿里巴巴移动电商平台的真实用户-商品行为数据为基础,同时提供移动时代特有的位置信息,而参赛队伍则需要通

【天池竞赛系列】阿里移动推荐算法思路解析

赛题地址:http://tianchi.aliyun.com/competition/information.htm?raceId=1 登录就可以下载数据 从4月到7月,学习了非常多也收获了非常多 题目就不多说了.一句话表达就是依据过去一个月的行为预測14年12月19号的购买情况. 看题目貌似推荐算法.自然就有队伍想到用协同过滤什么的.当然效果不好. 首先是特征的问题,然后是这是基于行为的相似,不太类似用户和商品类似的ItemCF.UserCF,还有非常多其它的原因.比方我买过一部手机,难道还要

微博推荐算法学习(Weibo Recommend Algolrithm)

原文:http://hijiangtao.github.io/2014/10/06/WeiboRecommendAlgorithm/ 基础及关联算法 作用:为微博推荐挖掘必要的基础资源.解决推荐时的通用技术问题.完成必要的数据分析.为推荐业务提供指导. 分词技术与核心词提取:是微博内容推荐的基础,用于将微博内容转化为结构化向量,包括词语切分.词语信息标注.内容核心词/实体词提取.语义依存分析等. 分类与anti-spam:用于微博内容推荐候选的分析,包含微博内容分类和营销广告/色情类微博识别:内

天猫推荐算法大赛总结

原文:http://closure.blog.ustc.edu.cn/?p=117 阿里这次天猫推荐算法大赛题目的核心是给定用户对品牌的四个月的操作记录,预测下个月哪些用户对哪些品牌产生购买行为,这可以抽象为一个01分类问题,更确切的可以抽象为一个点击率预估(CTR).与其说这是一次比赛,我觉得更多的是一次认识,一次对大数据价值的深刻认识,在分享自己的体会之前,我真心的感谢阿里,给我们提供这样一种机会,让我们在学校里可以接触真实的数据业务需求,让所学的理论可以有一次真实的实践机会. 关于这次比赛