作者:冯向博
微信:supermvn
介绍:推荐系统学习整理
目录
一. 前面的话
二. 原始用户物品评分数据
三. 物品相似度计算过程
四. 推荐列表计算
五. 总结一下
六. 练习
一. 前面的话
根据上篇文中反馈,基于物品的协同过滤的原理在上篇中描述对部分读者理解起来有一定的困难,我重新梳理了下,输出了用图的形式表示物品相似及推荐算法的推文。
主要拆解为以下几个数据的处理过程
- 用户物品(购买、点击、收藏、付款)评分数据
- 用户物品评分矩阵
- 物品相似度矩阵
- 推荐物品矩阵
二. 原始用户物品评分数据
-
usre_id
评分用户ID -
item_id
评分的物品ID -
rating
用户对物品的评分
这里评分就是根据用户的行为数据,对这个物品进行一个打分数据处理,我们这里只使用其他其他数据部门,提供的评分数据。
根据我们的数据处理过程,我们需要将这个打分数据处理成用户物品评分矩阵,处理过程是将同一个用户 id
作为 Key
,对所有物品的 id
和 rating
作为 value
记录,当同一个物品id有多个打分,就将这个打分求和。构成用户物品评分矩阵
三. 物品相似度计算过程
这里的物品相似度计算我们需要一个公式
-
|Ni|
是喜欢物品i
的用户数 -
|Nj|
是喜欢物品j
的用户数 -
Wij
是物品i
与j
相似度
- 这里需要根据用户物品评分矩阵计算
Ni
,我们在遍历用户物品评分矩阵的时候会记录物品i
的用户数Ni
。 - 同时需要构建一个物品两两共现矩阵,记录每个用户对物品的打分记录数。然后将所有用户的物品两两共现矩阵求和得到
Cij
。
依据 N
和 C
就计算出物品相似矩阵
四. 推荐列表计算
推荐列表计算,需要使用物品评分矩阵和相似度矩阵来计算
这里就是涉及一个矩阵相乘计算。
最后去掉用户评分矩阵中的数据,剩余的就是推荐的物品集合。
五. 总结一下
- 总的物品推荐,图形表示出来。
- 物品相似度过程,图形化表示。
六. 练习
- 对比上一篇的文章,这篇图形表示算法都可以在代码中找到。
- 试着用图形绘制物品推荐过程,掌握之。