什么是「推荐系统」,有哪些主要的推荐方法?

2023-11-05

1 什么是推荐系统

什么是推荐系统?根据维基百科的定义, 它是一种信息过滤系统,主要功能是预测用户对物品 的评分和偏好。这一定义回答了推荐系统的功能是过滤信息、连接用户和推送信息。将这一定义扩 展一下, 推荐系统就是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现 令他们感兴趣的信息, 也能够将信息推送给感兴趣的用户。

推荐系统起源于 20 世纪 90 年代,经过 20 多年的积累和沉淀, 已经逐渐成为一门独立的学科, 并在学术研究和工业界的应用中取得了诸多成果, 如图 1- 1 所示。

如今,随着深度学习在推荐系统的广泛应用,推荐系统领域正式迈入了深度学习时代,微软 (Microsoft)、谷歌(Google)、百度、阿里巴巴等公司成功地在推荐、广告等业务场景中应用了深度 学习模型。推荐系统被应用于如下所示的诸多业务场景中。

● 信息流推荐场景,比如今日头条新闻推荐、360 快资讯、微信看一看等。

● 视频网站,比如 YouTube、腾讯视频、抖音等。

● 电商网站,比如淘宝、京东、亚马逊(Amazon)等。

个性化广告场景,比如百度、谷歌、 360 等网站的广告推荐模块。

● 个性化音乐场景,比如 QQ 音乐、酷狗音乐等 App 的音乐推荐模块。

● 社交网站,比如 Facebook、微信、领英等。

2 推荐系统的作用和意义

站在互联网企业的角度,在互联网应用及用户规模“爆炸式” 增长的时代, 如何做到千人千面, 为每个用户提供个性化的服务, 从而提升产品的使用率和用户黏性呢?这是推荐系统需要解决的 问题。站在用户的角度,面对海量的信息,如何高效检索自己感 兴趣的内容呢?这也是推荐系统需要解决的问题。

和搜索引擎不同, 个性化推荐系统需要依赖用户的行为数据。 对于不同的应用场景,推荐系统的优化目标是不一样的,比如淘 宝这样的电商平台关注的主要是用户点击后的转化率(conversion rate ,CVR);而 YouTube 这样的视频分享平台关注的主要是用户 的观看时长,这是因为 YouTube 的主要收入源于广告,增加用户 的观看时长可以提高广告的曝光度。

为了更直观地区分推荐系统在不同应用场景下发挥的作用, 本章尝试用两个应用场景来描述。

第一个应用场景是今日头条 App 新闻推荐频道 (见图 1-2)。 2018 年 1 月,今日头条的算法架构师发文公布了今日头条的算法 原理,文中提到今日头条关注的目标包含点击率 (click-throughrate ,CTR)、阅读时间、点赞、评论、转发等, 而其中最主要的目标就是 CTR。这主要是因为点击 量和公司的商业目标直接相关,而通过优化点击率来提升点击量是最直接的方法。

第二个应用场景是 YouTube 视频推荐。YouTube 是一个视频网站, 成立于 2005 年,每天要为全 球成千上万的用户提供高水平的视频上传、分发、展示、浏览服务。图 1-3 所示为 YouTube 网站首 页,里面包含各种形式的视频。前面提到过 YouTube 主要优化的是用户观看时长,算法工程师需要 根据业务指标调整模型结构和优化目标。早在 2016 年,YouTube 的算法工程师在 RecSys 会议上发表 了论文“Deep Neural Networks for YouTube Recommendations”非常明确地指出了将优化用户观看时 长设为最终优化目标的建模方法。在随后 2019 年的 WSDM 会议上,另一篇有关强化学习的论文“Top- KOff-Policy Correction for a REINFORCE Recommender System”提出的最终优化目标也是优化用户观 看时长,模型上线后总的用户观看时长提升 0.86%。后面的章节将会详细介绍这两篇论文的技术细节。

本文摘自《推荐系统技术原理与实践

文亮著

分层介绍推荐系统全链路架构,精选大厂前沿技术方案,帮助读者深入学习、实践推荐系统知识体系,深度解读推荐系统技术的应用场景和前沿实践!

