推荐算法-余弦相似度

一、余弦相似度:

余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"

二维向量的余弦相似度:

多维向量的余弦相似度(类比)

协同过滤(Collaborative Filtering, 简称 CF):

  • 收集用户行为
  • 减噪与归一化处理
  1. 减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以是我们的分析更加精确
  2. 归一化:将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确。

二、基于物品的协同过滤推荐算法(itemCF):

算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品

用户行为与权重:点击-1、搜索-3、收藏-5 、付款-10

用户 A、B、C

商品 1、2、3、4、5、6

  • 根据用户行为列表计算用户、物品的评分矩阵
  • 根据用户、物品的评分矩阵计算物品、物品的相似矩阵 
  • 相似度矩阵x评分矩阵=推荐列表
  • 推荐列表中用户之前已经有过行为的元素置为0

三、基于用户的协同过滤推荐算法(UserCF)

算法思想:给用户推荐和他兴趣相似的其他用户喜欢的物品

用户行为与权重:点击-1、搜索-3、收藏-5 、付款-10

用户 A、B、C、D、E、F  

商品 1、2、3、4、5、6

  • 根据用户行为列表计算物品、用户的评分矩阵
  • 根据物品、用户的评分矩阵计算用户、用户的相似矩阵
  • 相似度矩阵X评分矩阵=推荐列表
  • 将推荐列表中用户已有行为的元素置0

四、基于内容推荐算法

算法思想:给用户推荐和他们之前喜欢的物品在内容上相似的其他物品

1表示电影具有某个特征  0表示电影不具有某个特征

物品特征建模:Item Profile

  • 构建Item Profile矩阵(电影的特征项矩阵)
  • 构建Item User评分矩阵(用户电影的评分矩阵)
  • Item User x Item Profile = User Profile (用户对电影的喜爱程度)
  • 对Item Profile和User Profile求余弦相似度

五、基于物品的协同过滤推荐算法(itemCF)说明:

1、根据用户行为列表计算用户、物品的评分矩阵

2、根据用户物品的评分矩阵计算物品、物品的相似矩阵

3、相似度矩阵x评分矩阵=推荐列表

4、推荐列表中用户之前已经有过行为的元素置为0

原文地址:https://www.cnblogs.com/wjh123/p/11400937.html