写点什么

推荐算法综述(一)

  • 2015-12-22
  • 本文字数:2172 字

    阅读完需:约 7 分钟

【编者按】推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点,InfoQ 接下来将会策划系列文章来为读者深入介绍。推荐算法综述分文五个部分,本文作为第一篇,将会简要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入、不同的细分类型以及其优点和缺点。在第二和第三篇中,我们将会详细介绍这些算法的区别,让你能够深入理解他们的工作原理。

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

为推荐系统选择正确的推荐算法是非常重要的决定。目前为止,已经有许多推荐算法可供选择,但为你需要解决的特定问题选择一种特定的算法仍然很困难。每一种推荐算法都有其优点和缺点,当然也有其限制条件,在作出决定之前,你必须要一一考量。在实践中,你可能会测试几种算法,以发现哪一种最适合你的用户,测试中你也会直观地发现它们是什么以及它们的工作原理。

另外,想迅速了解并掌握推荐系统的同学,可以购买极客时间出品的『推荐系统三十六式』专栏,作者在推荐系统方面有 8 年的经验,为推荐系统学习者架构起整体的知识脉络,并在此基础上补充实践案例与经验,力图解决系统起步阶段 80% 的问题。

推荐系统算法通常是某类推荐模型的实现,它负责获取数据,例如用户的喜好和可推荐项的描述,以及预测给定的用户组会对哪些选项感兴趣。

推荐算法通常被分为四大类(1-4):

  • 协同过滤推荐算法
  • 基于内容的推荐算法
  • 混合推荐算法
  • 流行度推荐算法

除了这些种类以外,还有一些高级非传统的推荐算法(5)。

推荐算法综述是分文五个部分的系列文章,本文作为第一篇,将会简要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入、不同的细分类型以及其优点和缺点。在第二和第三篇中,我们将会详细介绍这些算法的区别,让你能够深入理解他们的工作原理。系列文章中的一些内容参考了一篇来自 RecSys 2014 tutorial 的文章:由 Xavier Amatriain 编写的 The Recommender Problem Revisited

1. 协同过滤推荐算法

  • 简介:通过在用户的一系列行为中寻找特定模式来产生用户特殊推荐

  • 输入:仅仅依赖于惯用数据(例如评价、购买、下载等用户偏好行为)

  • 类型:

    • 基于邻域的协同过滤(基于用户和基于项)
    • 基于模型的协同过滤(矩阵因子分解、受限玻尔兹曼机、贝叶斯网络等等)
  • 优点:

    • 需要最小域
    • 不需要用户和项
    • 大部分场景中能够产生足够好的结果
  • 缺点:

    • 冷启动问题
    • 需要标准化产品
    • 需要很高的用户和项的比例(1:10)
    • 流行度偏见(有长尾的时候表现不够好)
    • 难于提供解释

2. 基于内容的推荐算法

  • 简介:向用户推荐和其过去喜欢项的内容(例如元数据、描述、话题等等)相似的项

  • 输入:仅仅依赖于项和用户的内容 / 描述(除了惯用数据)

  • 类型:

    • 信息检索(例如 tf-idf 和 Okapi BM25)
    • 机器学习(例如朴素贝叶斯、支持向量机、决策树等等)
  • 优点:

    • 没有冷启动问题
    • 不需要惯用数据
    • 没有流行度偏见,可以推荐有罕见特性的项
    • 可以使用用户内容特性来提供解释
  • 缺点:

    • 项内容必须是机器可读的和有意义的
    • 容易归档用户
    • 很难有意外,缺少多样性
    • 很难联合多个项的特性

3. 混合推荐算法

  • 简介:综合利用协同过滤推荐算法和基于内容的推荐算法各自的优点同时抵消各自的缺点

  • 输入:同时使用用户和项的内容特性与惯用数据,同时从两种输入类型中获益

  • 类型:

    • 加权
    • 交换
    • 混合
    • 特性组合
    • 案列
    • 特征增强
    • 元层次
  • 优点:

    • 由于单独使用协同过滤推荐算法和基于内容的推荐算法
    • 没有冷启动问题
    • 没有流行度偏见,可推荐有罕见特性的项
    • 可产生意外,实现多样性
  • 缺点:

    • 需要通过大量的工作才能得到正确的平衡

4. 流行度推荐算法

  • 简介:这是一种推荐流行项的方法 (例如最多下载、最多看过、最大影响的项)

  • 输入:使用惯用数据和项的内容(例如类目)

  • 优点:

    • 相对容易实现
    • 良好的基准算法
    • 有助于解决新用户冷启动问题
  • 缺点:

    • 需要标准化产品
    • 经常需要一些项的类型进行分类
    • 不会推荐新项(很少有机会被观测到)
    • 推荐列表不会改变太大

5. 高级非传统推荐算法

  • 类型:

    • 深度学习
    • 学习等级
    • Multi-armed bandits(探索 / 开发)
    • 上下文感知推荐
    • 张量分解
    • 分解机
    • 社会推荐
  • 优点:

    • 利于勉强维持最终性能百分点
    • 你可以说你正在使用渐进的方式
  • 缺点:

    • 难于理解
    • 缺乏推荐工具支持
    • 没有为你的首个推荐系统提供推荐的方式

