新書推薦:
《
发展与制约:明清江南生产力研究(壹卷李伯重文集:江南水乡,经济兴衰,一本书带你穿越历史的迷雾)
》
售價:NT$
480.0
《
走进史学(壹卷李伯重文集:李伯重先生的学术印记与时代见证)
》
售價:NT$
360.0
《
故宫书画集(精编盒装)版传统文化收藏鉴赏艺术书法人物花鸟扇面雕刻探秘故宫书画简体中文注释解析
》
售價:NT$
1490.0
《
《往事和近事(增订本)》(著名学者葛剑雄教授代表作,新增修订、全新推出。跨越三十多年的写作,多角度讲述中华文明)
》
售價:NT$
349.0
《
往事和近事:历史地理学泰斗、百家讲坛主讲葛剑雄经典文集
》
售價:NT$
349.0
《
父母的关键认知
》
售價:NT$
225.0
《
第三帝国:一部新的历史(纳粹主义具有何种魔力?纳粹运动会卷土重来吗?一部全面揭示希特勒及其罪恶帝国黑暗的历史)
》
售價:NT$
490.0
《
强迫症的历史:德国人的犹太恐惧症与大屠杀(德国历史上的反犹文化源自哪里?如何演化为战争对犹太人灭绝性的种族杀戮?德国历史研究专家克劳斯·费舍尔叙述德国反犹史及其极端形态的典范之作)
》
售價:NT$
440.0
|
編輯推薦: |
作者从实践出发,结合在推荐领域的多年经验,清晰直观地介绍了推荐系统相关的算法原理、代码实现、评估方法及调优经验等内容。本书融合了算法理论与实现,兼顾技术广度与深度。内容通俗易懂,干货十足,具实践参考价值,适合不同阶段的广大读者阅读。
专业背景:一线互联网大厂推荐系统专家经验总结
着眼实战:详细剖析大规模推荐系统从0到1和从1到N
开箱即用:附带可以直接用于生产环境的几乎所有主流推荐算法的代码实现
|
內容簡介: |
作为机器学习领域应用比较成熟、广泛的业务,个性化推荐在电商、短视频等平台发挥着重要作用,其背后的推荐系统已成为当今越来越多应用程序的标配。关于推荐算法的论述有很多,而要将其很好地应用到实际场景中,则需要大量的实践经验。本书从实战的角度介绍推荐系统,主要包含三部分 :召回算法、排序算法和工程实践。书中细致剖析了如何在工业中对海量数据应用算法,涵盖了从算法原理,到模型搭建、优化以及最佳实践等诸多内容。
|
關於作者: |
阿星 曾在字节跳动、苏宁易购等企业负责推荐/广告算法的设计、开发和优化工作,在应对海量数据下的算法建模以及点击率/转化率预估等任务中积累了大量实战经验。目前就职于跨境电商巨头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
|
|