bubbleeee

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

推荐系统里用到了item-cf,系统总结下---

基于物品的协同过滤,就是item-cf。

===为什么没有用基于用户的协同过滤:相较于“物品”来说,用户量更大,将所有用户和推荐用户做对比,非常耗时。用户数远大于物品数,而且物品的变更频率不高,物品的相似度相对于用户的兴趣来讲比较稳定===

ItemCF不是基于物品本身属性来做推荐,而是基于用户行为记录。假如A和B在历史行为中被越多的用户共同喜欢,A和B相似程度越高

一般步骤:

1. 离线计算物品间的相似度

2. 根据用户历史行为物品推荐相似内容

 

物品相似度的计算

根据用户历史行为数据得出物品-用户的倒排表,建立物品的共现矩阵。为了惩罚热门物品,对矩阵进行归一化,得到相似矩阵

使用“余弦相似度”,从集合的角度来说,分母为两个用户分别交互的物品的乘积,分子为两个用户交互商品并集的数量  

 

 

用户u对物品j的得分

 

 N(u)为用户历史行为物品,s(j,k)为与物品j最相似的前k个物品,wij为物品i和j的相似度,rui为用户对i物品的打分(默认为1)。

相似度计算的优化

  • 最大值归一化-惩罚热门物品

  • 增加IUF参数-降低活跃用户的贡献

 

posted on 2021-11-04 14:10  bubbleeee  阅读(172)  评论(0编辑  收藏  举报