推荐算法系列三:组合推荐算法
| 算法
评论 0 | 点赞 0 | 浏览 843

推荐算法全系列


推荐算法系列一:基于 内容的推荐算法

推荐算法系列二:协同过 滤算法

推荐算法系列三 :组合推荐算法

推荐算法系列四:用 户兴趣衰减模型


前言

本文是推荐算法系列第三篇:组合推荐算法。要看懂本文,需要先阅读前两篇算法《推荐算法系列一:基于内容的推荐算法》《推荐算法系列二:协同过滤算法》

组合推荐算法理论基础

组合推荐算法是为了弥补单一推荐算法的不足,将多种推荐算法进行混合,从而达到取长补短效果一种新算法。单独某种推荐算法不可能解决所有的问题,本课题所研究的基于内容的推荐算法和协同过滤算法均存在缺点,如果仅使用基于内容的推荐算法,那么推荐的结果将永远与用户现有的兴趣爱好有关,而用户的潜在兴趣将难以激发;如果仅使用协同过滤算法,虽然会挖掘用户潜在兴趣,提高推荐惊喜度,但是缺乏内容的准确推荐,而且当新系统上线时,会由于缺乏评分数据而难以运行推荐系统。所以,有必要将本课题的两种推荐算法结合起来。

算法的组合方式有多种,大体分为以下几类:

(1)加权型

加权型就是将不同算法的推荐结果进行加权混合。最简单的就是线性加权法,分别给基于内容的推荐结果和协同过滤算法结果赋予一定的权重,然后衡量此权重下的推荐质量,不断地去调整权重值来达到最佳状态。

(2)转换型

转换型很好理解,就是根据不同的场景,转换不同的推荐算法。在评分信息不足时,用基于内容的推荐算法,在评分信息较为充足时,转换成协同过滤算法。

(3)合并型

同时使用多种推荐算法,得出推荐结果,将结果合并给用户,为用户提供参考。

(4)特征组合型

特征组合型是将来自不同数据源的特征组合起来,然后将这个组合的结果给另一个推荐算法使用,以此产生推荐。这种方法的好处是降低了推荐系统对某些数据源的敏感度。

(5)瀑布型

这种组合方式是先用一种推荐算法得出推荐结果,这是一个较为粗略的推荐结果,然后用另一种推荐算法对这个推荐结果进行再筛选,得到最终的较为精确的推荐结果。

组合推荐算法实现

本课题的组合推荐算法使用线性加权法实现,因为第3章和第4章已经分别实现了基于内容的推荐算法和协同过滤算法,只需要将推荐结果进行加权混合即可。

但是考虑到系统难免会出现数据不足的问题,导致推荐结果不足,且考虑到用户体验,在资讯推荐系统中,有必要加入热点推荐算法,在推荐结果中保留一定数量的热点资讯,这样一来,既可以保证推荐数量,又可以提升用户体验。

由于热点推荐算法不是本课题的研究重点,且其实现过程比较简单,仅仅是查询热度较高的资讯,所以不再赘述其实现过程。

本课题的组合推荐算法对推荐结果的组合可以用公式描述如下:


上式中,CB为基于内容的推荐算法推荐结果集,CF为协同过滤算法推荐结果集,HOT为热点推荐算法结果集,分别是它们对应的权重,最终形成的推荐结果集为集合Result。设计组合推荐算法过程如下:

输入(INPUT):目标用户u,基于内容的推荐算法权重,协同过滤算法权重,热点推荐算法权重,推荐数量N。

输出(OUTPUT):推荐结果集合R。

运算流程(PROCESS):对于目标用户u,执行下面操作:(1)对u使用基于内容的推荐算法进行推荐,得到推荐结果集合CB。(2)对u使用协同过滤算法推荐,得到推荐结果集合CF。(3)对u使用热点推荐算法推荐,得到推荐结果集合HOT。(4)分别对集合CB、CF、HOT中的元素加权重,并将加权后的结果合并排序(5)对于合并后的结果,取前N项作为最终推荐结果集合R,并输出。

上述算法过程可用流程图描述如下:

本文作者:不是好驴
本文链接:https://www.baddonkey.cn/detail/42
版权声明:原创文章,允许转载,转载请注明出处

高谈阔论

留言列表