加入收藏 | 设为首页 | 会员中心 | 我要投稿 广西网 (https://www.guangxiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

发布时间:2020-03-20 01:29:30 所属栏目:创业 来源:做站长
导读:产品经理要不要懂技术?要的!本系列文章将从最简单的概念开始,逐步讲解推荐系统的发展历程和最新实践。以产品经理的视角,阐述推荐系统涉及的算法,技术和架构。本章是第二章,将系统性地通过图文的方式介绍协同过滤算法。 我有个兄弟,是抖音的点赞狂魔

其中,用户矩阵部分代表着每个用户的偏好在一个二维隐语义空间上的映射。同样地,物品矩阵代表着每本图书的特性在一个二维隐语义空间上的映射。这两个矩阵也就是模型的结果。这样,我们训练模型的时候,就只需要训练用户矩阵中的8个参数和物品矩阵中的8个参数即可。大大减少了计算量。

模型训练的过程,简单地说,就是通过最小二乘法,不断将用户评分数据迭代入矩阵中计算,直到把均方误差优化到最小。上图的结果是我通过Spark的ML库ALS模块直接计算的。

算法的具体目标函数,损失函数和梯度等,详述则涉及很多机器学习知识点,这里就不作介绍了。技术方面有很多解读文章,需要进一步理解的同学,可以搜索相关文章阅读。

(3)预测决策

通过模型训练,我们得到用户矩阵Q和物品矩阵P后,全部用户对全部图书的评分预测可以通过R = PQ来获得。如上图中,用户A的向量(1.40,-1.18)乘以物品2的向量(2.19,0.73)则可得用户A对物品1的评分预测为:1.40×(-1.18)+2.19×0.73=2.21。

对所有的用户和物品都执行相同操作,可以得到全部用户对全部物品的评分。如下图右侧矩阵:

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

得到全部的评分预测后,我们就可以对每本图书进行择优推荐。需要注意的是,用户矩阵和物品矩阵的乘积,得到的评分预估值,与用户的实际评分不是全等关系,而是近似相等的关系。如上图中两个矩阵绿色部分,用户实际评分和预估评分都是近似的,有一定的误差。

在现在的实际应用中,SVD一般作为协同过滤的离线召回使用。一般地,将需要给用户推荐的物品提前离线计算好,存在HBASE中,在用户有请求的时候,直接读取推荐的结果,放入初排阶段的召回集中。

总结

(1)协同过滤优点

协同推荐是应用最广泛的推荐算法。基于内容推荐的算法,需要给物品打上标签和给用户建用户画像,才能实现匹配推荐。相比之下,协同过滤简单了许多。它是仅使用用户行为的进行推荐,我们不需要对物品或信息进行完整的标签化分析,避免了一些人可能难以量化描述的概念的标签构建,又可以很好地发现用户的潜在兴趣偏好。

(2)协同过滤缺点

因为协同过滤依赖用户的历史数据,面对新的用户或者新的物品,在开始的时候没有数据或数据较少时,协同过滤算法无法做出推荐。需要等数据积累,或者其他方案进行弥补缺陷,也就是常说的冷启动的问题。

(3)机器学习领域,当精确的方式不行难以计算或者速度太慢的时候,往往会选择牺牲一点精度,达到差不多但非常快速的效果。SVD就是其中的一个例子。

(4)没有完美的算法,只有最合适的算法。现在的实践,也不是单纯用协同过滤来做推荐,而是将他们作为其中的一个或几个召回策略来使用。

 

本文素材来自互联网

(编辑:广西网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!