推荐系统系列——经典推荐算法

同步读书之《菜根谭》

5、闻逆耳言,怀拂心事

耳中常闻逆耳之言,心中常有拂心之事,才是进德修行的砥石。若言言悦耳,事事快心,便把此生埋在鸩毒中矣。
砥石:磨刀石。
鸩(zhèn)毒:毒酒。

6、和气喜神,天人一理

疾风怒雨,禽鸟戚戚;霁日光风,草木欣欣。课件天地不可一日无和气,人心不可一日无喜神。
喜神:欣喜乐观的心情。

7、真味是淡,至人如常

𬪩(nóng)肥辛甘非真味,真味只是淡;
神奇卓异非至人,至人只是常。
𬪩(nóng)肥辛甘:烈酒、肥肉、辛辣、甘甜

8、闲时吃紧,忙时悠闲

天地寂然不动,而气机无息稍停;日月昼夜奔驰,而贞明万古不易。故君子闲时要有吃紧的心思,忙处要有悠闲的趣味。

经典推荐算法

1 基于统计学的推荐

  基于统计学的推荐是基于假设“一个用户很可能喜欢与其相似用户所喜欢的物品”。所以该方法需要为每一个用户建立一个记录该用户的基本信息以及与物品进行交互的记录的用户画像。当为一个用户进行个性化推荐时,根据与该用户类似用户对物品的打分进行推荐排序,然后选取前K个物品推荐给用户。
  该方法因其简便被广泛使用,但效果有限,所以不再被单独使用,而是作为一种常识融入到后续的方法之中。

2 基于内容的推荐

  基于内容的推荐系统根据对项目的描述和用户感兴趣的配置文件向用户推荐项目[7]。它基于假设“一个用户可能会喜欢他之前喜欢相类似的物品”。所以该方法会基于物品内容对用户进行画像,推荐给用户类似之前喜欢的物品。所以它的过程一般包括:
1、 物品表示。为每一个物品抽取一定的特征代表该物品。
2、 用户画像。利用用户与物品进行交互的序列提取出用户喜好物品的特征,从而代表该用户的喜好画像。
3、 生成推荐。将候选物品通过第一步提取相关特征表示,然后通过第二步生成的用户画像对候选物品特征进行排序,提取前K名进行推荐。
  该方法存在一些缺陷。一方面物品特征的提取和用户画像的获取较为复杂困难,难以达到理想的效果。而且该方法使得用户无法获取历史信息中没出现但却具有潜在兴趣的物品。另外该方法泛化性不佳,难以推广到不同领域。

3 基于协同过滤的推荐

  协同过滤的核心思想就是利用用户或者物品之间的相关性来对候选物品进行排序最后生成推荐物品列表,前者被称为基于用户的方法,后者称为基于物品的方法。

3.1 基于用户的方法

  基于用户的方法最早出现[8],它采用的假设类似于基于统计学的推荐的假设“一个用户很可能喜欢与其相似用户所喜欢的物品”。不过其相似用户的标准不一样。统计学中相似用户是通过用户画像寻找得到,而基于用户的方法却是从用户历史上与物品的交互得到的,比如说用户对物品的打分评价等。
  它第一步是进行近邻搜索,将每个用户的打分作为一个行向量特征,计算其与其他用户的相似度,该相似度的衡量指标也有很多,比如余弦相似度、皮尔森相关系数等。第二步就是利用得到的相似度特征进行推荐,常见的有Top-K推荐和关联规则推荐。Top-K推荐是指从与目标用户相似度最大的前K个用户中找寻出现频率最高且目标用户尚未接触的物品。关联规则推荐指的是对用户与物品的交互记录进行关联规则挖掘,然后用挖掘出的规则以及目标用户的历史记录进行推荐。
  关联规则挖掘首先被用来发现购物篮数据事务中项目之间的有趣联系,以便向人们推荐相关的商品。其中Apriori算法是经典的关联规则挖掘算法,它基于两个核心理论: 频繁项集的子集是频繁项集; 非频繁项集的超集是非频繁项集。其核心思想如下图1所示[9]:
在这里插入图片描述
图3.1 Apriori算法伪代码
  即首先,找出频繁1项集的集合,记作L1,再对L1进行连接和剪枝得到L2,经过同样的步骤得到L3,如此循环下去,直到不能找到频繁k项集。可以看到每次寻找频繁集都得遍历一次数据库。最后根据最小置信度规则,得到所有的频繁项集。
  基于用户的方法在数据集较为丰富的情况下,能够获得较高的准确率。但其缺点在于数据量大时对于用户的排序将变得较为困难。而且可扩展性较差,加入新的用户时,由于数据稀疏无法进行准确的计算与推荐。

3.2 基于物品的方法

  基于物品的方法就能够很好地避免因数据集的增加导致的计算复杂度大大增加的缺点[10]。其基于的假设类似于基于内容的推荐的假设“一个用户可能会喜欢他之前喜欢相类似的物品”。但是前者相似物品的标准不再是通过用户物品画像来计算的,而是通过用户对物品的打分记录来计算的。
  基于物品的方法第一步也是进行近邻搜索,将每个物品看成一个列向量,然后计算物品之间的相似度。获得前K个相似度最高的物品,可以直接将其推荐给用户,也可以根据相似度信息预测目标用户对候选物品进行打分,最后通过打分结果进行推荐。
  基于物品的方法计算简单,实时性能够得到保障。但是由于信息缺乏,精确度往往比不上基于用户的方法。

3.3 基于模型的方法

  基于用户的方法和基于物品的方法都无法克服数据稀疏带来的问题,也无法解决诸如冷启动和实时性问题。所以逐渐发展出基于模型的方法,其基本思想就是利用数据集训练一个模型,再用模型预测目标用户对候选物品的喜爱程度,从而进行合理的推荐。
  其中基于深度神经网络的模型备受青睐,它具备非线性表达能力,因而能够发掘更多隐藏信息;而且结构灵活多变,能够适用于各种情形。深度神经网络可以通过各类激活函数学习非线性的数据表示,其中基于递归神经网络(RNN)模型的方法能够很好地保存时间序列信息;基于卷积神经网络(CNN)模型的方法能够很好地提取本地特征,捕获更多的上下文影响。而更为先进的transformer和BERT网络模型也都逐渐应用于推荐系统,极大地促进了推荐系统的发展。
  基于模型的方法能够对于目标进行快速的预测,具有很好的实时性。而且由于训练模型时可以离线大数据量进行训练,因而精确度也能得到有效的保障。但是对于用户新增的信息数据如何进一步增量式地提升模型效果仍然亟待解决,而且对于数据稀疏与冷启动等问题也没有得到很好的解决。

4 混合推荐

  混合推荐早期主要是指融合多种不同特征进行推荐,后来逐渐演变为混合一种或几种方法进行的推荐,类似于机器学习中的集成学习算法。集成学习能够博采众长,避免各类推荐算法的缺点,特别是在解决数据稀疏性和冷启动问题方面取得了不错的效果,但是集成不恰当也会造成冗余,提升算法的复杂度。

参考文献

[9] Agrawal R,Srikant R. Fast algorithms for mining association rules[C]/ /Proc of International Conference on Very Large Databases.1994: 487-499.
[10] B. Sarwar, G. Karypis, J. Konstan, J. Riedl, “Item-Based Collaborative Filtering Recommendation Algorithms”, Proceeding of the 10th international conference on World Wide Web, WWW 2001.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李霁明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值