基于邻域的推荐算法

Posted Akane

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于邻域的推荐算法相关的知识,希望对你有一定的参考价值。

基于邻域的算法,就是最常见的CF协同过滤算法。分为 基于用户的 user based CF 和 基于物品的 item based CF.

1.user based CF

对目标用户u, 找出与之相似的用户集合 U,将U中用户感兴趣而u没见过的物品推荐给u.

用户相似度,通过将用户表示成商品的向量后计算。

如果两两用户都计算相似度,那么计算复杂度为O(|U|^2),而对每个u来说,它的向量都是稀疏的。也就是说很多用户间没有交集,相似度计算为0。所以可以先过滤掉这些用户组合后再进行计算。一个方法是建立物品到用户的倒排表,对每个物品下的用户列表,两两组合作为key,key每出现一次加一,这样计算出每种存在交集的用户组合的相似度分子,然后除以分母即得到相似度。

得到topK相似的用户后,计算目标用户u对物品i的兴趣度就表示成这个K个用户的相似度与他们对u的兴趣度的线性组合。

用户兴趣相似度的一个改进:将商品流行度考虑进去,对热门商品采取惩罚。

技术分享

2.item based CF

基于用户的CF随着用户增长,用户关系矩阵过大。基于物品的CF推荐与用户之前感兴趣过的物品有关联关系(或相似)的物品。相似度计算方式是通过用户的行为,而不是物品本身的属性来获得。

也就是将物品表示成用户的向量后计算。和user based CF同理,建立用户-物品的倒排表。

同理,会对某些属性的用户进行惩罚,来修正物品的相似度。

ItemCF的相似度矩阵归一化后能够提高精度、覆盖度。

 

参考:《推荐系统实践》

以上是关于基于邻域的推荐算法的主要内容,如果未能解决你的问题,请参考以下文章

《推荐系统》基于图的推荐算法

BAT大牛亲授 个性化推荐算法实战

BAT大牛亲授-个性化推荐算法实战

BAT大牛亲授-个性化推荐算法实战

个性化推荐中的隐语义模型

BAT大牛亲授--个性化推荐算法实战完整资源