Collaborative Filtering--【U2U2I】

Collaborative Filtering–【U2U2I】

个人笔记:部分图片内容和知识 直接来源 HERE

使用行为数据,利用集体智慧推荐

基于用户的-U2U2I:(Users to Users to Items?)

和你兴趣相投的人(例如可能是朋友、同学(老用户,已经有一定的数据记录他们的喜好))也喜欢

在这里插入图片描述

U1选择了对I1、I2感兴趣,通过记录中发现,U2也喜欢这样的,而U2和U4喜欢I4,所以猜测U1也喜欢I4,就会把I4推荐给了U1

操作步骤:

①:搜索相似的用户

在这里插入图片描述

Jaccard:没有考虑评分
余弦相似度:把每一行当作一个向量,分子是向量点积,分母是各自范数再算乘积,将缺失值认为是最不喜欢的0,而其实是用户没有遇见,不能代表他不喜欢
皮尔逊相关系数:缺失值的评分是 all points / num(items)
比如A:(4+5+1)/ 3 (评了三个)=3.3
再利用这个去算r。这里的x和y没有讲的很清楚是什么,可以看下边公式:

img

注: $I_u \cap I_v是项集,(表示他们共同存在评价的对象数量有几个);r_{u(v),i}是用户 u(v) 对这 i 的评分,\bar r_u(v)是用户u(v)平均评分 $

利用python实现s的过程:首先,ru(v),i是一个列向量,减去一个数值,还是列向量;将(r(u,i)-r(bar))转置成行矩阵,和后者列矩阵做点积;其次,下面两个范数也以此将每个因数的第一个矩阵转置成行矩阵再和自己做点积。一比,就出来了!

正负相似度意思是兴趣相同或者兴趣相悖。

②:计算u和新item相似度

在这里插入图片描述
在这里插入图片描述

法1 :直接平均法 首先得到的是A与B和C相似,然后直接利用平均数得到A→I5的喜欢程度是(3+5)/2
法2、加权平均法 在分子每个评分多乘上对应用户的相似度进行求和再除以目标用户(当前被进行分析的用户)和(相似度比较高的)用户之间相似度的和

计算出A对I其他全部的相似度,然后选取TOP n就是推荐列表了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JamePrin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值