本文内容主要是基于项亮的《推荐系统实践》一书,加上自己一些总结和心得。

UserCF

推荐和当前用户相似度高的N个用户产生过行为的物品给当前用户;

这些物品是当前用户没有行为过而其他N个用户行为过的物品的前M个;

余弦相似度改进:在分子中除了考虑两个用户共同行为的物品,还考虑到这个物品被多少个用户行为过。 
 
加入时间因子:

  • 相似度计算:用户u和用户v对物品i产生行为的时间越远,那么这两个用户的兴趣相似度就会越小。 
  • 预测阶段:和当前用户相似的其他用户最近行为过得物品更容易得到推荐。 

优缺点:

  • 群体/个体:更依赖于当前用户相近的用户群体的社会化行为
  • 计算代价:适用于用户数较少的场合
  • 适用场景:时效性强,用户个性化兴趣不太显著的场合
  • 冷启动:新加入的物品能很快进入推荐列表
  • 实时性:用户新的行为不一定导致推荐结果的变化

ItemCF

推荐和当前用户历史上行为过的物品相似的物品给当前用户;

对于当前用户历史航行为过的每一个物品,推荐和每一个物品相似度高的前N个物品给当前用户;

余弦相似度改进:在分子中除了考虑这两个物品是否同时被用户行为过,还考虑该用户一共行为过的物品的数量。 
 
物品相似度的归一化:将相似度矩阵按照最大值归一化,可以提高推荐的准确率,还可以提高推荐的覆盖率和多样性。

加入时间因子: 
- 相似度计算:在原先余弦相似度基础上,同一个用户对两个物品行为的时间距离越近,相似度越大。 
 
- 预测阶段:和当前时间距离近的用户作用过的物品相似的物品更容易得到推荐。 
 
优缺点:

  • 群体/个体:更侧重用户自身的个体行为
  • 计算代价:适用于物品数较少的场合
  • 适用场景:长尾物品丰富,用户个性化需求强烈的场合
  • 冷启动:新加入的用户能很快得到推荐
  • 可解释性:强
  • 实时性:用户新的行为一定导致推荐结果的变化

文章出处:http://blog.csdn.net/xmu_jupiter/article/details/48029165

UserCF和ItemCF详细对比相关推荐

  1. 协同过滤算法UserCF和ItemCF优缺点对比

    UserCF: 性能:适用于用户较少的场合,如果用户很多,计算用户相似度矩阵代价很大. 领域:时效性较强,用户个性化兴趣不太明显的领域. 实时性:用户有新行为,不一定造成推荐结果的立即变化. 冷启动: ...

  2. 大数据的应用-UserCF和ItemCF推荐算法

    一.推荐系统 1.1 推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动的为用户推荐其感兴趣的信息,满足用户的个性化推荐需求. 1.2 推荐系统是自动联系用 ...

  3. 推荐系统学习(二)--UserCF与ItemCF推荐算法

    文章目录 基于近邻的推荐算法 UserCF算法原理 1. 构建用户物品评分表 2. 相似度度量 3. 计算推荐结果 4. 惩罚热门物品 ItemCF算法原理 1. 计算物品之间的相似度 1. 建立用户 ...

  4. 【推荐系统(一)】协同过滤之基于领域的方法(UserCF,ItemCF)

    文章目录 一.基于用户的协同过滤算法(UserCF) 1,找到相似用户 2,推荐未接触过的物品 UserCF 改进 二.基于物品的协同过滤算法(ItemCF) 1,物品相似度计算 2,推荐列表计算 I ...

  5. 推荐系统入门【分类、传统推荐算法、UserCF和ItemCF】

    推荐系统入门[分类.传统推荐算法.UserCF和ItemCF] 一.推荐系统分类 二.传统推荐算法 2.1 基于规则的推荐 2.2 基于内容的推荐 2.3 基于协同过滤的推荐 (1)建立用户-项目评分 ...

  6. r语言和python-r语言和python的详细对比

    r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...

  7. 【转】SVN 与 GIT 详细对比

    [转]SVN 与 GIT 详细对比 git和svn的详细对比 近期就[版本管理工具是否进行切换SVN->Git]的问题进行了讨论,于是对svn和Git进行了相关研究,进而梳理出Git的特点(优. ...

  8. Mybatis与Hibernate的详细对比

    转载自  Mybatis与Hibernate的详细对比 前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate ...

  9. 一加到1亿。C语言_可能是今年最难选的2部手机:小米10详细对比一加8T

    原标题:可能是今年最难选的2部手机:小米10详细对比一加8T 在智能手机行业里流传着这样一句话:旗舰处理器只能决定一款机型的下限,而不能决定它的上限:决定一款机型上限的是旗舰处理器之外的屏幕.拍照.U ...

最新文章

  1. 阿里打造全球首个纯机器人送货高校,22个物流机器人进入浙大备战双11
  2. 【渝粤教育】国家开放大学2018年春季 0175-21T社会调查研究与方法 参考试题
  3. Github(2)-本地配置git
  4. 复述-软考高级-网规-数据灾备
  5. 云图说|图解DGC:基于华为智能数据湖解决方案的一体化数据治理平台
  6. 原生JDBC连接MySQL数据库踩的坑
  7. 安卓 加载服务器图片不显示图片,android 从服务器加载.9图
  8. 《深度学习Python实践》附录——聚类分析
  9. ffmpeg对H.264进行rtp打包
  10. CnOpenData中国高等学校名单数据
  11. glassfish mysql datasource_GlassFish连接池(GlassFish connection pool)
  12. 从零开始搭建一个Vue项目
  13. 好用的工作邮箱有哪些?工作邮箱如何登录
  14. java北京招聘_JAVA应届毕业生去北京找工作,薪资大约多少?
  15. CTF show 萌新区解题报告 (二)
  16. 【从零开始的机器学习】-03 一元线性回归与代价函数
  17. 从营销的角度看宜家成功的秘诀
  18. 用audition让声音更加好听
  19. Redhat的网络安装
  20. Oracle 表空间(tablespace)介绍

热门文章

  1. sql语句大全(详细)
  2. 吐槽嫌弃测试周期太长?开发自测一下
  3. Dreamweaver (DW)结合 Tomcat 服务器 搭建动态jsp 站点
  4. sscanf的具体用法
  5. vue-element上传视频并预览、上传多个视频+laravel8后台(larke-admin)
  6. redis基本概念和原理
  7. IC读卡器留下的dll坑0x000007b
  8. Silverlight4控件纯客户端注册验证
  9. 基于docker的storm集群搭建
  10. 我的世界Java版开服保姆级教程,Purpur 1.19