协同过滤的优点和缺点

协同过滤的相关知识点介绍完毕,现在对其优缺点进行总结。

优点

  • 无需领域知识:不需要掌握专门的领域知识,因为embedding是自动学习得到的。
  • 更机缘巧合:该模型可以帮助用户发现新的兴趣。机器学习系统可能不知道用户对某个给定的项目感兴趣,但模型可能仍然推荐出它,因为相似用户对该项目感兴趣。
  • 好的起点:在某种程度上,系统仅需要反馈矩阵来训练矩阵分解模型(FM)。特别是,该模型不需要上下文特征。在实际应用中,该模型可以用作多个候选生成器之一。

缺点

  • 无法处理新项目 :给定(用户,项目)对的模型预测是相应embedding向量的点积。因此,如果在训练期间未看到的项目,则系统无法为其创建embedding,并且无法使用模型对此项目进行预测。这个问题通常被称为 冷启动问题。但是,下面的技术可以在一定程度上解决冷启动问题:

    • WALS投影 :给定一个新的项目i0ui0{i_0u_{i_0}}i0ui0

min⁡ui0∈Rd∥Ai0−ui0VT∥\min_{u_{i_0} \in \mathbb R^d} \|A_{i_0} - u_{i_0} V^T\|ui0RdminAi0ui0VT

​ 上述等式对应于WALS算法的迭代操作:用户的embedding向量保持固定,系统得到该项目i0i_0i0的embedding向量。

  • 启发式生成新项目的embedding:如果系统无法进行交互,系统可以通过平均来自相同类别项目的embedding来近似其嵌入。

  • 很难包含查询/项目的侧面特征侧面特征(side feature)是查询或项目ID之外的特征。比如,对于电影推荐而言,侧面特征可能是包括国家/地区或年龄。可用的侧面特征可提高模型的质量。尽管在WALS中包含侧面特征可能并不容易,但WALS的变体使这成为可能。

    通过定义块矩阵A−A^-A增加输入矩阵的特征

    • Block(0,0)是矩阵A的原始反馈矩阵;
    • Block(0,1)是用户特征的多热编码;
    • Block(1,0)是项目特征的多热编码;
      这里增加Block (1, 1)一列,表示其侧面特征。

后续将介绍基于深度学习的推荐方法,感谢。

推荐系列(五):协同过滤的优点和缺点相关推荐

  1. 经典推荐算法之协同过滤

    本文是个人在学习过程中的总结,如有错误或者不全面的地方,请大家指正,谢谢! 一. 协同过滤算法简介 二. 基于用户的协同过滤算法 2.1 实例 2.2 相似度计算方式 2.2.1 余弦相似度 2.2. ...

  2. 推荐算法-基于协同过滤的推荐算法

    推荐算法-基于协同过滤的推荐算法 在如今信息量呈爆炸式增长的时代,谷歌百度等搜索引擎为人们查找信息提供了便利,帮助用户快速查找有价值的信息.然而此类查询方式是大众化的,无法根据个人兴趣为用户展示相关的 ...

  3. 推荐算法---FM,协同过滤

    文章目录 目录 1.FM算法产生背景 2.FM算法模型 3.FM算法VS其他算法 4.推荐算法总结 目录 1.FM算法产生背景 在传统的线性模型如LR中,每个特征都是独立的,如果需要考虑特征与特征直接 ...

  4. 探秘推荐引擎之协同过滤算法小综述

    数学大神.统计学大神和数据挖掘推荐大神请关注. 一.数学期望的理解 早些时候,法国有两个大数学家,一个叫做布莱士·帕斯卡,一个叫做费马.帕斯卡认识两个赌徒,这两个赌徒向他提出了一个问题.他们说,他俩下 ...

  5. 旅游推荐平台|酒店推荐平台|基于协同过滤算法实现旅游酒店推荐系统

    作者主页:编程千纸鹤 作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路  关注作者有好处 ...

  6. 推荐算法概述:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 所谓推 ...

  7. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  8. 【推荐算法】协同过滤算法——基于用户 Java实现

    只是简单谢了一个Demo,先贴上GitHub地址. https://github.com/wang135139/recommend-system 基本概念就不过多介绍了,相信能看明白的都了解.如果想了 ...

  9. 初谈推荐算法:协同过滤推荐(CF)算法

    本章主要讲解协同过滤推荐(CF)算法的基础 协同过滤简单来说就是利用某兴趣相投,拥有共同经验之群体的喜好来推荐用户感兴趣的信息.个人通过合作机制基于信息相当程度的回应(如评分)并记录下来以达到过滤的母 ...

最新文章

  1. 经典树型表结构之SORT_NO
  2. Nagios+Cacti+Nconf配置
  3. android开发 修改标题栏背景_基于.NET的APP开发方式中MobileForm的使用smobiler
  4. 【MSDN】正则表达式介绍
  5. 领导再也不会因为模型刷新不出来批评我啦---论IE扩内存(转载)
  6. 力改变物体形状举例_对旋转问题的思考-在离心力确定的情况下,物体的旋转情况如何通过宇宙中的相对运动情况和质量分布确定?...
  7. 详解 ML2 Core Plugin(II) - 每天5分钟玩转 OpenStack(72)
  8. Response.Clear() Response.ClearContent()和Response.ClearHeaders()之间的区别
  9. java二进制的相关知识_java二进制运算基础知识点详解
  10. NAT,代理服务器技术
  11. OTSU算法实现二值化
  12. 程序员如何创新?逆工程师思维
  13. 移动硬盘某个分区打不开,显示“文件或目录损坏且无法读取”的解决方法
  14. Visual Studio 2008 无法安装解决办法
  15. Pytorch的nn.Conv2d()参数详解
  16. php短信验证案例,PHP项目之容联云短信发送验证码
  17. mysql sql tuning_使用SQL tuning advisor(STA)自动优化SQL
  18. nyoj 82-迷宫寻宝(一) (多重BFS)
  19. 我与我的专业计算机作文500字,我的理想作文500字——电脑高手
  20. C++程序员职业规划

热门文章

  1. matplotlib的imshow在Python shell IDLE环境无法显示图像问题
  2. u盘容量变小了是什么原因?怎么恢复数据?
  3. 超详细的张飞硬件90天读书笔记01
  4. 云管边端架构图_新通信行业:阿里云构建云管边端物联网布局
  5. 奥运会数据可视化展示
  6. IT从业者的学习规划——学习者系列文章开篇
  7. Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution----视频超分辨
  8. photoshop进行景深合成
  9. 打印机服务器怎么配置文件,打印机服务器ftp配置文件
  10. winform 分页打印实例