协同过滤推荐算法(二)对用户评分矩阵进行处理

这里写图片描述

 

一、基于物品的协同过滤

步骤:

1、构建用户评分矩阵

这里写图片描述

2、创建一个nxn的物品相似度矩阵

该物品相似度是通过观察所有对两个物品打分的用户来度量的。(计算两物品或两用户相似度的时候,需要用到用户评分矩阵和用户评分矩阵的转置进行处理)

这里写图片描述

通过计算每个物品i和物品j的相似性值,得到一个n*n的相似性矩阵,矩阵的n(i,j)取值为物品i与j的相似值,相似矩阵为对称矩阵。

这里写图片描述

相似度算法可以采用余弦距离、欧式距离

3、预测

公式   A对Y的喜好=A对X的喜好*X与Y的相似度

现在已经得到 用户-物品矩阵R 和 物品相似度矩阵S,现在需要预测的用户对物品的得分矩阵P

归一化处理

这里通过用户i对所有物品的评分作为权重,和物品j中的物品相似度乘积加和,从而得到用户i对物品j的评分预测P(i,j)

其中为了将评分归一化成[1,5],需要除以物品j的相似度加和,即:

从而得到预测矩阵P

评价指标选用均方根误差 (RMSE)

二、基于用户的协同过滤

步骤:
1、构建用户-物品矩阵,和基于物品的是一样的
2、构建用户相似度矩阵
对于用户-产品协同过滤,用户之间的相似性值是通过观察所有同时被两个用户打分的产品来度量的。

这里写图片描述

通过计算每一个i用户与j用户之间的相似性值,得到一个m*m的相似度矩阵,矩阵的n(i,j)的取值为i与j的相似值

这里写图片描述

相似度算法采用余弦距离、欧氏距离等

3、预测
现在已经得到 用户相似度矩阵S和 用户-物品矩阵R ,现在需要预测的用户对物品的得分矩阵P

这里写图片描述

这里通过用户i对所有用户的相似度,与用户-物品矩阵j的所有用户的评分乘积并加和得到用户i对物品j的评分预测P(i,j)

归一化处理

为了物品j的所有用户的评分的一致可比性,这里需要对每个用户评分做归一化处理。比如某些用户可能会倾向于对所有的电影,总是给予高或低评分。这些用户提供的评分的相对差比绝对评分值更重要。举个例子:假设,用户k对他最喜欢的电影打4星,而对所有其他的好电影打3星。现在假设另一个用户t对他/她喜欢的电影打5星,而对他/她感到无聊的电影打3星。那么这两个用户可能品味非常相似,但对打分系统区别对待。

其中为了将评分归一化成[1,5],需要除以用户i的相似度加和,即:

评价指标选用均方根误差 (RMSE)

 

转载请注明出处,原文地址:https://www.baidu.com/link?url=abehxUe2yzjWPN1pET60BD4szI5ziFvXEeHJVxB2KR1R1CKlvhO3d6y5MCHjMUpVvPsfEJBJEo5S5A0_A_gO2y4rMBkjz-m5brVfPhnPt-G&wd=&eqid=ad2f0e7a00007cef000000045cc40c97

 

 

 

 

 

  • 7
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值