协同过滤的优点和缺点

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

优点

  • 无需领域知识:不需要掌握专门的领域知识,因为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. 成功解决 python 不是内部或外部命令,也不是可运行的程序或批处理文件
  2. ST:看物联网老兵的平台化战略雄心
  3. 使用TMG2010企业版组建大型***网络之3-配置NLB
  4. STM32——DMA
  5. 九章基础算法04:二叉搜索树与哈希表
  6. java hibernate 插入数据_hibernate 批量插入数据
  7. ie登录显示登录到ftp服务器,用IE登录FTP服务器怎么消除记住的密码
  8. python汉化idle_idle python
  9. STM32F429第四篇之跑马灯程序详解
  10. 新西兰皇后镇-我眼中的西施
  11. django使用rest快速实现前后端分离登录注册
  12. Untiy学习 简单的脚本方法
  13. iOS模拟各种网络状态
  14. 四方、曾经魂牵梦萦的地方
  15. 委以重用的意思_刘表为什么不对刘备委以重用?
  16. sig2 matlab,MATLAB用lssvm分类时参数gam和sig2交叉优化问题
  17. 贪心---排序不等式、绝对值不等式、推公式
  18. HTML5播放器示例写法
  19. Win7资源管理器打开ftp站点自动跳转浏览器解决方法
  20. PCB各层的含义 (solder paste 区别)

热门文章

  1. c语言中的where用法,c#查询关键字where 子句的运用
  2. 风剑分享“站在上帝视角看数据”,点燃企业大数据梦想与思潮
  3. 轴线图层设置_图层设置原则
  4. 大数据学习路线思维导图
  5. u盘插上去计算机没有,正常U盘插入电脑没反应?u盘插上没反应的绝对有效解决方法-太平洋电脑网...
  6. 公式编译器AxMath安装包及在word中使用的教程
  7. android手机连nas,安卓手机照样行 NAS存储器大盘点_群晖 USB Station 2_移动存储新闻-中关村在线...
  8. 巴鲁夫使用CAE数据扩展其产品目录
  9. Linux-Shell脚本练习
  10. List<Map,Object>>怎样取出map集合中的某一个的key值?