【推荐算法】推荐算法演进史:从协同过滤到深度强化学习

在这里插入图片描述

推荐算法演进史:从协同过滤到深度强化学习

      • 一、传统推荐时代:协同过滤的奠基(1990s-2006)
        • 1.1 算法背景:信息爆炸的挑战
        • 1.2 核心算法:协同过滤
        • 1.3 局限性
      • 二、深度学习黎明:神经网络初探(2010-2015)
        • 2.1 算法背景:深度学习的崛起
        • 2.2 奠基模型:Deep Crossing
        • 2.3 NeuralCF:协同过滤的神经网络化
      • 三、特征交叉革命:结构创新浪潮(2016-2017)
        • 3.1 Wide&Deep:记忆与泛化的融合
        • 3.2 DeepFM:自动化特征交叉
        • 3.3 PNN:乘积交互新范式
      • 四、注意力机制时代:用户兴趣建模(2017-2018)
        • 4.1 DIN:动态兴趣网络
        • 4.2 DIEN:兴趣进化网络
      • 五、强化学习前沿:动态环境适应(2018至今)
        • 5.1 DRN:深度强化推荐
        • 5.2 在线学习机制
      • 六、算法效果横向评测
        • 6.1 离线性能对比(Amazon数据集)
        • 6.2 在线业务价值
      • 七、工业应用案例集锦
        • 7.1 淘宝DIN系统
        • 7.2 腾讯视频DeepFM
      • 八、经典面试题与论文
        • 8.1 高频面试题
        • 8.2 必读论文
      • 九、算法优缺点全景分析
        • 9.1 模型能力进化
        • 9.2 优缺点对比
      • 十、未来发展趋势
        • 10.1 技术融合方向
        • 10.2 理论突破前沿
      • 结语:推荐算法的哲学思考

一、传统推荐时代:协同过滤的奠基(1990s-2006)

1.1 算法背景:信息爆炸的挑战

随着互联网内容指数级增长,用户面临信息过载问题。亚马逊在2003年的数据表明:

  • 30%的销售额来自推荐系统
  • 推荐商品转化率是非推荐商品的3倍
    在这里插入图片描述
1.2 核心算法:协同过滤

矩阵分解(MF)成为里程碑:
min ⁡ p , q ∑ ( u , i ) ∈ κ ( r u i − p u T q i ) 2 + λ ( ∣ ∣ p u ∣ ∣ 2 + ∣ ∣ q i ∣ ∣ 2 ) \min_{p,q} \sum_{(u,i) \in \kappa} (r_{ui} - \mathbf{p}_u^T \mathbf{q}_i)^2 + \lambda(||\mathbf{p}_u||^2 + ||\mathbf{q}_i||^2) p,qmin(u,i)κ(ruipuTqi)2+λ(∣∣pu2+∣∣qi2)

  • 用户隐向量 p u \mathbf{p}_u pu:表征用户兴趣
  • 物品隐向量 q i \mathbf{q}_i qi:表征物品特性
用户-物品矩阵
低秩分解
用户隐空间
物品隐空间
1.3 局限性
问题表现案例
冷启动新用户/物品推荐不准新电影推荐失败率>60%
稀疏性长尾物品覆盖不足95%物品获得<10次交互
线性局限无法捕捉复杂关系无法识别“喜欢科幻的程序员也爱科技播客”

💡 转折点:Netflix百万美元悬赏推动算法革命(2006)


二、深度学习黎明:神经网络初探(2010-2015)

2.1 算法背景:深度学习的崛起

ImageNet竞赛中CNN的突破(2012)启发了推荐领域:

  • 神经网络可学习高阶非线性关系
  • Embedding技术可解决稀疏性问题
2.2 奠基模型:Deep Crossing

微软2015年提出首个端到端深度学习推荐系统:

特征
Embedding层
Stacking层
多层ResNet
Scoring层
  • 创新点:残差连接解决梯度消失
  • 效果:广告点击率提升12%
2.3 NeuralCF:协同过滤的神经网络化

