一、简述
在数据大爆炸的时代,推荐系统能够在海量数据中,根据分析用户的历史行为,给用户历史数据建模,帮助用户发现自己感兴趣的信息,避免了对海量数据的搜索,可以作为搜索的补充。
二、推荐系统应用到的技术
1.数据处理
主要有做有效数据的提取,采用的方法有相似度计算,抽样,降维和去噪等。
2.数据分析
基于邻域的算法
2.2.1 基于用户的协同过滤算法
该算法的核心思想是找到和目标用户A兴趣相似的用户集合Set,从Set中找到用户感兴趣的且A没有听说过的物品推荐给目标用户A。
用户A和用户B的兴趣相似度算法:
相似度算法:
![](https://img.haomeiwen.com/i3796264/d0df7efe08389fa7.png)
其中:
Set(A),Set(B) 分别表示A和B感兴趣的物品集合;
Count(Set(A))表示结合Set(A)的总数;
余弦相似度算法:
![](https://img.haomeiwen.com/i3796264/b7853f3c50ce2c90.png)
由于绝大部分情况下,任意两个用户之前的相似度为0,毕竟很多用户之间并不会对同一个物品感兴趣,如果两两计算将耗费大量的性能。
因此一般采取物品-->用户的映射,即保存每个物品的感兴趣的用户,生成矩阵M:
![](https://img.haomeiwen.com/i3796264/cae017b306a7303a.png)
举例:
用户有A、B、C、D,对应的物品有a、b、c、d、e;
用户-->物品关系表
用户 | 感兴趣物品 |
---|---|
A | a |
A | b |
A | d |
B | a |
B | c |
B | d |
C | b |
C | d |
C | e |
D | c |
D | d |
D | e |
物品-->用户关系表
物品 | 用户 |
---|---|
a | A |
a | B |
b | A |
b | C |
c | B |
c | D |
d | A |
d | B |
d | C |
d | D |
e | C |
e | D |
则生成的矩阵M为:
![](https://img.haomeiwen.com/i3796264/95a30957c6fc4539.png)
M[A][B]表示用户A和用户B有2个相同的感兴趣商品。
那么用户U对物品p的感兴趣度为:
![](https://img.haomeiwen.com/i3796264/5c7bebd9130627be.png)
说明:
similar(U,k):表示和用户U兴趣最接近的top k个用户;
interests_users(i):表示对物品i感兴趣的用户集合;
recommend(i,p):用户i对物品p的感兴趣程度,相当于权值,如十分感兴趣为2,感兴趣为1,不感兴趣为0,讨厌为-1.
计算f_interest(A,c)的值为,假如取k=3,recommend(i,p)=1,即都为感兴趣:
![](https://img.haomeiwen.com/i3796264/a4e832aec110209e.png)
计算f_interest(D,a)
![](https://img.haomeiwen.com/i3796264/d82a9313e7613c3b.png)
基于用户的协同过滤算法的不足:
当用户量越来越大时,无论在时间复杂度和空间复杂度上,构建M矩阵越来越难。
2.2.1 基于物品的协同过滤算法
其主要思想是物品A和物品B的相似度是因为喜欢A的用户大都喜欢B物品,其主要通过分析用户的行为记录计算物品之间的相似度。例如:购买华为手机的用户,大都购买了华为智能手表。其主要方法为:
计算物品之间的相似度,根据物品的相似度和用户的历史行为给目标用户生成推荐列表。
具体算法和基于用户的类似:
![](https://img.haomeiwen.com/i3796264/df31c4b876ca3396.png)
Set_users(x):表示对物品x感兴趣的用户集合
基于物品的协同过滤算法构建基于物品的矩阵。
计算用户U对物品p的兴趣度为:
![](https://img.haomeiwen.com/i3796264/76e46d17b8f0960d.png)
user_interest(U):表示用户U感兴趣的物品集合;
similar_users(p,k):表示和物品p最相似的k个物品集合;
recommend(u,i):用户u对物品i的感兴趣程度,相当于权值,如十分感兴趣为2,感兴趣为1,不感兴趣为0,讨厌为-1.
基于用户和基于物品的协同过滤算法对比:
序号 | 指标 | 基于用户 | 基于物品 |
---|---|---|---|
1 | 性能 | 适合用户量少的场景 | 适合物品量少的场景 |
2 | 适合业务 | 时效性强,适合新闻类 | 用户个性化需求明显的业务 |
3 | 推荐 | 推荐可理解性差 | 基于用户历史行为,用户推荐可解释性强 |
网友评论