推荐模型之协同过滤【学习笔记】
来源课程 老弓的学习笔记
协同过滤
目标场景:存在共现矩阵的情况下,进行点击率预估、 评分预测等。
基于用户的协同过滤 找与Alice相似的用户 比如说2
基于物品的协同过滤
相似度计算方式:
1.杰卡德(Jaccard)相似度
2.余弦相似度
比较常用 效果也不会太差。
局限性:
举例:
3.皮尔逊相关系数:相当于是对余弦相似度的一种改进
皮尔逊相关系数通过使用用户平均分对独立评分个体进行了修正,减少了用户评分偏置的影响。简单的说,其实Person做的就是把两个向量减去了他们的均值,然后再计算cos相似度。效果好于cos
4 其它:
欧氏距离
曼哈顿距离
马氏距离
余弦相似度与欧氏距离:为什么一些场景李用余弦相似度而不是欧式距离?
举例:
视频4
基于用户的协同过滤 UserCF
1 计算用户与其它用户的相似度
2.根据相似度用户计算Alice对物品5的最终得分。
方式一:
方式二:
方式一有点局限性
3. 根据用户评分对用户推荐:定一个阈值 预测评分超过阈值即可推荐给用户。
缺点:
1.数据稀疏性:
2.用户相似度矩阵维护难度大
适用场景:
用户少,物品多,时效性较强的(比如说新闻推荐)
视频5
基于Item的协同过滤 ItemCF
由于UserCF的两点缺陷,导致很多电商平台并没有采用这种算法,而是采用了ItemCF实现最初的推荐系统
优点:
缺点:
1 数据稀疏性
一列中有俩1才行。
2.物品相似度矩阵维护难度大
适用场景:
比如说音乐 艺术品推荐。
6 两个方法之间的对比:
区别:
共同缺点:
1.不能彻底解决数据稀疏性问题
2.泛化能力弱
为了解决这一问题 矩阵分解技术被提出
3.无法利用更多信息