您的位置:首页 > 其它

Programming Collective Intelligence笔记 - Making Recommendations

2007-12-13 22:18 441 查看
1. Making Recommendations
1.1. 寻找相似用户
1.1.1. Euclidean distance
在计算该值时,只考虑两个用户都进行了评分的项目。每一项作为一个坐标,然后算欧几里德距离。值越小越相似。
1.1.2. Pearson Correlation
Person拟合就是以两个用户为坐标轴,把两个用户对某个东西的评论作为坐标上的X和Y值,然后求一条与所有点的距离都最短的直线。函数值在[-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,物品O2和O3的相似度为S23,用户U1对物品O2的评价为R2。那么物品R3的推荐值为(S13*R1+S23+R2)/(S13+S23)。因为用户评论过的内容远少于没评论过的内容,所以,分子部分的计算比较少。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: