ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

协同过滤算法

2021-08-05 20:05:36  阅读:200  来源: 互联网

标签:协同 推荐 用户 算法 过滤 相似 物品


协同算法

转载:学习视频链接

User CF

  • 建立并计算用户相似度矩阵,给用户推荐和他相似的K个用户喜欢的物品
  • 适用于用户比较稳定,用户更新慢于item的场景,比如新闻网站
  • 优点:推荐有惊喜
  • 缺点:基于用户的协同过滤很难对推荐结果做出解释
  • 基于用户的协同过滤算法主要包括两个步骤
    • 找到和目标用户兴趣相似的用户集合
    • 找到集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
  • 冷启动:UserCF算法对物品冷启动的问题并不敏感,因为,UserCF在给用户进行推荐时,会首先找到和用户兴趣相似的一群用户,然后给用户推荐这一群用户喜欢的物品。
用户/物品物品A物品B物品C物品D
用户AVV推荐
用户BV
用户CVVV

`
这里介绍以下协同算法中的基于用户的协同过滤,基于用户的协同过滤是目的是什么呢?就是建立并计算用户相似度矩阵,从而给用户推荐和他相似的K个用户喜欢的物品,比如,我喜欢看完美世界漫画,你也喜欢看这个漫画。我还喜欢看斗罗大陆漫画,那么算法分析后可能就会觉得你可能也会喜欢看斗罗大陆这个漫画。但是也可能出现偏个性化的推荐,例如你喜欢的某些花里胡哨的东西,我可能并不感兴趣,这样的话,如果只依据某一个人的喜好来推荐,可能召回率就相当的低了。所以要经过AB测试,通过测试K个用户来发现,在根据N个用户的洗好来推荐给我喜好的时候达到最高的召回率。
当然,这种推荐算法是有惊喜的。我们因为共同爱好漫画而被划分为相似用户,你的其他洗好也可能会推荐给我,这样的话,我可能就会发现有些喜好是我之前不太感兴趣的,但是现在有兴趣了解他。
正如推荐有惊喜,可能推荐的也不是惊喜。有可能你的某些偏好,我非常不感兴趣。这也就是很难对基于用户的系统过滤做出解释。优点与缺点并存。

Item CF

  • 基于物品的协同过滤

  • 通过分析用户的行为记录物品之间的相似度,并不利用物品的内容属性计算物品之间的相似度,中间的桥梁也是用户

  • 适用于电商类的推荐系统

  • 优点:可以利用用户的历史行为给推荐结果提供推荐解释

  • 基于物品的协同过滤算法主要分为两部:

    • 计算物品之间的相似度
    • 根据物品的相似度和用户历史行为给用户生成推荐列表
  • 冷启动:对于ItemCF算法来说,物品冷启动就是一个严重的问题。因为ItemCF算法的原理是给用户推荐和他之前喜欢物品相似的物品。ItemCF算法会每隔一段时间利用用户行为计算物品相似度表(一般一天计算一次),在线服务时ItemCF算法会将之前计算好的物品相关度矩阵放在内存中。

    • 当新物品加入时,内存中的物品相关表不会存在这个物品,从而Item CF算法无法推荐新的物品。解决这一问题的办法是频繁更新物品相似度表,但基于用户行为计算物品相似度是非常耗时的,主要原因是用户行为日志非常庞大,而且,新物品如果不展示给用户,用户就无法对他产生行为,通过行为日志计算是计算不出包含新物品的相关矩阵的。
    • 为此,我们只能利用物品的内容信息计算物品相关表,并且频繁的更新 相关表(如半小时计算一次)
  • 用户/物品物品A物品B物品C
    用户AVV
    用户BVVV
    用户CV推荐

标签:协同,推荐,用户,算法,过滤,相似,物品
来源: https://blog.csdn.net/m0_51197424/article/details/119425817

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有