协同过滤推荐

协同过滤推荐

协同过滤算法用于给用户推荐物品(商品、音乐、新闻等等),主要分为基于用户的推荐和基于物品的推荐。

推荐算法涉及到两个业务对象:用户和物品。我们需要弄清楚推荐的目的:推荐是为了给用户推荐他想要的物品,为了描述用户,我们需要获取用户画像,比如用户的年龄、性别、职业、收入、偏好等等,同时为了描述物品,需要对物品进行描述。

1. 基于用户的推荐

  • 首先统计每个用户所关联的物品,得到用户和他关注的物品之间的关系,用户对商品的收藏、点赞、评论、浏览等。比如用户1关联了商品1、2、5,那么用户1和商品1、2、5的系数可以直接用1来表示或者用用户和商品之间的相关程度(收藏为最大5,浏览为最小2),所以用户1至6可以用商品向量来表示: 
 item1item2item3item4item5item6
user143  5 
user25 4 4 
user34 534 
user4 3   5
user5     4
user6  24 5
  • 然后计算用户在物品上的相似度,直接用物品向量来计算,计算方法采用余弦距离:

A,B分别表示两个用户在物品维度的向量

  • 这样我们就能得到所有用户间的相关系数。如果要给用户1推荐商品,我们取和用户1最相似的K个用户所关联的商品,去除用户1关联的,剩余的就是推荐商品。
 user1user2user3user4user5user6
user110.270.790.320.980
user2    0.271000.340.65
user30.79010.690.710.18
user40.3200.6910.320.49
user50.980.340.710.3210
user600.650.180.4901

2. 基于物品的推荐

基于物品的推荐算法流程和基于用户的类似,不同的地方在于,操作的对象变为了物品,我们用每个物品所关联的用户来描述这个物品,然后依次计算物品之间的相似度。当我们需要为某个用户推荐时,可以找到和用户关联物品K个最相似的物品进行推荐。

3. 协同过滤缺点

  • 依赖于用户评分(用户和物品之间的关联)或者说是冷启动问题:算法有效的前提是物品和用户之间存在某种关联,但是对于一些新的用户和物品,他们和现有的用户、商品之间并没有任何关联,这时候算法对于这些用户和物品无法做推荐;

  • 在生命周期短的系统中,由于物品存在时间短(比如说广告、新闻),用户和物品之间的关联十分少,导致最后的相似度矩阵稀疏,不利于推荐。

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值