精通推薦算法:核心模塊+經(jīng)典模型+代碼詳解
定 價:89 元
- 作者:謝楊易
- 出版時間:2024/3/1
- ISBN:9787121474514
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:280
- 紙張:
- 版次:01
- 開本:16開
本書系統(tǒng)介紹了推薦算法的知識框架和技術(shù)細節(jié),包括召回、粗排、精排和重排等模塊。第1章從用戶體驗、內(nèi)容生產(chǎn)和平臺發(fā)展角度介紹為什么需要推薦系統(tǒng),并闡述推薦系統(tǒng)的分類及整體技術(shù)架構(gòu)。第2章介紹推薦算法模型的基礎(chǔ)——數(shù)據(jù)樣本和特征工程。第3章介紹傳統(tǒng)推薦算法。第4~7章介紹推薦系統(tǒng)中最復(fù)雜的部分——精排模塊,包括特征交叉、用戶行為序列建模、Embedding表征學習和多任務(wù)學習。第8章介紹召回模塊,并詳細講解非個性化召回和個性化召回算法。第9章介紹粗排模塊,重點講解特征蒸餾和輕量級特征交叉等方法。第10章介紹重排模塊,包括打散和多樣性、上下文感知和端上重排等技術(shù)細節(jié)。本書適用于推薦算法初學者、有一定工作經(jīng)驗的推薦算法工程師,以及搜索、廣告和營銷等領(lǐng)域的從業(yè)者,也可作為高等院校計算機等相關(guān)專業(yè)師生的參考資料。
謝楊易,本科畢業(yè)于華中科技大學,碩士畢業(yè)于中國科學院大學。主要研究方向為推薦算法、個性化搜索和自然語言處理,歷任阿里巴巴算法專家、騰訊應(yīng)用算法研究員等職位,在搜索和推薦算法領(lǐng)域積累了豐富的經(jīng)驗。CSDN博客專家,原創(chuàng)文章100余篇。發(fā)表專利15個,已授權(quán)6個。
第1章 推薦系統(tǒng)概述 1
1.1 為什么需要推薦系統(tǒng) 1
1.1.1 推薦系統(tǒng)與用戶體驗 2
1.1.2 推薦系統(tǒng)與內(nèi)容生產(chǎn) 3
1.1.3 推薦系統(tǒng)與平臺發(fā)展 4
1.2 推薦系統(tǒng)分類 5
1.2.1 業(yè)務(wù)領(lǐng)域分類 5
1.2.2 內(nèi)容介質(zhì)分類 5
1.2.3 交互形態(tài)分類 6
1.2.4 應(yīng)用場景分類 6
1.3 推薦系統(tǒng)技術(shù)架構(gòu) 7
1.4 本章小結(jié) 9
第2章 數(shù)據(jù)樣本和特征工程 10
2.1 數(shù)據(jù)樣本 10
2.1.1 樣本不均衡問題 11
2.1.2 樣本不置信問題 14
2.1.3 離/在線樣本不一致問題 16
2.2 特征工程 17
2.2.1 特征類目體系 18
2.2.2 特征處理范式 21
2.2.3 特征重要性評估 22
2.3 本章小結(jié) 23
第3章 傳統(tǒng)推薦算法 25
3.1 協(xié)同過濾 25
3.1.1 基于用戶的協(xié)同過濾 26
3.1.2 基于物品的協(xié)同過濾 27
3.1.3 協(xié)同過濾的優(yōu)點和局限性 28
3.2 矩陣分解 29
3.2.1 矩陣分解實現(xiàn)方法 30
3.2.2 矩陣分解的優(yōu)點和局限性 31
3.3 邏輯回歸 31
3.3.1 邏輯回歸求解過程 33
3.3.2 邏輯回歸的優(yōu)點和局限性 34
3.4 因子分解機 35
3.4.1 因子分解機模型簡化 35
3.4.2 因子分解機的優(yōu)點和局限性 36
3.5 組合模型 37
3.5.1 GBDT + LR組合模型結(jié)構(gòu) 38
3.5.2 GBDT特征轉(zhuǎn)換過程 39
3.5.3 組合模型的思考和總結(jié) 40
3.6 本章小結(jié) 40
第4章 特征交叉 42
4.1 特征交叉概述 43
4.1.1 特征交叉的意義 43
4.1.2 特征交叉基本范式 44
4.1.3 特征交叉的難點 45
4.2 Deep Crossing:經(jīng)典DNN框架模型 46
4.2.1 業(yè)務(wù)背景和特征體系 46
4.2.2 模型結(jié)構(gòu) 48
4.2.3 實現(xiàn)方法 52
4.3 FNN 54
4.3.1 為什么Embedding收斂慢 55
4.3.2 模型結(jié)構(gòu) 55
4.4 PNN 58
4.4.1 模型結(jié)構(gòu) 58
4.4.2 特征交叉實現(xiàn)方法 59
4.5 Wide&Deep:異構(gòu)模型奠基者 61
4.5.1 “記憶”和“泛化” 61
4.5.2 模型結(jié)構(gòu) 62
4.5.3 系統(tǒng)實現(xiàn) 64
4.5.4 代碼解析 66
4.6 DeepFM:異構(gòu)模型Wide側(cè)引入FM 68
4.6.1 模型結(jié)構(gòu) 68
4.6.2 代碼解析 70
4.7 DCN:異構(gòu)模型Wide側(cè)引入高階交叉 74
4.8 NFM:異構(gòu)模型Deep側(cè)引入顯式交叉 77
4.9 xDeepFM:異構(gòu)模型引入子分支 79
4.10 本章小結(jié) 83
第5章 用戶行為序列建模 85
5.1 用戶行為序列建模概述 86
5.1.1 行為序列建模的意義 87
5.1.2 行為序列建模的基本范式 87
5.1.3 行為序列建模的主要難點 88
5.1.4 行為序列特征工程 89
5.2 DIN:基于注意力機制建模用戶行為序列 90
5.2.1 背景 90
5.2.2 模型結(jié)構(gòu) 92
5.2.3 模型訓練方法 95
5.2.4 代碼解析 98
5.3 DIEN:GRU建模用戶行為序列 100
5.3.1 模型結(jié)構(gòu):興趣抽取層 100
5.3.2 模型結(jié)構(gòu):興趣進化層 103
5.4 BST:Transformer建模用戶行為序列 105
5.4.1 模型結(jié)構(gòu) 105
5.4.2 代碼解析 109
5.5 DSIN:基于Session建模用戶行為序列 114
5.6 MIMN:基于神經(jīng)圖靈機建模長周期行為序列 117
5.6.1 工程設(shè)計:UIC模塊 118
5.6.2 MIMN模型結(jié)構(gòu) 119
5.7 SIM:基于檢索建模長周期行為序列 123
5.8 ETA:基于SimHash實現(xiàn)檢索索引在線化 126
5.8.1 ETA模型結(jié)構(gòu) 127
5.8.2 SimHash原理 128
5.9 本章小結(jié) 129
第6章 Embedding表征學習 131
6.1 Embedding表征學習概述 132
6.1.1 Embedding概述 133
6.1.2 Embedding表征學習的意義 134
6.1.3 Embedding表征學習的基本范式 134
6.1.4 Embedding表征學習的主要難點 135
6.2 基于序列的Embedding建模方法 135
6.2.1 Word2vec任務(wù)定義:CBOW和Skip-gram 136
6.2.2 Word2vec模型結(jié)構(gòu) 137
6.2.3 Word2vec訓練方法 138
6.2.4 Item2vec:推薦系統(tǒng)引入序列Embedding 139
6.2.5 序列建?偨Y(jié)和思考 139
6.3 基于同構(gòu)圖游走的Graph Embedding 139
6.3.1 DeepWalk:同構(gòu)圖游走算法開山之作 140
6.3.2 LINE:一階相似度和二階相似度探索 141
6.3.3 Node2vec:同質(zhì)性和結(jié)構(gòu)等價性探索 142
6.3.4 同構(gòu)圖游走的優(yōu)缺點 144
6.4 基于異構(gòu)圖游走的Graph Embedding 145
6.4.1 Metapath2vec 145
6.4.2 EGES 146
6.4.3 異構(gòu)圖游走的優(yōu)缺點 149
6.5 圖神經(jīng)網(wǎng)絡(luò) 149
6.5.1 GCN:圖神經(jīng)網(wǎng)絡(luò)開山之作 149
6.5.2 GraphSAGE:圖神經(jīng)網(wǎng)絡(luò)工業(yè)應(yīng)用的高潮 152
6.5.3 圖神經(jīng)網(wǎng)絡(luò)總結(jié) 153
6.6 向量檢索技術(shù) 153
6.6.1 向量距離計算方法 154
6.6.2 向量檢索算法 156
6.6.3 向量檢索常用工具:Faiss 161
6.7 本章小結(jié) 162
第7章 多任務(wù)學習 165
7.1 多任務(wù)學習發(fā)展歷程 166
7.1.1 為什么需要多任務(wù)學習 166
7.1.2 多任務(wù)學習的基本框架 167
7.1.3 多任務(wù)學習的難點和挑戰(zhàn) 168
7.2 ESMM模型:解決SSB和DS問題的利器 169
7.2.1 樣本選擇偏差和數(shù)據(jù)稀疏問題 169
7.2.2 ESMM模型結(jié)構(gòu) 170
7.2.3 ESMM核心代碼 172
7.3 MMOE模型:多專家多門控網(wǎng)絡(luò) 174
7.3.1 MMOE模型結(jié)構(gòu) 174
7.3.2 MMOE核心代碼 177
7.4 PLE模型:解決負遷移和蹺蹺板現(xiàn)象的利器 179
7.4.1 負遷移和蹺蹺板現(xiàn)象 180
7.4.2 單層CGC模型結(jié)構(gòu) 180
7.4.3 PLE模型結(jié)構(gòu) 183
7.4.4 PLE核心代碼 184
7.5 多任務(wù)融合 188
7.5.1 網(wǎng)格搜索 189
7.5.2 排序模型 190
7.5.3 強化學習 190
7.6 本章小結(jié) 192
第8章 召回算法 194
8.1 召回概述 196
8.1.1 推薦底池 196
8.1.2 多路召回 197
8.1.3 召回的難點 198
8.1.4 召回評價體系 199
8.2 個性化召回 200
8.2.1 基于內(nèi)容的個性化召回 200
8.2.2 基于協(xié)同過濾的個性化召回 201
8.2.3 基于社交關(guān)系的個性化召回 203
8.3 向量召回 203
8.3.1 實現(xiàn)方法 204
8.3.2 YouTube DNN 204
8.3.3 Facebook EBR 206
8.3.4 百度MOBIUS 208
8.4 用戶行為序列類向量召回 209
8.4.1 多峰興趣建模的意義 210
8.4.2 MIND的模型結(jié)構(gòu) 210
8.4.3 膠囊網(wǎng)絡(luò) 212
8.5 樣本選擇偏差問題 213
8.5.1 召回樣本構(gòu)建方法 213
8.5.2 ESAM和遷移學習 215
8.6 召回檢索優(yōu)化和TDM 218
8.6.1 TDM在線檢索過程 218
8.6.2 TDM索引構(gòu)建和模型訓練過程 220
8.6.3 JTM 221
8.6.4 OTM 222
8.7 本章小結(jié) 223
第9章 粗排算法 226
9.1 粗排概述 228
9.1.1 粗排樣本和特征 228
9.1.2 粗排發(fā)展歷程 228
9.1.3 粗排的難點 230
9.1.4 粗排評價體系 230
9.2 PFD模型:知識蒸餾學習交叉特征 231
9.2.1 PFD模型結(jié)構(gòu) 231
9.2.2 PFD模型原理 232
9.2.3 PFD與傳統(tǒng)蒸餾相結(jié)合 233
9.2.4 PFD在精排中的應(yīng)用 234
9.3 COLD模型:顯式特征交叉 235
9.3.1 雙塔內(nèi)積模型 235
9.3.2 COLD模型 237
9.4 FSCD模型:效果和效率聯(lián)合優(yōu)化 238
9.4.1 FSCD特征選擇原理 239
9.4.2 FSCD訓練步驟 241
9.5 本章小結(jié) 242
第10章 重排算法 243
10.1 重排概述 245
10.1.1 為什么需要重排 245
10.1.2 重排的難點和挑戰(zhàn) 245
10.1.3 流量調(diào)控 246
10.2 打散和多樣性 246
10.2.1 打散 247
10.2.2 多樣性 248
10.2.3 多樣性發(fā)展歷程 248
10.3 上下文感知和PRM模型 249
10.3.1 什么是上下文感知 250
10.3.2 PRM模型結(jié)構(gòu) 250
10.3.3 其他上下文感知實現(xiàn)方案 253
10.4 實時性和延遲反饋問題 254
10.4.1 推薦系統(tǒng)實時性的意義 254
10.4.2 推薦系統(tǒng)實時性分類 255
10.4.3 延遲反饋問題 256
10.4.4 延遲反饋優(yōu)化方案 257
10.5 端上重排和EdgeRec 257
10.5.1 為什么需要端上模型 258
10.5.2 端上推理引擎 259
10.5.3 EdgeRec系統(tǒng)架構(gòu) 259
10.5.4 EdgeRec模型結(jié)構(gòu) 260
10.6 本章小結(jié) 262