推荐系统|基于用户的协同过滤算法

本文介绍了协同过滤算法如何通过分析用户对电商网站上商品的评价和行为,如点赞和踩,计算用户间相似度,从而为目标用户推荐最可能感兴趣但未购买的商品。使用了余弦相似度和皮尔逊相关系数来衡量用户兴趣,同时考虑了物品平均分以减小偏见影响。
摘要由CSDN通过智能技术生成

协同过滤就是是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出用户感兴趣的物品。基于用户的协同过滤算法简而言之就是找到与目标用户兴趣相似的用户集合,再从用户集合中过滤掉目标用户不感兴趣的物品(比如已经买过的物品),推荐目标用户最可能感兴趣且没有买过的物品。

以电商平台为例

1、商品库中有小说、游戏机、杂志、电视机。

2、目标用户浏览电商网站,推荐系统根据全体用户对其他商品(小说、杂志、电视机)的历史评价数据、“点赞”、“踩”等信息来预测用户是否喜欢游戏机。

3、将有向图转为矩阵,用户作为行坐标,物品作为列坐标,“点赞”和“踩”的用户数据转换为矩阵中的值,其中“点赞”为1,“踩”为-1,没有数据置为0。

计算用户相似度

(1)余弦相似度

sim(i,j)=cos(i,j)=\frac{ i\cdot·j}{||i|| \cdot ||j||}

(2)皮尔逊相关系数

sim(i,j)=\frac{\sum_{ p\varepsilon P}(R_{i,p}-\bar{R_{i}})(R_{j,p}-\bar{R_{j}})}{\sqrt{\sum_{ p\varepsilon P}(R_{i,p}-\bar{R_{i}})^{2}}\sqrt{\sum_{ p\varepsilon P}(R_{j,p}-\bar{R_{j}})^{2}}}

其中,R_{i,p}表示用户i对物品p的评分,\bar{R_{_{i}}}表示用户i对所有物品的平均评分,P表示所有物品的集合。

可以通过引入物品的平均分的方式,减少物品评分偏置对结果的影响:

sim(i,j)=\frac{\sum_{ p\varepsilon P}(R_{i,p}-\bar{R_{p}})(R_{j,p}-\bar{R_{p}})}{\sqrt{\sum_{ p\varepsilon P}(R_{i,p}-\bar{R_{p}})^{2}}\sqrt{\sum_{ p\varepsilon P}(R_{j,p}-\bar{R_{p}})^{2}}}

其中,\bar{R_{p}}表示物品p得到所有评分的平均值。

获得相似用户集合之后,利用用户相似度和相似用户的评价的加权平均获得目标用户的评价预测:

R_{u,p}=\frac{\sum_{s\varepsilon S} (w_{_{u,s}}\cdot R_{s,p})}{\sum_{s\varepsilon S} w_{_{u,s}}}

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值