Programming Collective Intelligence笔记 - Making Recommendations

1.        Making Recommendations

1.1.       寻找相似用户

1.1.1.      Euclidean distance

在计算该值时,只考虑两个用户都进行了评分的项目。每一项作为一个坐标,然后算欧几里德距离。值越小越相似。

1.1.2.      Pearson Correlation

Person拟合就是以两个用户为坐标轴,把两个用户对某个东西的评论作为坐标上的XY值,然后求一条与所有点的距离都最短的直线。函数值在[-1,1],值越大越相似。

1.1.3.      余弦定理

在计算该值时,只考虑两个用户都进行了评分的项目。每一项作为一个坐标,然后通过余弦定理计算他们的夹角。

 

1.1.4.      Tanimoto coefficient

这里使用的是与余弦定理类似的计算方式,也是把两个用户的评论看作两个向量,做点积和求长度。

 

1.2.       物品推荐

假定用户U1和用户U2的相似度为S12,用户U2对物品O的评价为R2,以此类推。那么物品O的推荐值计算公式为(S12*R2+S13*R3+…)/(S12+S13+…),除法的目的是为了归一化,因为不是所有的物品都有相同的用户进行了评价。

 

1.3.       寻找形似物品

采用寻找相似用户的方法,我们可以找到相似的物品,不过此时的数据是以物品为键,用户的评价为值。

 

1.4.       大数据量时的物品推荐

当我们拥有很多物品时,上面的物品推荐方式效率比较低,因为每计算一个物品都要遍历所有的用户和物品记录。

一个改进的方式就是先建立一个物品的相似度表。假定物品O1和物品O3的相似度为S13,用户U1对物品O1的评价为R1,物品O2O3的相似度为S23,用户U1对物品O2的评价为R2。那么物品R3的推荐值为(S13*R1+S23+R2)/(S13+S23)。因为用户评论过的内容远少于没评论过的内容,所以,分子部分的计算比较少。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值