推荐系列(五):协同过滤的优点和缺点
协同过滤的优点和缺点
协同过滤的相关知识点介绍完毕,现在对其优缺点进行总结。
优点
- 无需领域知识:不需要掌握专门的领域知识,因为embedding是自动学习得到的。
- 更机缘巧合:该模型可以帮助用户发现新的兴趣。机器学习系统可能不知道用户对某个给定的项目感兴趣,但模型可能仍然推荐出它,因为相似用户对该项目感兴趣。
- 好的起点:在某种程度上,系统仅需要反馈矩阵来训练矩阵分解模型(FM)。特别是,该模型不需要上下文特征。在实际应用中,该模型可以用作多个候选生成器之一。
缺点
- 无法处理新项目 :给定(用户,项目)对的模型预测是相应embedding向量的点积。因此,如果在训练期间未看到的项目,则系统无法为其创建embedding,并且无法使用模型对此项目进行预测。这个问题通常被称为 冷启动问题。但是,下面的技术可以在一定程度上解决冷启动问题:
- WALS投影 :给定一个新的项目i0ui0{i_0u_{i_0}}i0ui0
minui0∈Rd∥Ai0−ui0VT∥\min_{u_{i_0} \in \mathbb R^d} \|A_{i_0} - u_{i_0} V^T\|ui0∈Rdmin∥Ai0−ui0VT∥
上述等式对应于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)一列,表示其侧面特征。
后续将介绍基于深度学习的推荐方法,感谢。
推荐系列(五):协同过滤的优点和缺点相关推荐
- 经典推荐算法之协同过滤
本文是个人在学习过程中的总结,如有错误或者不全面的地方,请大家指正,谢谢! 一. 协同过滤算法简介 二. 基于用户的协同过滤算法 2.1 实例 2.2 相似度计算方式 2.2.1 余弦相似度 2.2. ...
- 推荐算法-基于协同过滤的推荐算法
推荐算法-基于协同过滤的推荐算法 在如今信息量呈爆炸式增长的时代,谷歌百度等搜索引擎为人们查找信息提供了便利,帮助用户快速查找有价值的信息.然而此类查询方式是大众化的,无法根据个人兴趣为用户展示相关的 ...
- 推荐算法---FM,协同过滤
文章目录 目录 1.FM算法产生背景 2.FM算法模型 3.FM算法VS其他算法 4.推荐算法总结 目录 1.FM算法产生背景 在传统的线性模型如LR中,每个特征都是独立的,如果需要考虑特征与特征直接 ...
- 探秘推荐引擎之协同过滤算法小综述
数学大神.统计学大神和数据挖掘推荐大神请关注. 一.数学期望的理解 早些时候,法国有两个大数学家,一个叫做布莱士·帕斯卡,一个叫做费马.帕斯卡认识两个赌徒,这两个赌徒向他提出了一个问题.他们说,他俩下 ...
- 旅游推荐平台|酒店推荐平台|基于协同过滤算法实现旅游酒店推荐系统
作者主页:编程千纸鹤 作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路 关注作者有好处 ...
- 推荐算法概述:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法
"无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 所谓推 ...
- 推荐算法——基于协同过滤CF
https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...
- 【推荐算法】协同过滤算法——基于用户 Java实现
只是简单谢了一个Demo,先贴上GitHub地址. https://github.com/wang135139/recommend-system 基本概念就不过多介绍了,相信能看明白的都了解.如果想了 ...
- 初谈推荐算法:协同过滤推荐(CF)算法
本章主要讲解协同过滤推荐(CF)算法的基础 协同过滤简单来说就是利用某兴趣相投,拥有共同经验之群体的喜好来推荐用户感兴趣的信息.个人通过合作机制基于信息相当程度的回应(如评分)并记录下来以达到过滤的母 ...
最新文章
- 成功解决 python 不是内部或外部命令,也不是可运行的程序或批处理文件
- ST:看物联网老兵的平台化战略雄心
- 使用TMG2010企业版组建大型***网络之3-配置NLB
- STM32——DMA
- 九章基础算法04:二叉搜索树与哈希表
- java hibernate 插入数据_hibernate 批量插入数据
- ie登录显示登录到ftp服务器,用IE登录FTP服务器怎么消除记住的密码
- python汉化idle_idle python
- STM32F429第四篇之跑马灯程序详解
- 新西兰皇后镇-我眼中的西施
- django使用rest快速实现前后端分离登录注册
- Untiy学习 简单的脚本方法
- iOS模拟各种网络状态
- 四方、曾经魂牵梦萦的地方
- 委以重用的意思_刘表为什么不对刘备委以重用?
- sig2 matlab,MATLAB用lssvm分类时参数gam和sig2交叉优化问题
- 贪心---排序不等式、绝对值不等式、推公式
- HTML5播放器示例写法
- Win7资源管理器打开ftp站点自动跳转浏览器解决方法
- PCB各层的含义 (solder paste 区别)
热门文章
- c语言中的where用法,c#查询关键字where 子句的运用
- 风剑分享“站在上帝视角看数据”,点燃企业大数据梦想与思潮
- 轴线图层设置_图层设置原则
- 大数据学习路线思维导图
- u盘插上去计算机没有,正常U盘插入电脑没反应?u盘插上没反应的绝对有效解决方法-太平洋电脑网...
- 公式编译器AxMath安装包及在word中使用的教程
- android手机连nas,安卓手机照样行 NAS存储器大盘点_群晖 USB Station 2_移动存储新闻-中关村在线...
- 巴鲁夫使用CAE数据扩展其产品目录
- Linux-Shell脚本练习
- List<Map,Object>>怎样取出map集合中的某一个的key值?