y ^ u i = f ( p u , q i ∣ Θ ) \hat{y}_{ui} = f(\mathbf{p}_u, \mathbf{q}_i|\Theta) y^ui=f(pu,qi∣Θ)

  • 用MLP替代点积操作:
    f MLP ( p u , q i ) = σ ( W L ( ⋯ ReLU ( W 1 [ p u ; q i ] ) ) ) f_{\text{MLP}}(\mathbf{p}_u,\mathbf{q}_i) = \sigma(\mathbf{W}_L(\cdots\text{ReLU}(\mathbf{W}_1[\mathbf{p}_u;\mathbf{q}_i]))) fMLP(pu,qi)=σ(WL(ReLU(W1[pu;qi])))
  • 突破:CTR预测AUC提升4.2%

三、特征交叉革命:结构创新浪潮(2016-2017)

3.1 Wide&Deep:记忆与泛化的融合

谷歌2016年提出双路架构:
y ^ = σ ( w w i d e T [ x , ϕ ( x ) ] + w d e e p T α ( L ) + b ) \hat{y} = \sigma(\mathbf{w}_{wide}^T[\mathbf{x},\phi(\mathbf{x})] + \mathbf{w}_{deep}^T\alpha^{(L)} + b) y^=σ(wwideT[x,ϕ(x)]+wdeepTα(L)+b)

  • Wide部分:人工特征交叉(记忆性)
  • Deep部分:MLP学习隐含模式(泛化性)
  • 应用:Google Play下载量提升25%
3.2 DeepFM:自动化特征交叉

华为2017年用FM替代Wide部分:
y F M = ∑ i = 1 d w i x i + ∑ i = 1 d ∑ j = i + 1 d ⟨ v i , v j ⟩ x i x j y_{FM} = \sum_{i=1}^d w_i x_i + \sum_{i=1}^d\sum_{j=i+1}^d \langle \mathbf{v}_i,\mathbf{v}_j\rangle x_i x_j yFM=i=1dwixi+i=1dj=i+1dvi,vjxixj

特征
共享Embedding
FM层
Deep层
输出
  • 优势:自动学习二阶交叉,参数量减少40%
3.3 PNN:乘积交互新范式

上海交大2016年提出乘积层:
z = p u ⊙ q i ( 内积模式 ) \mathbf{z} = \mathbf{p}_u \odot \mathbf{q}_i \quad (\text{内积模式}) z=puqi(内积模式)
z = p u ⊗ q i ( 外积模式 ) \mathbf{z} = \mathbf{p}_u \otimes \mathbf{q}_i \quad (\text{外积模式}) z=puqi(外积模式)

  • 创新:显式构造特征交互矩阵
  • 效果:Criteo数据集AUC达0.839

四、注意力机制时代:用户兴趣建模(2017-2018)

4.1 DIN:动态兴趣网络

阿里2017年首创注意力机制:
α i = exp ⁡ ( v T ReLU ( W [ e i ; e t ] ) ) ∑ j exp ⁡ ( v T ReLU ( W [ e j ; e t ] ) ) \alpha_{i} = \frac{\exp(\mathbf{v}^T\text{ReLU}(\mathbf{W}[\mathbf{e}_i;\mathbf{e}_t]))}{\sum_j \exp(\mathbf{v}^T\text{ReLU}(\mathbf{W}[\mathbf{e}_j;\mathbf{e}_t]))} αi=jexp(vTReLU(W[ej;et]))exp(vTReLU(W[ei;et]))
u = ∑ i α i e i \mathbf{u} = \sum_i \alpha_i \mathbf{e}_i u=iαiei

  • 突破:用户兴趣随目标物品动态变化
  • 成果:淘宝CTR提升20%,GMV提升17%
4.2 DIEN:兴趣进化网络

阿里2018年引入序列建模:

行为序列
GRU层
兴趣状态
AUGRU
兴趣进化
  • 创新:AUGRU(带注意力更新门的GRU)
  • 公式
    h ~ t = ( 1 − α t ) h t − 1 + α t h ~ t \tilde{\mathbf{h}}_t = (1-\alpha_t)\mathbf{h}_{t-1} + \alpha_t \tilde{\mathbf{h}}_t h~t=(1αt)ht1+αth~t
  • 效果:点击率再提升12%