查看英文原文: Overview of Recommender Algorithms – Part 1

关于作者

Maya Hristakeva 是 Mendeley 和 RELX 团队的首席数据科学家,致力于创建能够帮助研究者连接他们的研究和合作者的工具。她本人的研究领域是可扩展的机器学习、推荐系统和优化算法。她也对端对端的构建数据产品过程感兴趣:从算法到好的用户体验。

Kris Jack 是 Mendeley 的首席数据科学家,同时也是 RELX 团队的数据科学家的负责人。他热衷于创造能够帮助人们理解和传达复杂信息以及做出新发现的软件。他的主要研究兴趣在于推荐系统、信息检索、信息抽取、机器学习、人工智能等等。他还热衷于将技术转化为真正对用户有用的产品以及参与能够创造奇迹的团队。

Maya 和 Kris 共同为世界创建出了一些出色的推荐系统。他们最新的产品是给研究员使用的推荐系统:Mendeley Suggest。


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

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

2015-12-22 17:1944581
用户头像

发布了 32 篇内容, 共 20.3 次阅读, 收获喜欢 8 次。

关注

评论

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

生产管理系统(源码+文档+讲解+演示)

深圳亥时科技

WebGL开发3D展示的框架

北京木奇移动技术有限公司

软件外包公司 webgl开发 3D软件开发

京东商品评论API接口全攻略

tbapi

京东API 京东商品评论API 京东评论数据接口 京东评论采集

AI大模型运维开发探索第四篇:智能体分阶段演进路线

阿里云大数据AI技术

开源 AI 中间件 智能运维 大模型

精细化运营成共识,分享三点经验一个模型

奇点云

互联网 运营 数字化

LED显示屏在数字广告中的应用

Dylan

广告 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

京东店铺所有商品API接口全攻略

tbapi

京东API接口 京东店铺所有商品API接口 京东店铺所有商品采集

极致出海友好,融云 IM 支持消息免打扰设置时区

融云 RongCloud

【每日学点HarmonyOS Next知识】自定义对话框关闭、WaterFlow嵌套、状态栏颜色、滚动吸附、滚动动效

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】顶部状态栏、文本最大行数后缀、弹窗背景、状态栏颜色、导航

轻口味

HarmonyOS HarmonyOS NEXT

用友BIP数智采购:以AI 驱动的SRM提高采购决策

用友BIP

智能体 数智化 用友BIP 采购

实战分享!!HarmonyOS NEXT开发一款智能会议小助手应用

莓创技术

京东商品列表API接口全攻略

tbapi

淘宝API 京东商品列表数据采集 京东商品列表API

Blackbox.Ai体验:AI编程插件如何提升开发效率

袁袁袁袁满

大模型 ChatGPT AI插件 免费AI工具

【每日学点HarmonyOS Next知识】上下拉刷新、scroll嵌套web、this指向、路由方案、输入法遮挡

轻口味

HarmonyOS HarmonyOS NEXT

KCD 北京站丨Volcano 邀您畅聊云原生智能调度技术与应用

华为云原生团队

云计算 容器 云原生 Volcano

《Operating System Concepts》阅读笔记:p272-p285

codists

操作系统

【每日学点HarmonyOS Next知识】重叠顺序、对话框位置、事件总线、PageMap显示、多表多item类型

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】拖拽调整列表顺序、tab回弹、自定义弹窗this、状态变量修饰枚举

轻口味

HarmonyOS HarmonyOS NEXT

国产大模型崛起!ERP国产替代破局时刻到来!

用友BIP

智能体 数智化 用友BIP ERP国产替代

医疗 AI 劲旅登场,狄耐克鸿蒙智慧医院稳步前行

新消费日报

WebGL开发3D展示软件

北京木奇移动技术有限公司

软件外包公司 webgl开发 3D软件开发

使用HarmonyOS NEXT实现签名板的功能

莓创技术

烟草公司×中烟创新 | 同频共振,共赴数字征程

中烟创新

【每日学点HarmonyOS Next知识】自定义弹窗背景、状态管理V2实践、底部安全高度、OCR识别结果处理、Grid分割线

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】状态变量、动画UI残留、Tab控件显示、ob前缀问题、文字背景拉伸

轻口味

HarmonyOS HarmonyOS NEXT

数据治理解决方案,数据治理技术方案,主数据管理,数据安全管理(Word原件)

金陵老街

数据治理 主数据管理 数据安全管理

2025用友四川企业数智化创新峰会成功举办!

用友智能财务

AI 财务 会计

【每日学点HarmonyOS Next知识】防止重复点击、对话框收拾拦截、自定义键盘焦点、页面层级、自定义对话框创建

轻口味

HarmonyOS HarmonyOS NEXT

查询队列(Query Queue)快速入门

阿里云大数据AI技术

大数据 阿里云 OLAP hologres 查询队列

NocoBase v1.6.0 正式版发布

NocoBase

开源 低代码 集群 无代码 版本更新

推荐算法综述(一)_语言 & 开发_百占辉_InfoQ精选文章