《互联网大厂推荐算法实战》介绍了互联网大厂当前采用的一些前沿推荐算法,并梳理了这些算法背后的思想脉络与技术框架。
《互联网大厂推荐算法实战》总计10章,内容涵盖了推荐系统的基础知识、推荐系统中的特征工程、推荐系统中的Embedding、推荐系统的各组成模块(包括召回、粗排、精排与重排)所使用的算法技术、推荐算法实践中经常会遇到的难题以及应对之道(其中涉及多任务推荐、多场景推荐、新用户冷启动、新物料冷启动、评估模型效果、定位并解决问题等),最后还用一章的篇幅介绍了推荐算法工程师在工作、学习、面试时应该采取的做法。
《互联网大厂推荐算法实战》既适合推荐系统、计算广告、个性化搜索领域的从业人员阅读,也适合希望从事互联网算法工作的在校学生阅读。
1.作者赵传霖博士具有深厚的学术背景和丰富的实践经验,是知识平台上的优秀答主,并在互联网算法领域有着10余年的从业经验。他的经验和专业知识将为读者提供宝贵的指导和见解。
2.内容涵盖了推荐系统的基础知识和前沿技术。不仅介绍了推荐系统的基础知识、特征工程等核心概念,还涵盖了推荐系统的各个组成模块所使用的算法技术,帮助读者全面了解推荐系统的各个方面。
3.介绍推荐算法的基本原理和框架,还提供了解决实际问题的实用指南。读者将学习到如何应对多任务推荐、多场景推荐、新用户冷启动等常见难题,并了解如何评估模型效果和定位问题。
4.无论是在职人员还是学生,都可以通过阅读本书来深入了解互联网大厂的前沿推荐算法和技术,提升自己的专业能力和竞争力。
赵传霖,博士,毕业于清华大学电气工程专业,知乎“机器学习”话题优秀答主,目前在北京快手科技有限公司担任算法专家,拥有10余年的互联网算法从业经验,主要研究方向为推荐系统、计算广告、个性化搜索。分别以知识平台的“石塔西”账号和“石塔西的说书馆”自媒体号发表了多篇以推荐算法为主题的原创性文章,深受广大读者的好评,并曾经4次获得知乎创作排行榜“知势榜?影响力榜”(科技互联网领域)第1名。
第 1章 推荐系统简介 1
1.1 推荐系统的意义 2
1.2 推荐系统是如何运行的 3
1.3 推荐系统架构 5
1.3.1 功能架构 5
1.3.2 数据架构 8
1.4 推广搜的区别与联系 10
1.4.1 三驾马车的相同点 10
1.4.2 推荐与搜索 11
1.4.3 推搜与广告 12
1.5 小结 12
第 2章 推荐系统中的特征工程 14
2.1 批判“特征工程过时”的错误论调 15
2.2 特征提取 16
2.2.1 物料画像 16
2.2.2 用户画像 18
2.2.3 交叉特征 21
2.2.4 偏差特征 22
2.3 数值特征的处理 25
2.3.1 处理缺失值 25
2.3.2 标准化 25
2.3.3 数据平滑与消偏 26
2.3.4 分桶离散化 27
2.4 类别特征的处理 28
2.4.1 类别特征更受欢迎 28
2.4.2 类别特征享受VIP服务 29
2.4.3 映射 30
2.4.4 特征哈希 31
2.5 小结 32
第3章 推荐系统中的Embedding 33
3.1 无中生有:推荐算法中的Embedding 33
3.1.1 传统推荐算法:博闻强识 33
3.1.2 推荐算法的刚需:扩展性 35
3.1.3 深度学习的核心思想:无中生有的Embedding 36
3.1.4 Embedding的实现细节 37
3.2 共享Embedding还是独占Embedding 42
3.2.1 共享Embedding 42
3.2.2 独占Embedding 43
3.3 Parameter Server:推荐算法的训练加速器 46
3.3.1 传统分布式计算的不足 46
3.3.2 基于PS的分布式训练范式 47
3.3.3 PS中的并行策略 49
3.3.4 基于ps-lite实现分布式算法 51
3.3.5 更先进的PS 57
3.4 小结 60
第4章 精排 61
4.1 推荐算法的5个维度 61
4.2 交叉结构 62
4.2.1 FTRL:传统时代的记忆大师 62
4.2.2 FM:半只脚迈入DNN的门槛 69
4.2.3 Wide & Deep:兼顾记忆与扩展 71
4.2.4 DeepFM:融合二阶交叉 74
4.2.5 DCN:不再执着于DNN 76
4.2.6 AutoInt:变形金刚做交叉 79
4.3 用户行为序列建模 86
4.3.1 行为序列信息的构成 86
4.3.2 简单Pooling 86
4.3.3 用户建模要“千物千面” 87
4.3.4 建模序列内的依赖关系 89
4.3.5 多多益善:建模长序列 91
4.4 小结 96
第5章 召回 97
5.1 传统召回算法 97
5.1.1 基于物料属性的倒排索引 98
5.1.2 基于统计的协同过滤算法 99
5.1.3 矩阵分解算法 99
5.1.4 如何合并多路召回 100
5.2 向量化召回统一建模框架 101
5.2.1 如何定义正样本 102
5.2.2 重点关注负样本 103
5.2.3 解耦生成Embedding 105
5.2.4 如何定义优化目标 106
5.3 借助Word2Vec 111
5.3.1 最简单的Item2Vec 112
5.3.2 Airbnb召回算法 116
5.3.3 阿里巴巴的EGES召回 118
5.4 “瑞士军刀”FM的召回功能 120
5.4.1 打压热门物料 121
5.4.2 增广Embedding 122
5.5 大厂主力:双塔模型 124
5.5.1 不同场景下的正样本 124
5.5.2 简化负采样 124
5.5.3 双塔结构特点 126
5.5.4 Sampled Softmax Loss的技巧 127
5.5.5 双塔模型实现举例 129
5.6 邻里互助:GCN召回 131
5.6.1 GCN基础 131
5.6.2 PinSage:大规模图卷积的经典案例 134
5.6.3 异构图上的GCN 142
5.7 小结 143
第6章 粗排与重排 145
6.1 粗排 146
6.1.1 模型:双塔仍然是主力 146
6.1.2 目标:拜精排为师 154
6.1.3 数据:纠正曝光偏差 158
6.1.4 模型:轻量级全连接 159
6.2 重排 161
6.2.1 基于启发式规则 162
6.2.2 基于行列式点过程 165
6.2.3 基于上下文感知的排序学习 174
6.3 小结 180
第7章 多任务与多场景 181
7.1 多任务推荐 181
7.1.1 多任务建模的误区 182
7.1.2 并发建模 182
7.1.3 串行建模 193
7.1.4 多个损失的融合 202
7.1.5 多个打分的融合 206
7.2 多场景推荐 209
7.2.1 特征位置 210
7.2.2 模型结构 211
7.2.3 模型参数 215
7.3 小结 217
第8章 冷启动 219
8.1 Bandit算法 219
8.1.1 多臂老虎机问题 220
8.1.2 Epsilon Greedy 221
8.1.3 UCB 222
8.1.4 概率匹配 223
8.1.5 Bayesian Bandit 223
8.1.6 上下文Bandit 225
8.2 元学习 228
8.2.1 什么是元学习 228
8.2.2 什么是MAML 230
8.2.3 MAML针对推荐场景的改造 233
8.2.4 Meta-Embedding 236
8.3 对比学习 242
8.3.1 对比学习简介 242
8.3.2 对比学习在推荐系统中的作用与使用方式 244
8.3.3 辨析对比学习与向量化召回 246
8.3.4 纠偏长尾物料的实践 247
8.3.5 纠偏小众用户的实践 249
8.4 其他算法 251
8.4.1 迁移学习 251
8.4.2 预测物料消费指标 252
8.4.3 以群体代替个体 253
8.4.4 借鉴多场景推荐 254
8.5 小结 255
第9章 评估与调试 256
9.1 离线评估 256
9.1.1 评估排序算法 257
9.1.2 评估召回算法 261
9.1.3 人工评测 266
9.1.4 持续评估 267
9.2 在线评估:A/B实验 267
9.2.1 线上:流量划分 268
9.2.2 线下:统计分析 273
9.3 打开模型的黑盒 276
9.3.1 外部观察 276
9.3.2 内部剖析 277
9.4 线下涨了,线上没效果 280
9.4.1 特征穿越 280
9.4.2 老汤模型 282
9.4.3 冰山:系统的内在缺陷 284
9.4.4 链路一致性问题 285
9.5 小结 286
第 10章 推荐算法工程师的自我修养 287
10.1 工作 287
10.1.1 重视代码的规范性 287
10.1.2 重视离线评测 288
10.1.3 重视使用工具 289
10.2 学习 290
10.2.1 坚持问题导向 290
10.2.2 重在举一反三 291
10.2.3 敢于怀疑 292
10.2.4 落实代码细节 293
10.3 面试 293
10.3.1 社招 294
10.3.2 校招 296
10.4 小结 297