大规模推荐系统实战
出版时间:
2022-08
版次:
1
ISBN:
9787115593856
定价:
99.80
装帧:
其他
开本:
其他
纸张:
胶版纸
页数:
368页
字数:
530千字
1人买过
-
作为机器学习领域应用比较成熟、广泛的业务,个性化推荐在电商、短视频等平台发挥着重要作用,其背后的推荐系统已成为当今越来越多应用程序的标配。关于推荐算法的论述有很多,而要将其很好地应用到实际场景中,则需要大量的实践经验。本书从实战的角度介绍推荐系统,主要包含三部分 :召回算法、排序算法和工程实践。书中细致剖析了如何在工业中对海量数据应用算法,涵盖了从算法原理,到模型搭建、优化以及最佳实践等诸多内容。 阿星 曾在字节跳动、苏宁易购等企业负责推荐/广告算法的设计、开发和优化工作,在应对海量数据下的算法建模以及点击率/转化率预估等任务中积累了大量实战经验。目前就职于跨境电商巨头SHEIN,负责提升全球核心业务场景的流量分发效率。 前言 iii
第 1章 推荐系统 1
1.1 推荐系统是什么 1
1.1.1 京东商城 3
1.1.2 亚马逊 4
1.1.3 YouTube 6
1.2 推荐系统整体架构 8
1.3 推荐系统算法概述 9
1.3.1 召回算法 10
1.3.2 排序算法 14
1.4 周边配套系统 16
1.4.1 机器学习平台 18
1.4.2 特征平台 18
1.4.3 模型服务平台 19
1.4.4 A/B测试平台 19
1.5 总结 20
第 一部分 召回算法
第 2章 协同过滤 22
2.1 算法应用 24
2.2 算法原理 25
2.2.1 打分机制 26
2.2.2 物品相似度 31
2.3 算法实现 33
2.3.1 步骤1:数据源读取 34
2.3.2 步骤2:聚合用户行为 34
2.3.3 步骤3:局部物品相似度 35
2.3.4 步骤4和步骤5:全局物品相似度 36
2.3.5 步骤6:Top N 37
2.4 算法优化 37
2.4.1 无效用户过滤 38
2.4.2 热门惩罚 38
2.5 完整代码 39
2.6 准实时更新 42
2.6.1 数据准备 43
2.6.2 实时数据取数逻辑 44
2.6.3 准实时更新相似度 44
2.7 总结 45
第3章 关联规则 47
3.1 关联规则 48
3.1.1 定义 49
3.1.2 频繁项集 50
3.2 Apriori算法 51
3.2.1 频繁项集生成 51
3.2.2 关联规则生成 53
3.3 FPGrowth 54
3.3.1 FP树 54
3.3.2 逻辑 54
3.3.3 举例 55
3.3.4 运行 66
3.3.5 完整代码 68
3.3.6 数据集 69
3.3.7 源码分析 70
3.3.8 算法优化 76
3.4 总结 77
第4章 Word2Vec 78
4.1 词向量示例 80
4.2 数据准备 81
4.2.1 词汇表 82
4.2.2 训练数据 82
4.3 算法原理 83
4.3.1 模型结构 85
4.3.2 前向传播 86
4.3.3 反向传播 88
4.3.4 算法优化 89
4.4 源码分析 91
4.4.1 负采样概率表 91
4.4.2 sigmoid函数优化 93
4.5 算法实战 93
4.5.1 数据源 94
4.5.2 运行 94
4.5.3 相似度计算 95
4.6 LSH 算法 96
4.6.1 散列 96
4.6.2 算法逻辑 98
4.6.3 时间复杂度分析 102
4.6.4 错误率分析 102
4.6.5 召回率分析 104
4.7 Word2Vec与LSH 106
4.8 总结 107
第5章 深度学习双塔召回 108
5.1 向量化 109
5.2 双塔模型 110
5.2.1 数据准备 112
5.2.2 模型训练 112
5.2.3 模型对外服务 113
5.3 HNSW算法 115
5.3.1 二分查找 115
5.3.2 有序链表 117
5.3.3 跳表 118
5.3.4 HNSW算法 121
5.4 双塔模型与HNSW算法 129
5.5 负样本策略 131
5.6 总结 132
第6章 召回模型的离线评估 133
6.1 推荐任务类型 133
6.2 混淆矩阵 134
6.2.1 准确率 135
6.2.2 精确率 136
6.2.3 召回率 136
6.2.4 F1分数 137
6.2.5 @k 138
6.3 nDCG 139
6.3.1 CG 139
6.3.2 DCG 140
6.3.3 nDCG 140
6.3.4 @k 141
6.4 其他指标 142
6.4.1 MRR 142
6.4.2 MAP 142
6.4.3 多样性 143
6.4.4 覆盖度 144
6.4.5 信息熵 144
6.5 代码实现 144
6.5.1 实现逻辑 145
6.5.2 完整代码 146
6.6 总结 149
第二部分 排序算法
第7章 特征工程和特征选择 153
7.1 特征类型 155
7.1.1 类别特征 155
7.1.2 数值特征 155
7.1.3 序列特征 156
7.2 特征工程 156
7.2.1 特征样例 156
7.2.2 特征工程 159
7.2.3 TensorFlow特征列 164
7.3 特征选择 165
7.4 总结 167
第8章 传统机器学习排序算法 168
8.1 数据和模型 168
8.1.1 极大似然估计 169
8.1.2 最大后验概率估计 169
8.2 模型训练流程 170
8.3 手写逻辑回归 171
8.3.1 数据准备 172
8.3.2 数据读取 173
8.3.3 模型训练 173
8.3.4 完整代码 174
8.3.5 算法优缺点 177
8.4 手写因式分解机 178
8.4.1 完整代码 180
8.4.2 算法优缺点 183
8.5 其他经典排序算法 184
8.6 Q & A 185
8.7 总结 186
第9章 深度学习从训练到对外服务 188
9.1 深度学习简介 188
9.2 经典模型结构 191
9.2.1 Wide & Deep 191
9.2.2 Deep Interest Network 192
9.2.3 Behavior Sequence Transformer 194
9.3 建模流程 195
9.3.1 数据准备 197
9.3.2 特征工程 202
9.3.3 模型搭建 209
9.3.4 模型训练 213
9.3.5 模型导出 215
9.3.6 模型服务 216
9.4 再谈双塔模型 219
9.5 总结 220
第 10章 Listwise Learning To Rank从原理到实现 221
10.1 Listwise基本概念 222
10.1.1 page view 222
10.1.2 relevance 223
10.1.3 Listwise 223
10.2 损失函数 224
10.2.1 permutation probability 224
10.2.2 top one probability 226
10.2.3 交叉熵损失函数 227
10.3 ListNet 228
10.3.1 数据准备 229
10.3.2 模型搭建 236
10.3.3 模型训练、导出和服务 243
10.3.4 优化方向 244
10.4 总结 244
第 11章 排序算法的离线评估和在线评估 246
11.1 离线评估 246
11.1.1 ROC 曲线 247
11.1.2 ROC 曲线下的面积 249
11.1.3 PR 曲线 254
11.1.4 GAUC 256
11.2 在线评估 257
11.2.1 A/B测试简介 257
11.2.2 朴素分流方案 258
11.2.3 分层分流方案 260
11.2.4 可信度评估 262
11.3 在线离线不一致 267
11.3.1 特征不一致 267
11.3.2 数据分布不一致 268
11.3.3 模型与业务目标不一致 268
11.3.4 验证集设计不合理 268
11.4 总结 270
第 12章 推荐算法建模最佳实践 271
12.1 深度学习调参 272
12.1.1 学习率 272
12.1.2 batch size 279
12.1.3 epoch 279
12.1.4 隐藏层数 280
12.1.5 隐藏节点数 280
12.1.6 激活函数 280
12.1.7 权重初始化 280
12.1.8 优化器 281
12.1.9 其他实践 281
12.2 现实数据问题 281
12.2.1 类别失衡 282
12.2.2 位置偏差 286
12.2.3 海量数据下的调参 287
12.2.4 其他实践 288
12.3 总结 288
第三部分 工程实践
第 13章 冷启动问题 290
13.1 冷启动概述 291
13.2 用户冷启动 292
13.2.1 热门排行榜 292
13.2.2 上下文信息 294
13.2.3 其他策略 295
13.3 物品冷启动 296
13.3.1 基于内容的过滤 296
13.3.2 推荐策略 299
13.4 系统冷启动 301
13.5 总结 306
第 14章 增量更新和迁移学习 307
14.1 离线训练 307
14.1.1 数据流向 307
14.1.2 更新方式 308
14.2 在线训练 310
14.2.1 数据流向 310
14.2.2 样本生成 312
14.2.3 延迟反馈 314
14.3 迁移学习 317
14.4 总结 320
第 15章 分布式TensorFlow 321
15.1 分布式的理由 321
15.2 并行方式 322
15.2.1 模型并行 323
15.2.2 数据并行 324
15.3 参数共享与更新 325
15.3.1 同步更新 326
15.3.2 异步更新 327
15.4 分布式训练架构 329
15.4.1 Parameter Server架构 329
15.4.2 Ring All Reduce架构 331
15.5 单机代码移植 334
15.5.1 数据准备 334
15.5.2 模型搭建 337
15.5.3 模型训练 337
15.5.4 模型导出 340
15.6 分布式训练框架 340
15.6.1 基于Kubernetes的分布式训练框架 340
15.6.2 基于Flink的分布式训练框架 344
15.7 总结 345
第 16章 示例:推荐算法训练代码框架设计 346
16.1 问题 347
16.2 解题思路 348
16.2.1 数据问题 348
16.2.2 训练问题 349
16.3 详细设计 350
16.3.1 配置解析 351
16.3.2 数据读取 352
16.3.3 模型搭建 352
16.3.4 完整流程 353
16.4 代码实现 353
16.4.1 配置解析 354
16.4.2 特征处理 359
16.5 总结 362
第 17章 回顾和探索 363
17.1 回顾 363
17.2 探索 364
17.2.1 数据 364
17.2.2 算法 366
17.2.3 平台 367
17.2.4 安全 367
17.3 总结 368
-
内容简介:
作为机器学习领域应用比较成熟、广泛的业务,个性化推荐在电商、短视频等平台发挥着重要作用,其背后的推荐系统已成为当今越来越多应用程序的标配。关于推荐算法的论述有很多,而要将其很好地应用到实际场景中,则需要大量的实践经验。本书从实战的角度介绍推荐系统,主要包含三部分 :召回算法、排序算法和工程实践。书中细致剖析了如何在工业中对海量数据应用算法,涵盖了从算法原理,到模型搭建、优化以及最佳实践等诸多内容。
-
作者简介:
阿星 曾在字节跳动、苏宁易购等企业负责推荐/广告算法的设计、开发和优化工作,在应对海量数据下的算法建模以及点击率/转化率预估等任务中积累了大量实战经验。目前就职于跨境电商巨头SHEIN,负责提升全球核心业务场景的流量分发效率。
-
目录:
前言 iii
第 1章 推荐系统 1
1.1 推荐系统是什么 1
1.1.1 京东商城 3
1.1.2 亚马逊 4
1.1.3 YouTube 6
1.2 推荐系统整体架构 8
1.3 推荐系统算法概述 9
1.3.1 召回算法 10
1.3.2 排序算法 14
1.4 周边配套系统 16
1.4.1 机器学习平台 18
1.4.2 特征平台 18
1.4.3 模型服务平台 19
1.4.4 A/B测试平台 19
1.5 总结 20
第 一部分 召回算法
第 2章 协同过滤 22
2.1 算法应用 24
2.2 算法原理 25
2.2.1 打分机制 26
2.2.2 物品相似度 31
2.3 算法实现 33
2.3.1 步骤1:数据源读取 34
2.3.2 步骤2:聚合用户行为 34
2.3.3 步骤3:局部物品相似度 35
2.3.4 步骤4和步骤5:全局物品相似度 36
2.3.5 步骤6:Top N 37
2.4 算法优化 37
2.4.1 无效用户过滤 38
2.4.2 热门惩罚 38
2.5 完整代码 39
2.6 准实时更新 42
2.6.1 数据准备 43
2.6.2 实时数据取数逻辑 44
2.6.3 准实时更新相似度 44
2.7 总结 45
第3章 关联规则 47
3.1 关联规则 48
3.1.1 定义 49
3.1.2 频繁项集 50
3.2 Apriori算法 51
3.2.1 频繁项集生成 51
3.2.2 关联规则生成 53
3.3 FPGrowth 54
3.3.1 FP树 54
3.3.2 逻辑 54
3.3.3 举例 55
3.3.4 运行 66
3.3.5 完整代码 68
3.3.6 数据集 69
3.3.7 源码分析 70
3.3.8 算法优化 76
3.4 总结 77
第4章 Word2Vec 78
4.1 词向量示例 80
4.2 数据准备 81
4.2.1 词汇表 82
4.2.2 训练数据 82
4.3 算法原理 83
4.3.1 模型结构 85
4.3.2 前向传播 86
4.3.3 反向传播 88
4.3.4 算法优化 89
4.4 源码分析 91
4.4.1 负采样概率表 91
4.4.2 sigmoid函数优化 93
4.5 算法实战 93
4.5.1 数据源 94
4.5.2 运行 94
4.5.3 相似度计算 95
4.6 LSH 算法 96
4.6.1 散列 96
4.6.2 算法逻辑 98
4.6.3 时间复杂度分析 102
4.6.4 错误率分析 102
4.6.5 召回率分析 104
4.7 Word2Vec与LSH 106
4.8 总结 107
第5章 深度学习双塔召回 108
5.1 向量化 109
5.2 双塔模型 110
5.2.1 数据准备 112
5.2.2 模型训练 112
5.2.3 模型对外服务 113
5.3 HNSW算法 115
5.3.1 二分查找 115
5.3.2 有序链表 117
5.3.3 跳表 118
5.3.4 HNSW算法 121
5.4 双塔模型与HNSW算法 129
5.5 负样本策略 131
5.6 总结 132
第6章 召回模型的离线评估 133
6.1 推荐任务类型 133
6.2 混淆矩阵 134
6.2.1 准确率 135
6.2.2 精确率 136
6.2.3 召回率 136
6.2.4 F1分数 137
6.2.5 @k 138
6.3 nDCG 139
6.3.1 CG 139
6.3.2 DCG 140
6.3.3 nDCG 140
6.3.4 @k 141
6.4 其他指标 142
6.4.1 MRR 142
6.4.2 MAP 142
6.4.3 多样性 143
6.4.4 覆盖度 144
6.4.5 信息熵 144
6.5 代码实现 144
6.5.1 实现逻辑 145
6.5.2 完整代码 146
6.6 总结 149
第二部分 排序算法
第7章 特征工程和特征选择 153
7.1 特征类型 155
7.1.1 类别特征 155
7.1.2 数值特征 155
7.1.3 序列特征 156
7.2 特征工程 156
7.2.1 特征样例 156
7.2.2 特征工程 159
7.2.3 TensorFlow特征列 164
7.3 特征选择 165
7.4 总结 167
第8章 传统机器学习排序算法 168
8.1 数据和模型 168
8.1.1 极大似然估计 169
8.1.2 最大后验概率估计 169
8.2 模型训练流程 170
8.3 手写逻辑回归 171
8.3.1 数据准备 172
8.3.2 数据读取 173
8.3.3 模型训练 173
8.3.4 完整代码 174
8.3.5 算法优缺点 177
8.4 手写因式分解机 178
8.4.1 完整代码 180
8.4.2 算法优缺点 183
8.5 其他经典排序算法 184
8.6 Q & A 185
8.7 总结 186
第9章 深度学习从训练到对外服务 188
9.1 深度学习简介 188
9.2 经典模型结构 191
9.2.1 Wide & Deep 191
9.2.2 Deep Interest Network 192
9.2.3 Behavior Sequence Transformer 194
9.3 建模流程 195
9.3.1 数据准备 197
9.3.2 特征工程 202
9.3.3 模型搭建 209
9.3.4 模型训练 213
9.3.5 模型导出 215
9.3.6 模型服务 216
9.4 再谈双塔模型 219
9.5 总结 220
第 10章 Listwise Learning To Rank从原理到实现 221
10.1 Listwise基本概念 222
10.1.1 page view 222
10.1.2 relevance 223
10.1.3 Listwise 223
10.2 损失函数 224
10.2.1 permutation probability 224
10.2.2 top one probability 226
10.2.3 交叉熵损失函数 227
10.3 ListNet 228
10.3.1 数据准备 229
10.3.2 模型搭建 236
10.3.3 模型训练、导出和服务 243
10.3.4 优化方向 244
10.4 总结 244
第 11章 排序算法的离线评估和在线评估 246
11.1 离线评估 246
11.1.1 ROC 曲线 247
11.1.2 ROC 曲线下的面积 249
11.1.3 PR 曲线 254
11.1.4 GAUC 256
11.2 在线评估 257
11.2.1 A/B测试简介 257
11.2.2 朴素分流方案 258
11.2.3 分层分流方案 260
11.2.4 可信度评估 262
11.3 在线离线不一致 267
11.3.1 特征不一致 267
11.3.2 数据分布不一致 268
11.3.3 模型与业务目标不一致 268
11.3.4 验证集设计不合理 268
11.4 总结 270
第 12章 推荐算法建模最佳实践 271
12.1 深度学习调参 272
12.1.1 学习率 272
12.1.2 batch size 279
12.1.3 epoch 279
12.1.4 隐藏层数 280
12.1.5 隐藏节点数 280
12.1.6 激活函数 280
12.1.7 权重初始化 280
12.1.8 优化器 281
12.1.9 其他实践 281
12.2 现实数据问题 281
12.2.1 类别失衡 282
12.2.2 位置偏差 286
12.2.3 海量数据下的调参 287
12.2.4 其他实践 288
12.3 总结 288
第三部分 工程实践
第 13章 冷启动问题 290
13.1 冷启动概述 291
13.2 用户冷启动 292
13.2.1 热门排行榜 292
13.2.2 上下文信息 294
13.2.3 其他策略 295
13.3 物品冷启动 296
13.3.1 基于内容的过滤 296
13.3.2 推荐策略 299
13.4 系统冷启动 301
13.5 总结 306
第 14章 增量更新和迁移学习 307
14.1 离线训练 307
14.1.1 数据流向 307
14.1.2 更新方式 308
14.2 在线训练 310
14.2.1 数据流向 310
14.2.2 样本生成 312
14.2.3 延迟反馈 314
14.3 迁移学习 317
14.4 总结 320
第 15章 分布式TensorFlow 321
15.1 分布式的理由 321
15.2 并行方式 322
15.2.1 模型并行 323
15.2.2 数据并行 324
15.3 参数共享与更新 325
15.3.1 同步更新 326
15.3.2 异步更新 327
15.4 分布式训练架构 329
15.4.1 Parameter Server架构 329
15.4.2 Ring All Reduce架构 331
15.5 单机代码移植 334
15.5.1 数据准备 334
15.5.2 模型搭建 337
15.5.3 模型训练 337
15.5.4 模型导出 340
15.6 分布式训练框架 340
15.6.1 基于Kubernetes的分布式训练框架 340
15.6.2 基于Flink的分布式训练框架 344
15.7 总结 345
第 16章 示例:推荐算法训练代码框架设计 346
16.1 问题 347
16.2 解题思路 348
16.2.1 数据问题 348
16.2.2 训练问题 349
16.3 详细设计 350
16.3.1 配置解析 351
16.3.2 数据读取 352
16.3.3 模型搭建 352
16.3.4 完整流程 353
16.4 代码实现 353
16.4.1 配置解析 354
16.4.2 特征处理 359
16.5 总结 362
第 17章 回顾和探索 363
17.1 回顾 363
17.2 探索 364
17.2.1 数据 364
17.2.2 算法 366
17.2.3 平台 367
17.2.4 安全 367
17.3 总结 368
查看详情
-
全新
河北省保定市
平均发货21小时
成功完成率88.03%
-
全新
北京市海淀区
平均发货16小时
成功完成率88.43%
-
全新
河北省保定市
平均发货28小时
成功完成率88.83%
-
全新
广东省广州市
平均发货10小时
成功完成率94.73%
-
全新
北京市丰台区
平均发货7小时
成功完成率93.07%
-
全新
山东省泰安市
平均发货7小时
成功完成率77.26%
-
全新
北京市通州区
平均发货9小时
成功完成率89.53%
-
3
全新
四川省成都市
平均发货22小时
成功完成率88.56%
-
2
全新
浙江省嘉兴市
平均发货9小时
成功完成率95.54%
-
全新
山东省潍坊市
平均发货19小时
成功完成率79.38%
-
2
全新
河北省保定市
平均发货27小时
成功完成率89.06%
-
全新
山东省潍坊市
平均发货19小时
成功完成率79.38%
-
大系统实战
正版图书保证质量 七天无理由退货让您购物无忧
全新
北京市朝阳区
平均发货16小时
成功完成率78.02%
-
全新
北京市通州区
平均发货11小时
成功完成率96.32%
-
全新
山东省淄博市
平均发货27小时
成功完成率89.64%
-
全新
山东省淄博市
平均发货27小时
成功完成率89.64%
-
5
全新
北京市朝阳区
平均发货12小时
成功完成率84.18%
-
2
全新
北京市东城区
平均发货17小时
成功完成率85.1%
-
3
全新
广东省广州市
平均发货7小时
成功完成率89.68%
-
3
大规模系统实战
正版保证 新华库房直发 可开电子发票 七天无理由退货让您购物无忧
全新
北京市东城区
平均发货10小时
成功完成率95.2%
-
2
全新
河北省保定市
平均发货18小时
成功完成率82.64%
-
全新
北京市朝阳区
平均发货12小时
成功完成率92.72%
-
九五品
北京市通州区
平均发货29小时
成功完成率82.52%
-
全新
河北省保定市
平均发货31小时
成功完成率83.45%
-
全新
-
全新
北京市丰台区
平均发货27小时
成功完成率64.29%
-
全新
广东省广州市
平均发货9小时
成功完成率88.8%
-
全新
湖北省武汉市
平均发货18小时
成功完成率73.64%
-
全新
湖北省武汉市
平均发货20小时
成功完成率83.11%
-
全新
北京市丰台区
平均发货17小时
成功完成率83.44%
-
全新
北京市海淀区
平均发货23小时
成功完成率86.79%
-
全新
山东省泰安市
平均发货8小时
成功完成率92.53%
-
全新
湖北省武汉市
平均发货18小时
成功完成率79.97%
-
2
全新
河北省保定市
平均发货7小时
成功完成率84.37%
-
大规模推荐系统实战
正版图书。概不议价!请勿催单!急单勿拍!!!套装书请咨询后再拍。小本生意,经营不易,喜欢申请违约金和退款的同行与书友请绕行
全新
湖南省邵阳市
平均发货3小时
成功完成率86.36%
-
全新
上海市黄浦区
平均发货10小时
成功完成率92.16%
-
九五品
河北省保定市
平均发货13小时
成功完成率63.64%
-
全新
湖北省武汉市
平均发货21小时
成功完成率70.25%
-
2
全新
北京市海淀区
平均发货9小时
成功完成率93.66%
-
全新
北京市朝阳区
平均发货15小时
成功完成率69.39%
-
全新
河南省郑州市
平均发货11小时
成功完成率83.59%
-
全新
-
全新
河南省开封市
平均发货18小时
成功完成率85.94%
-
全新
湖北省恩施土家族苗族自治州
平均发货22小时
成功完成率80.56%
-
2
全新
河北省保定市
平均发货25小时
成功完成率80.39%
-
全新
北京市房山区
平均发货12小时
成功完成率73.39%
-
全新
山东省威海市
平均发货12小时
成功完成率87.88%
-
4
全新
广东省广州市
平均发货37小时
成功完成率84.17%
-
全新
广东省广州市
平均发货19小时
成功完成率82.21%
-
4
全新
江西省吉安市
平均发货47小时
成功完成率85.17%