3前奏之基于物品的协同过滤算法:ItemsCF

Posted lybpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3前奏之基于物品的协同过滤算法:ItemsCF相关的知识,希望对你有一定的参考价值。

两步走:

  1. 计算物品间的相似度
  2. 根据1和用户历史行为给用户生成推荐列表

一、计算物品间的相似度

1、相似度算法

    技术分享图片

     喜欢物品i的用户中有多少比例的用户也喜欢j;问题:j存在热门商品问题,因为j很流行,喜欢 j 的用户可能包含喜欢 i 的用户,则相似度基本是1,导致任何物品和热门物品的相似度都近似为1,这对于挖掘长尾的系统不好

    技术分享图片

  惩罚 热门 j 的权重

   技术分享图片

  惩罚活跃用户

 

2、计算商品的相似度矩阵

3、相似度矩阵归一化,提高准确率、多样性、覆盖率

     技术分享图片

 

二、根据商品相似度和用户历史行为,生成用户推荐列表

1、计算用户u对物品j的偏好值:和用户历史上感兴趣的物品越相似的物品,越有可能在用户的推荐列表中

     技术分享图片

  1. 在相似度矩阵中按照相似度对物品 j 关联的物品字典降序排列
  2. 取出前K个物品
  3. 取出和用户 u 有过交互的商品的列表或集合
  4. 取2和3的交集
  5. 对相似度和偏好值累加求和

2、计算推荐列表

 

哈利波特问题

商品太热门,导致相似度近似于1,解决:

1、加大对热门商品惩罚

    技术分享图片

 

2、剔除太热门商品

以上是关于3前奏之基于物品的协同过滤算法:ItemsCF的主要内容,如果未能解决你的问题,请参考以下文章

推荐算法之基于物品的协同过滤

推荐系统(一):基于物品的协同过滤算法

基于物品的协同过滤

协同过滤算法——基于物品(Item)

推荐算法简介:基于用户的协同过滤基于物品的协同过滤基于内容的推荐

协同过滤