1.集机器学习和深度学习于一身,由360资深算法专家撰写,让你轻松掌握推荐系统的核心技术。

2.覆盖推荐系统召回、粗排、精排和重排全链路,本书从多个角度审视推荐系统中的公平性问题、知识蒸馏、冷启动等前沿实践,是推荐系统领域实践者不容错过的指南。

3.以业界实践为基础,介绍推荐系统的核心技术。通过谷歌、阿里巴巴等大型互联网公司在4层级联架构中的模型设计和实现原理,快速了解业内主流解决方案,搭建属于自己的实用知识体系。

本书系统介绍推荐系统的技术理论和实践。首先介绍推荐系统的基础知识;然后介绍推荐系统常用的机器学习和深度学习模型;接着重点介绍推荐系统的4层级联架构,包括召回、粗排、精排和重排,以及谷歌、阿里巴巴等大型互联网公司在4层级联架构中的模型设计和实现原理;紧接其后介绍多目标排序在推荐系统中的应用,具体介绍阿里巴巴、谷歌等大型互联网公司的实践;最后从不同角度审视推荐系统,介绍公平性问题、知识蒸馏、冷启动等各种前沿实践。本书基于一线研发人员的视角向读者分享推荐系统的实践经验,所有模型结构和前沿实践都在业务场景中落地。

本书适合推荐系统领域的从业者、高校科研人员、高校计算机专业学生,以及对推荐系统感兴趣的产品研发人员和运营人员阅读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是「推荐系统」,有哪些主要的推荐方法? 的相关文章