五、强化学习前沿:动态环境适应(2018至今)

5.1 DRN:深度强化推荐

微软2018年提出:
Q ( s , a ) = E [ r t + γ max ⁡ a ′ Q ( s ′ , a ′ ) ] Q(s,a) = \mathbb{E}[r_t + \gamma \max_{a'}Q(s',a')] Q(s,a)=E[rt+γamaxQ(s,a)]

  • 状态 s s s:用户历史行为
  • 动作 a a a:推荐策略
  • 奖励 r r r:用户反馈(点击/购买)
5.2 在线学习机制
用户请求
策略网络
推荐列表
用户反馈
奖励计算
模型更新
  • 创新:双网络结构(在线网络+目标网络)
  • 成效:新闻推荐停留时长提升35%

六、算法效果横向评测

6.1 离线性能对比(Amazon数据集)
模型HR@10NDCG@10训练耗时
MF0.6210.3581x
NeuralCF0.7030.4121.8x
Wide&Deep0.7350.4382.2x
DeepFM0.7620.4672.5x
DIN0.8010.5123.1x
DRN0.8230.5394.3x
6.2 在线业务价值
公司模型核心指标提升
阿里DINGMV +17%
腾讯DeepFMCTR +22%
字节DRN用户时长+28%
美团DIEN订单量+19%

七、工业应用案例集锦

7.1 淘宝DIN系统
  • 架构
    用户行为日志
    Flink实时计算
    特征数据库
    推荐请求
    DIN模型
    推荐结果
  • 特征工程
    • 用户特征:189维(历史点击/购买/收藏)
    • 物品特征:73维(类目/价格/店铺)
  • 成效:双十一GMV增加21亿
7.2 腾讯视频DeepFM
  • 创新:多模态特征融合
    e v = ResNet50 ( 视频帧 ) \mathbf{e}_v = \text{ResNet50}(\text{视频帧}) ev=ResNet50(视频帧)
    e t = BERT ( 标题 ) \mathbf{e}_t = \text{BERT}(\text{标题}) et=BERT(标题)
  • 部署:日均请求量1200亿次,响应<30ms
  • 成果:会员转化率提升18%

八、经典面试题与论文

8.1 高频面试题
  1. Q:MF与NeuralCF的本质区别?
    A:MF是线性点积,NeuralCF用MLP学习非线性交互函数

  2. Q:DIN如何实现兴趣动态变化?
    A:通过目标物品与历史物品的注意力权重:
    α i = f ( e t , e i ) \alpha_i = f(\mathbf{e}_t, \mathbf{e}_i) αi=f(et,ei)

  3. Q:DRN为何需要双网络结构?
    A:避免Q值过估计,目标网络提供稳定训练目标

  4. Q:如何解决Embedding维度爆炸?
    A:混合编码(Hash Trick)+ 分片训练(Sharding)

8.2 必读论文
  1. 矩阵分解:Matrix Factorization Techniques for Recommender Systems
  2. Wide&Deep:Wide & Deep Learning
  3. DeepFM:DeepFM: A Factorization-Machine based Neural Network
  4. DIN:Deep Interest Network
  5. DRN:Deep Reinforcement Learning for List-wise Recommendations

九、算法优缺点全景分析

9.1 模型能力进化
MF
线性交互
NeuralCF
非线性交互
DeepFM
自动特征交叉
DIN
动态兴趣
DRN
长期收益优化
9.2 优缺点对比
模型核心优势主要缺陷
MF可解释性强,计算高效无法捕捉非线性关系
DeepFM自动特征交叉,端到端训练高阶交叉不显式
DIN动态兴趣建模,个性化强序列建模计算量大
DRN长期收益优化,适应环境变化训练不稳定,Reward设计难

十、未来发展趋势

10.1 技术融合方向
  1. 多模态学习
    e = Transformer ( 文本 , 图像 , 视频 ) \mathbf{e} = \text{Transformer}(\text{文本}, \text{图像}, \text{视频}) e=Transformer(文本,图像,视频)
  2. 因果推断:解耦混淆因子
    P ( Y ∣ d o ( X ) ) = ∑ z P ( Y ∣ X , z ) P ( z ) P(Y|do(X)) = \sum_z P(Y|X,z)P(z) P(Ydo(X))=zP(YX,z)P(z)
  3. 联邦学习:隐私保护推荐
    min ⁡ θ ∑ k = 1 K ℓ ( f θ ( x k ) , y k ) \min_\theta \sum_{k=1}^K \ell(f_\theta(x_k), y_k) θmink=1K(fθ(xk),yk)
10.2 理论突破前沿
方向挑战探索模型
可解释性黑盒决策不可信反事实解释网络
公平性消除算法偏见对抗去偏框架
元宇宙推荐3D空间交互神经辐射场推荐

🌟 未来已来:2023年ChatGPT开启生成式推荐新时代,推荐系统正从“过滤信息”向“创造体验”跃迁。


结语:推荐算法的哲学思考

推荐算法的演进本质是人类认知的数字化延伸

  1. 协同过滤:群体智慧的数学表达
  2. 深度学习:神经网络模拟人脑决策
  3. 强化学习:系统与环境的动态博弈

“最好的推荐不是迎合已知,而是启发未知” —— 这不仅是技术挑战,更是对人性的深刻理解。当算法学会在准确性与惊喜度间平衡,在商业价值与用户体验间取舍,它便超越了工具属性,成为连接数字世界与人类需求的智慧桥梁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基于SpringBoot的校园闲置物品交易系统,附源码+文档说明

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

Ajax Systems公司的核心产品有哪些?

Ajax Systems 是一家专注于家庭安全和智能系统的公司&#xff0c;其核心产品如下3&#xff1a; 入侵保护设备&#xff1a;如 MotionCam Outdoor 无线室外运动探测器&#xff0c;配备内置摄像头和两个红外传感器&#xff0c;可通过预装电池运行长达三年&#xff0c;能在 15 米距…

64、js 中require和import有何区别?

在 JavaScript 中&#xff0c;require 和 import 都是用于模块导入的语法&#xff0c;但它们属于不同的模块系统&#xff0c;具有显著的区别&#xff1a; 1. 模块系统不同 require 属于 CommonJS 模块系统&#xff08;Node.js 默认使用&#xff09;。 语法&#xff1a;const…

Java+Access综合测评系统源码分享:含论文、开题报告、任务书全套资料

JAVAaccess综合测评系统毕业设计 一、系统概述 本系统采用Java Swing开发前端界面&#xff0c;结合Access数据库实现数据存储&#xff0c;专为教育机构打造的综合测评解决方案。系统包含学生管理、题库管理、在线测评、成绩分析四大核心模块&#xff0c;实现了测评流程的全自…

【python】RGB to YUV and YUV to RGB

文章目录 1、YUV2、YUV vs RGB3、RGB to YUV4、YUV to RGB附录——YUV NV12 vs YUV NV21参考1、YUV YUV 颜色空间,又常被称作 YCbCr 颜色空间,是用于数字电视的颜色空间,在 ITU-R BT.601、BT.709、BT.2020 标准中被明确定义,这三种标准分别针对标清、高清、超高清数字电视…

运行示例程序和一些基本操作

欢迎 ----> 示例 --> 选择sample CTRL B 编译代码 CTRL R 运行exe 项目 中 Shadow build 表示是否 编译生成文件和 源码是否放一块 勾上不在同一个地方 已有项目情况下怎么打开项目 方法一: 左键双击 xxx.pro 方法二: 文件菜单里面 选择打开项目

计算机网络第2章(下):物理层传输介质与核心设备全面解析

目录 一、传输介质1.1 传输介质的分类1.2 导向型传输介质1.2.1 双绞线&#xff08;Twisted Pair&#xff09;1.2.2 同轴电缆&#xff08;Coaxial Cable&#xff09;1.2.3 光纤&#xff08;Optical Fiber&#xff09;1.2.4 以太网对有线传输介质的命名规则 1.3 非导向型传输介质…

PHP文件包含漏洞详解:原理、利用与防御

PHP文件包含漏洞详解&#xff1a;原理、利用与防御 什么是文件包含漏洞&#xff1f; 文件包含漏洞是PHP应用程序中常见的安全问题&#xff0c;当开发者使用包含函数引入文件时&#xff0c;如果传入的文件名参数未经严格校验&#xff0c;攻击者就可能利用这个漏洞读取敏感文件…

5.4.2 Spring Boot整合Redis

本次实战主要围绕Spring Boot与Redis的整合展开&#xff0c;首先创建了一个Spring Boot项目&#xff0c;并配置了Redis的相关属性。接着&#xff0c;定义了三个实体类&#xff1a;Address、Family和Person&#xff0c;分别表示地址、家庭成员和个人信息&#xff0c;并使用Index…

java内存模型JMM

Java 内存模型&#xff08;Java Memory Model&#xff0c;JMM&#xff09;定义了 Java 程序中的变量、线程如何和本地内存以及主内存进行交互的规则。它主要涉及到多线程环境下的共享变量可见性、指令重排等问题&#xff0c;是理解并发编程中的关键概念。 核心概念&#xff1a…

配置git命令缩写

以下是 Git 命令缩写的配置方法及常用方案&#xff0c;适用于 Linux/macOS/Windows 系统&#xff1a; &#x1f527; 一、配置方法 1. 命令行设置&#xff08;推荐&#xff09; # 基础命令缩写 git config --global alias.st status git config --global alias.co che…

准确--k8s cgroup问题排查

k8s cgroup问题排查 6月 06 17:20:39 k8s-node01 containerd[1515]: time"2025-06-06T17:20:39.42902033408:00" levelerror msg"StartContainer fo r \"46ae0ef9618b96447a1f28fd2229647fe671e8acbcec02c8c46b37051130c8c4\" failed" error&qu…

Go 中 map 的双值检测写法详解

Go 中 map 的双值检测写法详解 在 Go 中&#xff0c;if char, exists : pairs[s[i]]; exists { 是一种利用 Go 语言特性编写的优雅条件语句&#xff0c;用于检测 map 中是否存在某个键。让我们分解解释这种写法&#xff1a; 语法结构解析 if value, ok : mapVariable[key]; …

C# Wkhtmltopdf HTML转PDF碰到的问题

最近碰到一个Html转PDF的需求&#xff0c;看了一下基本上都是需要依赖Wkhtmltopdf&#xff0c;需要在Windows或者linux安装这个可以后使用。找了一下选择了HtmlToPDFCore&#xff0c;这个库是对Wkhtmltopdf.NetCore简单二次封装&#xff0c;这个库的好处就是通过NuGet安装HtmlT…

grafana 批量视图备份及恢复(含数据源)

一、grafana 批量视图备份 import requests import json import urllib3 import osfrom requests.auth import HTTPBasicAuthfilename_folders_map "folders_map.json" type_folder "dash-folder" type_dashboard "dash-db"# Grafana服务器地…

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…

露亦如电 · 时之沙 | 让遗憾在灰烬里随风而去

注&#xff1a;略作重排&#xff0c;未整理去重。 一个人最了不起的能力&#xff1a;快速翻篇 原创 十点邀约作者 棠唐 2022 年 11 月 29 日 20:12 福建 《了凡四训》有言&#xff1a;“从前种种&#xff0c;譬如昨日死&#xff1b;从后种种&#xff0c;譬如今日生。” 人生犹…

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…

FastAPI安全机制:从OAuth2到JWT的魔法通关秘籍

title: FastAPI安全机制:从OAuth2到JWT的魔法通关秘籍 date: 2025/06/07 08:40:35 updated: 2025/06/07 08:40:35 author: cmdragon excerpt: FastAPI 的安全机制基于 OAuth2 规范、JWT 和依赖注入系统三大核心组件,提供了标准化的授权框架和无状态的身份验证。OAuth2 密码流…

超大规模芯片验证:基于AMD VP1902的S8-100原型验证系统实测性能翻倍

引言&#xff1a; 随着AI、HPC及超大规模芯片设计需求呈指数级增长原型验证平台已成为芯片设计流程中验证复杂架构、缩短迭代周期的核心工具。然而&#xff0c;传统原型验证系统受限于单芯片容量&#xff08;通常<5000万门&#xff09;、多芯片分割效率及系统级联能力&#…