推荐系统模型

这篇博客介绍了推荐系统模型,重点讲解了基于用户和物品的协同过滤算法。基于用户的推荐通过计算用户之间的相似度进行推荐,而基于物品的推荐则是利用物品之间的关联性。文章还涉及了ALS算法的原理和解决过拟合的方法,并提到了推荐系统的冷启动问题及其解决方案。
摘要由CSDN通过智能技术生成

实现推荐系统模型,内在思想是协同过滤的思想。即利用大量已有的用户的偏好数据,来估计用户对其未接触过的物品的喜好程度。所以协同过滤思想,实际上就是计算相似度。
计算相似度的常用手段(相关系数,向量之间的夹角余弦,欧式距离)
推荐系统的推荐方式有两种

基于用户的推荐

核心是计算出用户和用户之间的相似度。然后完成推荐
对于基于用户相似性的推荐,用简单的一个词表述,那就是“志趣相投”。事实也是如此。
比如说你想去看一个电影,但是不知道这个电影是否符合你的口味,那怎么办呢?从网上找介绍和看预告短片固然是一个好办法,但是对于电影能否真实符合您的偏好却不能提供更加详细准确的信息。这时最好的办法可能就是这样:
小王:哥们,我想去看看这个电影,你不是看了吗,怎么样?
小张:不怎地,陪女朋友去看的,她看得津津有味,我看了一小半就玩手机去了。小王:那最近有什么好看的电影吗?
小张:你去看《雷霆XX》吧,我看了不错,估计你也喜欢。
小王:好的。
这是一段日常生活中经常发生的对话,也是基于用户的协同过滤算法的基础。

小王和小张是好哥们。作为好哥们,其也应具有相同的爱好。那么在此基础上相互推荐自己喜爱的东西给对方那必然是合乎情理,有理由相信被推荐者也能够较好地享受到被推荐物品所带来的快乐和满足感。
下图展示了基于用户的协同过滤算法的表现形式。
在这里插入图片描述
从图上可以看到,想向用户3推荐一个商品,那么如何选择这个商品是一个很大的问题。在已有信息中,用户3已经选择了物品1和物品5,用户2比较偏向于选择物品2和物品4,而用户1选择了物品1、物品4以及物品5。

根据读者的理性思维,不用更多地分析可以看到,用户1和用户3在选择偏好上更加相似。那么完全有理由相信用户1和用户3都选择了相同的物品1和物品5,那么将物品3向用户3推荐也是完全合理的。

这个就是基于用户的协同过滤算法做的推荐。用特定的计算方法扫描和指定目标相同的已有用户,根据给定的相似度对用户进行相似度计算,选择最高得分的用户并根据其已有的信息作为推荐结果从而反馈给用户。这种推荐算法在计算结果上较为简单易懂,具有很高的实践应用价值。

基于物品的推荐

在基于物品的推荐算法中,同样可以使用一个词来形容整个算法的原理。那就是“物以类聚”。

这次小张想给他女朋友买个礼物。
小张:马上情人节快到了,我想给我女朋友买个礼物,但是不知道买什么,上次买了个赛车模型的差点被她骂死。
小王:哦?那你真是的,也不买点她喜欢的东西。她平时喜欢什么啊?
小张:她平时比较喜欢看动画片,特别是《机器猫》,没事就看几集。
小王:那我建议你给她买套机器猫的模型套装,绝对能让她喜欢。
小张:好主意,我试试。
从对话中可以感受到,小张想给自己的女朋友买个礼物从而向小王咨询。
对于不熟悉的用户,在缺少特定用户信息的情况下,根据用户已有的偏好数据去推荐一个未知物品是合理的。这就是基于物品的推荐算法。


生产环境下,建立推荐系统模型,首先需要有:用户-物品矩阵数据
但是生产环境下的用户偏好矩阵往往是稀疏的。
如果直接对稀疏矩阵建模,结果肯定是不准确的,针对空缺数据,不能简单的置为0.我们需要通过某种算法,将空缺数据预测出来。然后计算相似度

  • 举个简单的例子,假设我们有如下用户对电影的评级数据:
    Tom, Star Wars, 5
    Jane, Titanic, 4
    Bill, Batman, 3
    Jane, St
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值