[近邻推荐]基于邻域的算法-协同过滤算法

目录

1、相似度的度量

2、基于用户的协同过滤算法

2.1 算法原理

2.2 用户相似度计算的改进

2.3 使用的场景

3、基于物品的协同过滤算法

3.1 算法原理

3.2 物品相似度计算的改进

3.3 使用的场景

4、userCF和itemCF比较


1、相似度的度量

欧氏距离,度量的是空间中两个点的绝对差异,适用于分析用户能力模型之间的差异:

余弦相似度,度量的是两个向量之间的夹角:

皮尔逊相似度先对向量做了中心化,向量p和q各自减去向量的均值后,再计算余弦相似度,皮尔逊相似度计算结果在-1到1,-1表示负相关,1表示正相关:

Jaccard相似度,是两个集合的交集元素个数在并集中所占的比例:

扩展,在社交网络中,如何计算好友的相似度。1)选取一些标签特征,如职业、爱好、营销号、是否大v等,计算Jaccord相似度;2)选取帖子关键词向量,计算余弦相似度;3)选取帖子发布量、月帖数量、帖子字数等,计算欧氏距离。最终将这几个相似度融合得到总相似度。

2、基于用户的协同过滤算法

2.1 算法原理

usercf会给用户推荐和他兴趣最相似的K个用户喜欢的物品,主要包括两个步骤:

1、找到和目标用户兴趣相似的用户集合。用户相似度采用余弦相似度

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

2.2 用户相似度计算的改进

两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度,惩罚热门物品对用户相似度的影响

2.3 使用的场景

userCF适用于新闻资讯推荐,如Digg,不同用户群体之间的兴趣差别很大,推荐结果反映与用户兴趣相似的小群体的热点,保证推荐结果的热门和实时性。同时,资讯更新很快,userCF可以将新资讯推荐给用户

3、基于物品的协同过滤算法

3.1 算法原理

ItemCF根据用户行为,为用户推荐可能感兴趣的相似商品,主要分为两步

1、计算物品之间的相似度

2、根据物品的相似度和用户的历史行为为用户生成推荐列表

3.2 物品相似度计算的改进

热门物品会获得较大的相似度,导致推荐结果集中在热门物品,解决方案如下

其一,加大对热门物品的惩罚

其二,引入物品的内容相似度,提高推荐结果的覆盖率和新颖性。

3.3 使用的场景

ItemCF更适合应用在电商网站,如亚马逊,因为在电商网站,用户兴趣比较固定和持久,itemcf 根据用户感兴趣的商品,推荐相似商品,推荐结果反映用户自身的兴趣偏好物品更新速率比较慢,并且用户数远远大于商品数,物品的相似度矩阵更容易计算,物品的相似度矩阵可以每日更新一次;itemCF能够捕捉到用户实时的兴趣偏好变化,用户有新行为时,推荐结果能够实时更新。

4、userCF和itemCF比较

 

UserCF

ItemCF

性能

用户数远远小于物品数;物品实时更新

物品数远远小于用户数;

领域

资讯领域,时效性较强,用户个性化兴趣不太明显

电商、音乐、电影等领域,用户个性化需求强烈

实时性

用户有新行为,推荐结果不能立即变化

用户有新行为,一定会导致推荐结果的实时变化

冷启动

新物品上线后,一旦有用户对物品产生行为,就可以把新物品推荐给兴趣相似的其他用户

新用户只要对一个物品产生行为,就可以推荐相似的其他物品

推荐理由

很难解释

利用用户的历史行为给用户做推荐解释,用户比较信服

 

 

参考资料:

https://time.geekbang.org/column/74

《推荐系统实践》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值