写点什么

推荐算法综述(五)

  • 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:526616
用户头像

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

关注

评论

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

「产品功能授权」和「外部开发者授权」的差异

柯杰

授权

基于 Amazon Nova 和 TEN 框架的实时音视频交互解决方案

亚马逊云科技 (Amazon Web Services)

哈尔滨等保应用安全测评

黑龙江陆陆信息测评部

AI重构鞋服品牌「增长基因」:数据驱动的商品力革命已至

第七在线

AI算法 | 睡岗识别冠军方案解读(姿态估计)

极小新

人工智能 计算机视觉 算法竞赛 目标检测算法 人体姿态估计

YashanDB|JDBC 插入慢?别忽略了“网络带宽”这个瓶颈!

数据库砖家

数据库·

桌面日历工具有哪些?3个常用的任务管理软件盘点!

职场工具箱

项目管理 任务管理 在线白板 办公软件 日历应用程序

八大年度奖项揭晓!2024 BSRC年度盛典沙龙圆满举办

百度安全

烟草行业信创迁移-企业综合管理平台上线运行

中烟创新

开源鸿蒙,给机器人带来了什么?

脑极体

AI 操作系统

YashanDB|Mybatis-Plus 无法识别 YashanDB?加一段配置就能解决

数据库砖家

数据库·

BOE(京东方)发布行业首个可持续发展品牌“ONE”:以开放创新科技之力守护人类未来

爱极客侠

京东方

使用 gt-checksum 分析迁移对象

GreatSQL

YashanDB |PHP 无法连接 YashanDB?ODBC 驱动“找不到”的锅怎么甩?

数据库砖家

数据库·

构建多智能体安全信任体系:业内首个智能体可信互连技术ASL来了

科技热闻

YashanDB|YAS-00413 超时报错?其实是系统资源限制“卡脖子”了

数据库砖家

数据库·

YashanDB |执行 SQL 报 YAS-02024 锁等待超时?可能是默认设置的问题

数据库砖家

数据库·

YashanDB|关闭归档时报 YAS-02079?你可能忘了关闭“复制模式”

数据库砖家

数据库·

「Boli-职业发展助手」:技术人必备的智能职业规划与求职利器

安全乐谷

找工作 简历 实习 校招 失业

10.接口而非实现编程

杨充

Arthas sc(查看JVM已加载的类信息 )

刘大猫

人工智能 监控 Arthas 大模型 sc

白鲸开源与亚马逊云科技携手推动AI-Ready数据架构创新

白鲸开源

AWS 亚马逊 白鲸开源 WhaleStudio

五一出行看科技,高速巡检无人机 AI 算法开启智慧新篇

极小新

人工智能 目标检测算法 视觉智能 智能巡检

YashanDB|Ubuntu 加载 C 驱动后 PHP 启动失败?原来是“库冲突”惹的祸

数据库砖家

数据库·

Kairos:AI Agent 时代的基础设施新范式,重塑全球算力网络

股市老人

用知识图谱重构电商测试用例:精准覆盖业务场景的实践

测试人

人工智能

从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

京东科技开发者

《Operating System Concepts》阅读笔记:p778-p793

codists

操作系统

python 实现消费者优先级队列

天翼云开发者社区

rython 堆队列算法

从Servlet到云原生:一文讲透Java Web容器的核心技术体系

AI时代的一滴水

tomcat 云原生 Java web

Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体

Aloudata

数据分析 大模型 智能问数 智能归因 智能报告

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