写点什么

推荐算法综述(五)

  • 2016-02-01
  • 本文字数:1877 字

    阅读完需:约 6 分钟

【编者的话】近年来社交媒体已经越来越流行,可以从中获得大量丰富多彩的信息的同时,也给我们带来了严重的“信息过载”问题。推荐系统作为缓解信息过载的最有效方法之一,在社交媒体中的作用日趋重要。区别于传统的推荐方法,社交媒体中包含大量的用户产生内容,因此在社交媒体中,通过结合传统的个性化的推荐方法,集成各类新的数据、元数据和清晰的用户关系,产生了各种新的推荐技术。本文总结了推荐系统中的几个关键研究领域,进行综述介绍。本文是推荐算法综述的最后一部分。第一部分主要介绍了推荐算法的主要类型。第二部分,主要涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。第三部分详细介绍了基于内容的过滤算法。第四部分主要介绍了混合引荐技术和基于流行度的推荐方法。在这篇文章中,我们在回顾了所有基本的推荐算法之后,介绍了如何选择最合适的推荐算法。

注:本文翻译自 Building Recommenders ,InfoQ 中文站在获得作者授权的基础上对文章进行了翻译。

正文

本文是推荐算法综述的最后一部分。第一部分主要介绍了推荐算法的主要类型。第二部分,主要涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。第三部分详细介绍了基于内容的过滤算法。第四部分主要介绍了混合引荐技术和基于流行度的推荐方法。在这篇文章中,我们在回顾了所有基本的推荐算法之后,介绍了如何选择最合适的推荐算法。

除了我们已经介绍的一些比较传统的推荐系统(例如流行度、协同过滤、基于内容的过滤、混合方法),目前还有许多的其他方法也可以用于增强推荐系统,包括:

  • 深度学习
  • 社会化推荐
  • 学习排序
  • 多臂 Bandit(探索 / 利用)
  • 张量因子分解和因子分解(情境感知的推荐)

这些更先进的和非传统的方法有利于将推荐系统的性能推高到一个新的水平,但实际上这些算法也存在不足,不太易于理解,而且在推荐插件中并没有很好地被支持。在实际应用中,相比一些更传统的方法而言,用户还需要考量执行更新的方法所带来的性能提升是否值得算法所花费的开销。根据我们的经验,基本的传统算法还将在实际系统中应用很久,并还将驱动一些伟大的产品的诞生。

在这个综述的系列文章中,我们想向读者介绍一些常见的推荐算法,包括基于用户的协同过滤算法、基于 item 的协同过滤算法、基于内容的过滤算法和混合方法。在这里,我们通过举一个简单的例子,提供了一个综合的阐述,当有相同的输入数据时,这四种不同的算法将为相同的用户产生如何不同的推荐结果(图 1)。在算法被应用到大的、真实的数据中时,这种差异会一直存在,所以在决定要使用哪种算法时需要考虑它们的优点和缺点,并且在评价它们的时候,还要考虑它们执行的好坏程度。

(点击放大图像)

图1:四种推荐系统算法被应用到相同的数据集时所产生的不同的推荐结果。在左边,我们以矩阵的形式给出了用户对于几个item 的偏好,以及要推荐的item 的标题列表。在中间,我们给出了四种不同的算法为第一个用户(即用户偏好矩阵中的第一行)所产生的推荐结果。按照显示的相似度度量,它们在相似度上有不同的定义。在右边,我们看到由每个推荐算法推荐的item,从上到下按照四种算法排序。

在实际应用中,如果你利用协同过滤算法作为你的推荐模型,一般不会出什么问题。协同过滤容易比其他算法产生更好的结果,但是它不能很好地处理新用户和新item 的冷启动问题,如果要处理这些问题,基于内容的推荐算法是一个很好的备选。如果你有时间,那么可以将这些方法进行组合,这样你就可以同时利用协同过滤算法和基于内容的推荐算法的优点。即使需要考察更为先进的推荐算法,在此之前,先好好考虑一下这些基本的算法也不失为一个好主意。

最后,需要紧紧牢记的是,推荐模型仅仅是推荐系统五个部件中的其中一个。付出努力将推荐模型正确建立起来是非常重要的,但是对于其他的所有部件,如数据收集和处理、后处理、在线模块和用户界面,做出正确的选择同样重要。正如我们一遍又一遍所强调的,该推荐算法仅仅是推荐系统中的一部分,你的决策需要考虑整个产品。

本文是一篇翻译稿,读者也可以参考英文原文

编后语

《他山之石》是InfoQ 中文站新推出的一个专栏,精选来自国内外技术社区和个人博客上的技术文章,让更多的读者朋友受益,本栏目转载的内容都经过原作者授权。文章推荐可以发送邮件到editors@cn.infoq.com。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016-02-01 16:526407
用户头像

发布了 268 篇内容, 共 125.9 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

[Java] 计算Java对象大小

不在线第一只蜗牛

Java

加快推动民营中小企业数字化转型的引擎!靠谁?

不在线第一只蜗牛

低代码

1集13个广告、40家赞助商,《国色芳华》让芒果TV赚翻了?

趣解商业

互联网 影视 芒果TV

数据服务之决策层:从成本核算迈向成本经营,让一切成本皆可用

用友智能财务

财务 会计

C++中的各种锁

快乐非自愿限量之名

c++ 算法

用友废钢智能判级入选工信部AI赋能新型工业化应用案例

用友BIP

用友 用友BIP YonGPT 人工智能大模型 钢铁企业

M5Stack 发布全双工通信语音识别硬件;雷蛇发布 AI 游戏伴侣 Project AVA,实时指导复盘

声网

低代码赋能全行业:解锁数字化革命无处不在的深层逻辑与实践

EquatorCoco

低代码

AIP智能体平台:开启AI Agent新时代

大东(AIP内容运营专员)

人工智能

活动报名:Voice Agent+硬件分享会,深圳专场丨RTE Meetup 007

声网

AIP智能体平台与CrewAI平台的对比

大东(AIP内容运营专员)

人工智能

中昊芯英入选2024年浙江省数字经济发展优秀案例名单

科技热闻

探索AIP智能体平台:引领软件开发的未来

大东(AIP内容运营专员)

人工智能

AIP智能体平台:开启智能软件开发新时代

大东(AIP内容运营专员)

人工智能

为什么会出现域名解析错误?域名解析错误怎么解决?

国科云

程序员开发助手,低代码必须有一席之地

伤感汤姆布利柏

低代码会给 企业/程序员 带来哪些价值?

高端章鱼哥

【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误

YashanDB

数据库 yashandb

【YashanDB知识库】崖山BIT类型对MYSQL兼容问题

YashanDB

数据库 yashandb

【YashanDB知识库】YDC无法通过conn切换用户

YashanDB

数据库 yashandb

【YashanDB知识库】使用yasboot查看YashanDB status为unconnected,但是YashanDB运行正常

YashanDB

数据库 yashandb

JNPF低代码开发平台:赋能百行百业数智化转型

快乐非自愿限量之名

低代码

【YashanDB知识库】使用DBeaver 插入数据 nvarchar字段插入为空

YashanDB

数据库 yashandb

监控观测数据标签体系的应用实践

观测云

数据标签

一问一答学习PyQT6,对比WxPython和PyQt6的差异

EquatorCoco

Python JavaScript

低代码平台的开发者生态建设

秃头小帅oi

AI编程云课堂|1小时快速理解开源项目

豆包MarsCode

推荐算法综述(五)_语言 & 开发_张天雷_InfoQ精选文章