推荐系统的分类:
- 基于协同过滤(Collaborative Filtering)的推荐系统
(1)基于数据统计(记忆)的CF(Neighborhood-Based)
(2)基于模型(参数学习)的CF(Model-Based) - 基于内容(Content-Based)的推荐系统
- 混合推荐系统(CF+Content-Based)
推荐方法:使用行为数据,利用集体智慧进行推荐
- 基于用户的协同过滤(U2U2I):和你兴趣相似的人也喜欢XXX
如图所示,用户1,2,4,都喜欢Item1和Item2,所以称他们为兴趣相同的用户,又因为用户2和用户4都喜欢Item4,所以把Item4推荐给用户1。
- 基于物品的协同过滤(U2I2I):喜欢这个物品的人也喜欢XXX
如图所示,喜欢Item2的用户也喜欢Item3,因为用户1喜欢Item1,所以推荐Item3给用户1(红线)。
举例:
I1 | I2 | I3 | I4 | I5 | I6 | I7 | |
A | 4 |
| 5 | 1 | |||
B | 5 | 5 | 4 | ||||
C | 2 | 4 | 5 | ||||
D | 3 | 3 |
步骤1:搜索最相似用户(A用户表示待推荐用户)
对于相似度的计算方法有很多可参照相似度计算方法,这里采用三种相似度计算的方法:
(1)Jaccard相似度(缺点:没有考虑评分)
sim(A,B) = 1/5 sim(A,C) = 2/4 = 1/2
sim(A,B) < sim(A,C)
(2)余弦相似度(缺点:缺失值默认为0)
易得sim(A,B) > sim(A,C)。
(3)皮尔逊相似度(默认缺失值为平均值)
sim(A,B) = 0.09 sim(A,C) = -0.56(负号表示推荐的意义不大)
sim(A,B) > sim(A,C)
步骤2:计算用户user和item的相似度
方法1:直接平均 sim(A,I5) = (3+5)/2 = 4
方法2:加权平均 sim(A,I5) = (3x0.38 + 5*0.32)/(0.38+0.32)