推荐系统实践-基于邻域算法-阅读笔记3

#2.基于邻域的推荐算法
#2.1 User-CF算法
1.计算用户之间的相似度,得到目标用户的兴趣相似的集合
2.从这个集合中选取目标用户没有使用的物品作为推荐
流程
计算用户的相似度 余弦相似度
1.建立物品-用户的倒排索引表,通过将此表每个物品的对应用户"两两标记"
2.关于所有用户的相似度矩阵C
定义:
定义: 目标用户u对于新物品i的感兴趣程度: 和自己最类似的K个用户对于物品i的评分之和
结论:
1.K=80左右 precision&Recall较好
2.K越大,参考的邻域人数越多,越接近于全局热门物品
3.K越大,推荐的覆盖率越低
改进
思路:两个用户对于"冷门物品"有相同的行为,更能说明其兴趣的相似程度
==》 惩罚用户U和用户V共同兴趣列表中"全局热门"物品对于其相似度的影响
P66
User-IIF算法 计算用户相似度

#2.2 Item-CF算法
1.计算物品之间相似度
2.基于用户的历史行为,将其物品Top K推荐给用户
流程
计算物品之间的相似度 余弦相似度
note: 余弦相似度的分母具有对"热门物品"一定的惩罚意义
1.建立用户-物品倒排表(每一个用户有其喜欢的物品列表),对于每个用户种物品进行 “两两统计”
2.得到所有物品的相似度矩阵
定义: 用户U对于物品j的感兴趣程度: 将物品j最相似的K个物品,与用户U的历史列表中的物品计算相似度之和
==》用户U历史上感兴趣的物品越相似的物品,越有可能在用户的推荐列表中获得比较高的排名
结论:
1.K的取值很关键 非线性 不过K=10效果不错
2.覆盖率明显低于User-CF
改进
思路:特别活跃的用户对于物品的相似度的贡献 < 不经常活跃的用户
P74
=》 避免物品相似度矩阵过于稠密,往往直接忽略过于活跃的用户的兴趣列表

#2.3 物品相似度归一化
提高推荐的多样性
原因P76 举例P76

Item-CF 和 User-CF的使用场景
1.新闻网站同注重热门程度+时效性 = User-CF
2.图书,电子商务,电影网站 = Item-

#2.4 哈利波特问题
为什么原始Item-CF会出现覆盖率低情况
如何解决 两个不同领域的最热门物品往往具有比较高的相似度(导致同一个领域物品反而不容易被推荐)
思路1:
(经典的Item-CF公式上) 继续加大对于热门物品的惩罚 P80
思路2:
P81 感觉不太重要 不讨论了

猜你喜欢

转载自blog.csdn.net/u014297722/article/details/87923738
今日推荐