推荐系统中经常会用到商品之间的相似度这一数据,业界中最常用的算法莫过于CF算法了,根据用户行为来计算商品之间的相似度,我们可以用一个表格来表述这种算法的原理:
Item1 | Item2 | Item3 | |
User1 | W11 | W12 | W13 |
User2 | W21 | W22 | W23 |
User3 | W31 | W32 | W33 |
在以上表格中Itemi表示的第i中商品,Useri表示第i个用户,而Wij则表示的是用户i对商品j的“评分”,此评分可以是根据行为设定的权重,或者是用户的真实打分。
如果要计算Item1和Item2之间的相似度
1.用户对Item1和Item2的行为可以看作两个一维的向量(w11,w21.w31),(w12,w22,w32)。
2.问题已转换为计算两个向量的相似度,我们可以用欧式距离或者Cos值来计算两个向量间的相似度。
代码实现见我的githup:https://github.com/Yancey1989/Algorithms/blob/master/python/cf.py
我的个人博客 http://www.yancey.info/?p=19