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

简介: 简单介绍协同过滤优缺点

协同过滤的优点和缺点

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

优点

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

缺点

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

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

$$ \min_{u_{i_0} \in \mathbb R^d} \|A_{i_0} - u_{i_0} V^T\| $$

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

  • 启发式生成新项目的embedding:如果系统无法进行交互,系统可以通过平均来自相同类别项目的embedding来近似其嵌入。
  • 很难包含查询/项目的侧面特征侧面特征(side feature)是查询或项目ID之外的特征。比如,对于电影推荐而言,侧面特征可能是包括国家/地区或年龄。可用的侧面特征可提高模型的质量。尽管在WALS中包含侧面特征可能并不容易,但WALS的变体使这成为可能。

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

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

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

目录
相关文章
【网站部署】解析二级域名并部署网站(一)
【网站部署】解析二级域名并部署网站(一)
811 0
【网站部署】解析二级域名并部署网站(一)
|
数据采集 存储 Java
Anaconda安装使用以及Pycharm教程
Anaconda环境基本使用以及与Pycharm集成
2502 0
Anaconda安装使用以及Pycharm教程
|
搜索推荐 算法 大数据
基于内容的推荐系统算法详解
【7月更文挑战第14天】基于内容的推荐系统算法作为推荐系统发展的初期阶段的重要技术之一,具有其独特的优势和广泛的应用场景。然而,随着大数据和人工智能技术的发展,传统的基于内容的推荐系统已经难以满足日益复杂和多样化的推荐需求。因此,未来的推荐系统研究将更加注重多种推荐算法的融合与创新,以提供更加精准、个性化的推荐服务。
1910 2
|
机器学习/深度学习 搜索推荐 算法
协同过滤算法
协同过滤算法
1159 0
|
9月前
|
存储 数据采集 数据挖掘
《数据库数据冗余大揭秘:问题与解决方案全解析》
数据冗余是数据库管理中的常见问题,如同家中堆积的杂物,虽看似无害,却会占用存储空间、降低查询效率并增加维护难度。文章分析了数据冗余的成因,如设计不合理、业务需求变化及数据导入导出等,并提出了解决方案,包括数据库规范化设计、数据清洗整合、建立数据字典及优化业务流程。通过实际案例,展示了处理数据冗余对提升数据库性能和业务效率的重要性。重视数据冗余问题,能让数据库更高效地支持业务发展。
625 0
|
数据采集 前端开发 JavaScript
动态与静态网站抓取的区别:从抓取策略到性能优化
本文详细介绍了动态与静态网站抓取的区别、抓取策略及性能优化技巧,并提供了相关代码示例。静态网站抓取通过简单的HTTP请求和解析库实现,而动态网站则需使用Selenium等工具模拟浏览器执行JavaScript。文章还展示了如何使用代理IP、多线程和合理的请求头设置来提高抓取效率。
523 2
动态与静态网站抓取的区别:从抓取策略到性能优化
|
机器学习/深度学习 算法 PyTorch
算法金 | 这次终于能把张量(Tensor)搞清楚了!
本文是关于PyTorch中张量(Tensor)的入门教程,由全网同名\[算法金\]作者撰写。文章介绍了张量的基础概念,强调其在深度学习中的核心地位,并阐述了张量与向量、矩阵的关系。接着,详细讲解了如何在PyTorch中创建和操作张量,包括张量的数学运算、广播机制、索引切片以及变形与重塑。此外,还涉及张量的高级功能,如自动求导系统和高级数学函数。最后,文章提到了张量在深度学习中的应用、性能优化技巧和调试方法,鼓励读者通过实践提升技能。
1765 1
算法金 | 这次终于能把张量(Tensor)搞清楚了!
|
小程序 开发工具
app跳转微信小程序,使用明文scheme拉起
app跳转微信小程序,使用明文scheme拉起
3104 4
|
TensorFlow 算法框架/工具
Tensorflow学习笔记(二):各种tf类型的函数用法集合
这篇文章总结了TensorFlow中各种函数的用法,包括创建张量、设备管理、数据类型转换、随机数生成等基础知识。
586 0
|
机器学习/深度学习 搜索推荐 算法
混合推荐系统
混合推荐系统