大規模推薦系統實戰
阿星(本名:張友雷)
買這商品的人也買了...
-
$594$564 -
$419$398 -
$1,529Introduction to Machine Learning, 4/e (Hardcover)
-
$648$616 -
$454從零開始構建企業級推薦系統
-
$680$537 -
$658構建企業級推薦系統:算法、工程實現與案例分析
-
$800$632 -
$505推薦系統實戰寶典
-
$2,993$2,835 -
$403動手學推薦系統 — 基於 PyTorch 的算法實現 (微課視頻版)
-
$780$663 -
$534$507 -
$820$640 -
$580$458 -
$680$537 -
$620$484 -
$390$257 -
$500$395 -
$356推薦系統 — 飛槳深度學習實戰
-
$551這就是推薦系統 — 核心技術原理與企業應用
-
$780$616 -
$780$616 -
$650$507 -
$680$530
相關主題
商品描述
作為機器學習領域應用比較成熟、廣泛的業務,個性化推薦在電商、短視頻等平臺發揮著重要作用,其背後的推薦系統已成為當今越來越多應用程序的標配。關於推薦算法的論述有很多,而要將其很好地應用到實際場景中,則需要大量的實踐經驗。本書從實戰的角度介紹推薦系統,主要包含三部分 :召回算法、排序算法和工程實踐。書中細致剖析瞭如何在工業中對海量數據應用算法,涵蓋了從算法原理,到模型搭建、優化以及最佳實踐等諸多內容。
作者簡介
阿星
曾在字节跳动、苏宁易购等企业负责推荐/广告算法的设计、开发和优化工作,在应对海量数据下的算法建模以及点击率/转化率预估等任务中积累了大量实战经验。目前就职于跨境电商巨头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