推荐系统之协同过滤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangyang_yangqi/article/details/82867286

协同过滤在推荐算法领域是一个老生常谈的算法,在此仅对理论部分做一个总结。
协同过滤分为基于用户的协同过滤(UserCF)和基于用户的协同过滤(ItemCF)

UserCF通俗的解释就是把与用户相似的用户喜欢的东西推荐给该用户。故推荐系统中有一个用户相似度矩阵。
ItemCF通俗的说就是把与用户有过行为的物品相似的物品推荐给该用户。故推荐系统中有一个物品相似度矩阵。
但是在电子商务网站中,例如某宝,用户活跃量很大,经常更新用户相似矩阵代价很大,不适合使用基于物品的推荐。而在新闻类网站中,新闻作为物品的实体变化很快,同物品之间相似度变化更为频繁,不适合用基于物品的推荐,反而用户兴趣相对稳定,使用基于用户的推荐更为合适。

个性化推荐

  1. UserCF
    不同用户的相似度,更多的表现在其对冷门物品采取的行为。这样才能更好的满足个性化推荐的需求。UserCF的推荐结果着重反映和用户兴趣相似的小群体的热点。
  2. ItemCF
    根据长尾理论,越是冷门的用户行为更能反映用户的个性化需求。所以在计算物品相似度的过程中,应该适当惩罚热门物品对物品相似度的影响。这样能够降低推荐结果的流行度,增加推荐结果的覆盖率。ItemCF着重维系用户的历史兴趣。

两种算法的对比:

UserCF ItemCF
性能
适用于用户较少的场合;如果用户较多,计算用户相似度矩阵代价较大 适用于物品数明显小于用户数的场合,如果物品很多,计算物品相似度矩阵代价很大
领域
时效性较强,用户个性化兴趣不太明显的领域 长尾物品丰富,用户个性化需求强烈的领域
实用性
用户有新行为,不一定造成推荐结果的立即变化 用户有新行为,一定会导致推荐结果的实时变化
冷启动
在新物品对很少的物品产生行为后,不能立即对他进行个性化推荐,因为用户相似度是每隔一段时间离线计算的;新物品上线后一段时间,一旦有用户对物品产生行为,就可以将新物品推荐给和对它产生行为用户兴趣相似的其他用户 新用户只要对一个物品产生行为,就可以给他推荐和该物品相关的其他物品;但没有办法在不离线更新物品相似度的情况下将新物品推荐给用户
推荐理由
很难提供用户信服的推荐解释 利用用户的历史行为给用户做推荐解释,可以令用户比较信服

猜你喜欢

转载自blog.csdn.net/yangyang_yangqi/article/details/82867286