2前奏之基于用户的协同过滤算法:UserCF

Posted lybpy

tags:

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

仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法,方法有:

  • 隐语义模型
  • 基于图的随机游走算法
  • 基于邻域的方法:应用最广泛
    • 基于用户的协同过滤算法:给用户推荐和他兴趣相似的其他用户喜欢的物品
    • 基于物品的协同过滤算法:给用户推荐和他之前喜欢的物品相似的物品 

两步走:

  1. 找到和目标用户兴趣相似的用户的集合
  2. 找到这个集合中的用户喜欢的,且目标用户没有听过的商品推荐给目标用户

一、找到和目标用户兴趣相似的用户的集合

1、关键是计算两用户的兴趣相似度,主要利用行为的相似度计算兴趣相似度

  • jiacard相似度计算

         技术分享图片

 

  • 余弦相似度计算:常用

         技术分享图片

 

  • 余弦相似度改进:对商品流行度惩罚,商品越流行,对相似度贡献值越低

          技术分享图片

 

2、计算用户的相似度矩阵

 

二、找到这个集合中的用户喜欢的,且目标用户没有听过的商品推荐给目标用户

1、计算用户u对物品i的偏好值,

   技术分享图片

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

2、计算推荐列表

 

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

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

《推荐系统实践》 3. 通用推荐模型

推荐算法的Python实现——UserCF(基于用户的协同过滤)

基于用户的协同过滤(UserCF)

07-02 基于协同过滤的推荐算法

协同过滤推荐算法