推荐系列(五):协同过滤的优点和缺点
协同过滤的优点和缺点
协同过滤的相关知识点介绍完毕,现在对其优缺点进行总结。
优点
- 无需领域知识:不需要掌握专门的领域知识,因为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)算法的基础 协同过滤简单来说就是利用某兴趣相投,拥有共同经验之群体的喜好来推荐用户感兴趣的信息.个人通过合作机制基于信息相当程度的回应(如评分)并记录下来以达到过滤的母 ...
最新文章
- 经典树型表结构之SORT_NO
- Nagios+Cacti+Nconf配置
- android开发 修改标题栏背景_基于.NET的APP开发方式中MobileForm的使用smobiler
- 【MSDN】正则表达式介绍
- 领导再也不会因为模型刷新不出来批评我啦---论IE扩内存(转载)
- 力改变物体形状举例_对旋转问题的思考-在离心力确定的情况下,物体的旋转情况如何通过宇宙中的相对运动情况和质量分布确定?...
- 详解 ML2 Core Plugin(II) - 每天5分钟玩转 OpenStack(72)
- Response.Clear() Response.ClearContent()和Response.ClearHeaders()之间的区别
- java二进制的相关知识_java二进制运算基础知识点详解
- NAT,代理服务器技术
- OTSU算法实现二值化
- 程序员如何创新?逆工程师思维
- 移动硬盘某个分区打不开,显示“文件或目录损坏且无法读取”的解决方法
- Visual Studio 2008 无法安装解决办法
- Pytorch的nn.Conv2d()参数详解
- php短信验证案例,PHP项目之容联云短信发送验证码
- mysql sql tuning_使用SQL tuning advisor(STA)自动优化SQL
- nyoj 82-迷宫寻宝(一) (多重BFS)
- 我与我的专业计算机作文500字,我的理想作文500字——电脑高手
- C++程序员职业规划
热门文章
- matplotlib的imshow在Python shell IDLE环境无法显示图像问题
- u盘容量变小了是什么原因?怎么恢复数据?
- 超详细的张飞硬件90天读书笔记01
- 云管边端架构图_新通信行业:阿里云构建云管边端物联网布局
- 奥运会数据可视化展示
- IT从业者的学习规划——学习者系列文章开篇
- Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution----视频超分辨
- photoshop进行景深合成
- 打印机服务器怎么配置文件,打印机服务器ftp配置文件
- winform 分页打印实例