协同过滤---经典的推荐算法
2.1 协同过滤推荐的大致推荐过程:
UserCF
1,电商网站的商品库里一共四间商品:游戏机,某小说,某杂志和某品牌电视机
2,用户X访问电商库,电商库的推荐系统需要决定是否推荐电视机给用户X
3,为便于计算,将有向图转成共现矩阵
4,生成共现矩阵之后,推荐问题就转成了预测矩阵中的问号元素的值的问题。
5,从共现矩阵中选取top-N进行推荐
6,相似用户对电视机的评价是负面,因此可以预测目标用户对电视机的评价也是负面。
2.2 用户相似度计算
协同过滤推荐算法中,最关键的一步是相似度的计算,常用的相似度的计算方法:
1,余弦相似度
2,皮尔逊相关系数
3,基于皮尔逊系数的思路,引入物品平均的方式,减少物品评分偏置对结果的影响。
Rp-代表物品p得到的所有评分的平均分。
2.2.3最终结果排序
在获得Topn相似用户之后,利用Topn用户生成最终推荐结果的过程如下。假设‘’目标用户与其他相似用户的喜好是相似的。可根据相似用户的已有评价对目标用户的偏好进行预测,这里最常用的方式是利用用户相似度和相似用户的评价的加权平均获得目标用户的评价预测。
其中,权重Wu,s是用户u对用户s的相似度,Rs,p是用户s对物品p的评分。
在获得用户u对不同物品的评价预测之后,最终的推荐列表根据预测的评分进行排序即可。
UserCF的缺点:
1,用户数量远大于物品数量,计算用户相似度矩阵快速找出Topn相似用户,该用户相似度矩阵的存储开销太大,在线存储系统难以承受扩展的速度。
2,用户的历史数据向量非常稀疏,找到相似用户的准确度非常低。
ItemCF
具体步骤:
1,基于历史数据,构建用户物品的共现矩阵mxn
2,计算共现矩阵;量量列向量的相似性,构建nxn维的物品相似度矩阵。
3,获得用户历史行为数据中的正反馈物品列表。
4,利用物品相似度矩阵,针对目标用户历史行为中的正反馈物品,找出相似的Topk个物品,组成相似物品集合。
5,针对相似物品集合中的物品,利用相似度分值进行排序,生成最终的推荐列表。
针对第5步中的,如果一个物品与多个用户行为;历史中的正反馈物品相似,那么该物品最终的相似度应该是多个相似度的累加和。
其中,H是目标用户的正反馈物品的集合,wp,h是物品p与物品h的物品相似度,Ru,h是用户对物品h的已有评分。
UCF与ICF的应用场景
UCF:适用于新闻推荐,因为新闻本身的兴趣点往往是分散的相比用户对不同的新闻偏好,新闻的及时性,热点性往往更重要。UCF正适用于发现热点以及跟中热点的趋势。
ICF:适用于兴趣变化较为稳定的应用,例如视频推荐,用户观看的电影,电视剧,刷的小视频,兴趣点往往比较稳定,因此ICF推荐风格和类型相似的视频为更合理的选择。
《深度学习推荐系统》----CF