随机推荐

  • BUUCTF Misc 二维码 & 你jing然赶我走 & 大白 & N种方法解决 & 乌镇峰会种图1 & 基础po解

    目录 二维码 你竟然赶我走 大白 N种方法解决 乌镇峰会种图 基础po解 二维码 下载文件 一个二维码 使用 QR research扫描 扫描完提示flag就在这 把二维码拖入010 editor打开 有个txt文档 使用kali中的bin
  • win7安装vmtools

    打开该虚拟机的虚拟机设置 选择软盘 设备状态设置为启动时连接 连接选择使用物理驱动器并使用自动检测 如图所示 然后保存并退出设置 在虚拟机选项中就可以选择安装vmtools了 或者在该虚拟机中选择软盘进行安装
  • 一周简报(维护项目空间)

    这一周 是9月的第三周了 我依然战斗在XX海油上 本周我的主要任务是处理项目空间中的一个需求变更 顾客就是上帝 对于他们合理的需求 我们努力去做到尽善尽美 当然也要保证在客户要求的时间内去完成 在这个高节奏 快步伐的时代 效率和质量是大家追
  • Unity 游戏框架搭建 2019 (四十六) 简易消息机制

    在上一篇 我们接触了单例 使用单例解决了我们脚本之间访问的问题 脚本之间访问其实有更好的方式 我们先分下脚本访问脚本的几种形式 第一种 A GameObject 是 B GameObject 的 Parent 或者是中间隔着几个层级的 Pa
  • 蓝桥杯-高精度阶乘(Java代码)

    问题描述 输入一个正整数n 输出n 的值 其中n 123 n 算法描述 n 可能很大 而计算机能表示的整数范围有限 需要使用高精度计算的方法 使用一个数组A来表示一个大整数a A 0 表示a的个位 A 1 表示a的十位 依次类推 将a乘以一
  • 昆仑天工AIGC——基于Stable Diffusion的多语言AI作画大模型测评

    文章目录 1 AIGC 2 技术背景 2 1 Stable Diffusion 2 1 1 图像感知压缩 Perceptual Image Compression 2 1 2 隐扩散模型 Latent Diffusion Models 2
  • ModelSerializer序列化与反序列化(重点)

    视图类 class UserV3APIView APIView 单查群查 def get self request args kwargs pk kwargs get pk if pk user obj models User object
  • 2020年第十一届蓝桥杯第二场省赛B组C++题解

    2020年第十一届蓝桥杯第二场省赛B组C 题解 题单 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 题单 第一题 小蓝要为一条街的住户制作门牌号 这条街一共有 2020 位住户 门牌号从 1 到 2020 编号 小蓝制作门
  • Win10多用户远程桌面连接

    Win10远程桌面多用户连接 实验室的服务器需要多人同时登入 我在网上找到了能够成功使用Win 10 远程连接的方法 现在我把我的操作过程记录下来 供大家交流学习 文章目录 Win10远程桌面多用户连接 方法原理 一 使用步骤 1 下载RD
  • SeekBar自定义(颜色,大小,图片)

    要实现下面图的效果 import android os Bundle Seekbar 自定义 颜色 author Andy public class TestSeekBar extends Activity Override protect
  • Android Studio 3.0正式版填坑之路

    Android Studio 3 0启动图 序言 总看别人的文章 今天尝试着自己来写一篇 在逛论坛时候 无意间发现Android Studio 3 0正式版本推送更新了 早听说AS 3 0添加了许多新功能 然后手贱迫不及待地想先睹为快 结果
  • FreeRTOS系列

    本文主要介绍如何在任务或中断中向队列发送消息或者从队列中接收消息 使用STM32CubeMX将FreeRTOS移植到工程中 创建两个任务以及两个消息队列 并开启两个中断 两个任务 Keyscan Task 读取按键的键值 并将键值发送到队列
  • JavaScript异步编程---同步模式、异步模式、回调函数

    概述 众所周知 当前主流的JavaScript环境都是以单线程模式去执行代码的 其原因和当时设计该语言的初衷有关系 最早这门语言就是运行在浏览器上的脚本语言 目的是为了实现页面上的动态交互 其核心就是dom操作 该点决定了他必须要使用单线程
  • protobuf详细介绍和使用

    一 protobuf初识 一 protocol buffers 是什么 protocol buffers 是一种灵活 高效 自动化机制的结构数据序列化方法 可类比 XML 但是比 XML 更小 更快 更为简单 你可以定义数据的结构 然后使用
  • ChatGPT帮你30秒生成大师销售文案『AI效率神器』

    一篇好的销售文案大家都应该知道其重要性 但是 想要撰写一篇好的销售文案也并不容易 尤其是对于新手来说 需要有一定的写作技巧和经验 但是现在有了ChatGPT就不用担心啦 即便你是个完完全全的菜鸟 也可以利用AI轻松快速的模仿出销售大师才能撰
  • Git教程 - 如何新建干净的分支?(不基于其他分支)

    背景 分支整理 想要在原有GIT项目上创建一个新分支 但从浏览器端操作 发现都必须要基于其他分支创建 这样的话 新分支会包含旧分支的代码和历史提交信息 这里想创建一个空白的分支 尝试了以下方法解决 步骤 clone远程项目 git clon
  • Mybatis

    本文章根据尚硅谷在哔哩哔哩发布的视频的评论区中的网友 拂星星 提供的markdown文档整理而来 1 Mybatis简介 1 1 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis 2010年6月这个项目由Apa
  • Vuforia——VuMark 的使用

    一 创建KEY就不详说了 二 创建VuMark图片 Download DataBase 将资源导入 unity 其中Gnerate VuMark用于下载供手机扫描的不同ID图片 三 将图中两个预制物拖入Hierarchy中 填入key 勾选
  • [激光原理与应用-51]:《激光焊接质量实时监测系统研究》-2-激光焊接及其物理现象

    目录 2 1 激光焊接过程概述 2 1 1 激光焊接的特点 2 1 2 焊接质量的影响因素 2 1 3 激光焊接热源模型 2 1 4 激光焊接技术的发展前景与面临的挑战 2 2 激光焊接中的小孔效应及光致等离子体 2 2 1 激光焊接中的小
  • 什么是「推荐系统」,有哪些主要的推荐方法?

    1 什么是推荐系统 什么是推荐系统 根据维基百科的定义 它是一种信息过滤系统 主要功能是预测用户对物品 的评分和偏好 这一定义回答了推荐系统的功能是过滤信息 连接用户和推送信息 将这一定义扩 展一下 推荐系统就是自动联系用户和物品的一种工具