本書從系統視角出發(fā),闡述如何利用技術手段搭建企業(yè)級推薦系統,內容包括認知篇、數據篇、召回篇、排序篇、系統篇 5 個部分,覆蓋企業(yè)級推薦系統建設的核心要點。本書知識體系清晰,從基礎知識切入,逐步深入,先后涉及推薦系統的經典技術、主流技術和前沿技術。本書通過“理論+案例+代碼示例+心得體會”的方式闡述、歸納和總結推薦系統的知識,幫助讀者理解推薦系統,掌握技能,建立系統思維。
本書適合對推薦系統感興趣的初學者、從事數據挖掘/信息推薦相關工作的研發(fā)工程師、產品經理、架構師,以及相關專業(yè)學生和教師閱讀。
1、理論解析+案例解析+示例代碼+經驗分享
2、知識體系全面,實用性強
3、經典技術+主流技術+前沿技術
4、系統建設的基本原則+實戰(zhàn)技巧
5、系統視角闡述推薦系統搭建
6、作者從事信息系統研發(fā)20年,CTO,技術專家,融入推薦系統建設經驗
陳實如
博士研究生,教授級高級工程師,浪潮集團資深研究員,長期從事企業(yè)數字化轉型、技術規(guī)劃和技術管理,專注于物聯網、大數據、工業(yè)互聯網人工智能等領域,擅長數據挖掘、數據建模、推薦算法和系統架構構建。獨立負責幾十個信息化平臺的研發(fā)和交付,具有豐富的開發(fā)實戰(zhàn)經驗。喜歡總結,樂于分享。在國外核心期刊發(fā)表論文30余篇,獲得國家發(fā)明專利授權20余項。
第 1 部 分 認 知 篇 1
第 1 章 認識推薦系統 3
1.1 推薦與推薦系統 3
1.2 生活中的推薦系統 6
1.3 推薦系統的特點與價值 9
1.4 推薦服務 12
1.5 個性化推薦策略 14
1.5.1 U2Tag2I 策略 14
1.5.2 U2U2I 策略 15
1.5.3 U2I2I 策略 15
1.5.4 U2I 策略 16
1.6 本章小結 16
第 2章 推薦系統技術實現 17
2.1 工作原理 17
2.2 業(yè)務流程 18
2.3 業(yè)務功能模塊 21
2.3.1 數據采集 22
2.3.2 特征工程 26
2.3.3 推薦算法 29
2.3.4 推薦服務 36
2.3.5 效能評價 38
2.4 推薦系統開發(fā) 39
2.5 本章小結 43
第 2 部 分 數 據 篇 45
第 3 章 數據提取與特征向量 47
3.1 特征標簽構建流程 47
3.2 特征標簽構建方法 49
3.3 數據提取 51
3.4 數據處理 53
3.4.1 數據統計 54
3.4.2 數據標準化 55
3.4.3 數據離散化 58
3.5 特征編碼 61
3.5.1 類別數據 61
3.5.2 時間數據 69
3.5.3 位置數據 73
3.5.4 文本數據 74
3.6 本章小結 86
第 4 章 構建個性化特征標簽 87
4.1 喜歡度——衡量用戶感興趣的程度 87
4.2 新聞特征標簽 89
4.2.1 基本特征 89
4.2.2 類別特征 90
4.2.3 內容特征 91
4.2.4 趨勢特征 100
4.2.5 新聞特征向量 102
4.3 用戶特征標簽 103
4.3.1 基本特征 104
4.3.2 位置特征 104
4.3.3 興趣偏好特征 105
4.3.4 行為特征 109
4.3.5 價值特征 109
4.3.6 用戶特征向量 111
4.4 特征相似度計算 112
4.4.1 歐幾里得距離 113
4.4.2 曼哈頓距離 113
4.4.3 閔可夫斯基距離 113
4.4.4 馬氏距離 114
4.4.5 余弦相似度 114
4.4.6 皮爾遜相關系數 115
4.4.7 杰卡德相關系數 116
4.4.8 代碼示例 117
4.5 本章小結 121
第5章 交叉組合構建新特征 122
5.1 特征組合 122
5.1.1 特征拼接 122
5.1.2 笛卡兒構建 123
5.1.3 線性組合 123
5.1.4 多項式特征 124
5.1.5 代碼示例 125
5.2 特征選擇 128
5.2.1 方差選擇 129
5.2.2 相關選擇 129
5.2.3 卡方檢驗 131
5.2.4 主成分分析 133
5.2.5 樹模型選擇 136
5.2.6 代碼示例 143
5.3 本章小結 150
第 3 部 分 召 回 篇 151
第 6 章 機器學習模型 153
6.1 機器學習的定義 153
6.1.1 有監(jiān)督學習 154
6.1.2 無監(jiān)督學習 154
6.2 數據集 155
6.2.1 常用公開數據集 156
6.2.2 在線構建數據集 156
6.2.3 數據集劃分 160
6.2.4 生成訓練集 166
6.3 模型訓練 168
6.4 模型保存 169
6.5 模型評價 170
6.5.1 分類模型評價 170
6.5.2 回歸模型評價 173
6.5.3 代碼示例 174
6.6 模型上線 175
6.7 本章小結 176
第 7 章 基于新聞熱度的推薦召回 177
7.1 新聞熱度 177
7.2 熱門推薦算法 179
7.3 代碼示例 179
7.4 本章小結 184
第 8 章 基于內容的推薦召回 185
8.1 商品內容 185
8.2 KNN 算法模型 186
8.2.1 KNN 發(fā)現 186
8.2.2 KNN 算法改進 187
8.3 代碼示例 189
8.4 本章小結 199
第 9 章 基于標簽的推薦召回 201
9.1 認識標簽 201
9.2 標簽推薦算法 202
9.3 升級標簽推薦算法 206
9.4 代碼示例 207
9.5 本章小結 211
第 10章 協同過濾推薦召回 212
10.1 UserCF 算法 212
10.1.1 算法原理 212
10.1.2 代碼示例 218
10.2 ItemCF 算法 223
10.2.1 算法原理 223
10.2.2 代碼示例 227
10.3 本章小結 232
第 11章 基于矩陣分解的推薦召回 233
11.1 數學知識 233
11.2 SVD 推薦算法 236
11.3 代碼示例 237
11.4 本章小結 241
第 12章 基 于LFM 的推薦召回 243
12.1 LFM 概述 243
12.2 LFM 推薦算法 244
12.3 代碼示例 247
12.4 本章小結 251
第 13章 多路召回融合策略 252
13.1 多路召回策略 252
13.2 融合策略 254
13.2.1 順序融合 255
13.2.2 平均加權融合 256
13.2.3 加權融合 256
13.2.4 動態(tài)加權融合 257
13.3 代碼示例 257
13.4 本章小結 266
第 4 部 分 排 序 篇 267
第 14章 線性模型排序算法 269
14.1 回歸模型 269
14.2 線性回歸模型 270
14.3 邏輯回歸模型 273
14.3.1 算法模型 273
14.3.2 模型參數估計 275
14.3.3 代碼示例 277
14.4 本章小結 283
第 15章 LR-GBDT 模型排序算法 284
15.1 CART 決策樹 284
15.2 集成學習模型 292
15.2.1 Bagging 算法 293
15.2.2 Boosting 算法 294
15.2.3 Stacking 算法 295
15.3 GBDT 模型 296
15.4 LR-GBDT 模型 299
15.4.1 模型算法推導 299
15.4.2 代碼示例 300
15.5 本章小結 306
第 16章 深度學習模型排序算法 307
16.1 神經元 307
16.2 ANN 模型 309
16.3 模型訓練 315
16.3.1 正向傳遞 317
16.3.2 反向傳遞 319
16.4 模型優(yōu)化 323
16.4.1 梯度優(yōu)化算法 324
16.4.2 Batch 歸一化 327
16.4.3 正則化 328
16.5 DNN 模型 329
16.5.1 模型構建 329
16.5.2 代碼示例 331
16.6 Wide&Deep 模 型 335
16.6.1 Wide 部分 336
16.6.2 Deep 部分 337
16.6.3 聯合訓練 337
16.6.4 Wide&Deep 模型案例 338
16.7 本章小結 339
第 5 部 分 系 統 篇 341
第 17章 推薦服務生成與管理 343
17.1 推薦系統的 Web服務 343
17.2 推薦服務的請求與響應 345
17.2.1 HTTP 346
17.2.2 REST 編程風格 349
17.2.3 基于Django 開發(fā)REST 風格API 352
17.2.4 基于 Spring MVC 開發(fā) REST 風格 API 354
17.3 生成推薦結果 355
17.3.1 離線生成 356
17.3.2 在線生成 360
17.3.3 在線+離線融合生成 361
17.3.4 代碼示例 364
17.4 生成方案對比 376
17.5 本章小結 377
第 18章 推薦系統效能評價 379
18.1 推薦系統評價 379
18.2 用戶調研 380
18.3 離線測試 382
18.3.1 離線測試方法 382
18.3.2 離線測試指標 384
18.4 在線測試 384
18.4.1 A B 測 試 385
18.4.2 推薦系統的 AB 測試實驗 389
18.4.3 在線測試指標 392
18.5 本章小結 398
第 19章 推薦系統架構設計 400
19.1 系統架構概述 400
19.2 系統邊界 405
19.3 系統總體架構 407
19.4 依賴的第三方環(huán)境 413
19.4.1 大數據計算平臺 413
19.4.2 機器學習平臺 417
19.4.3 存儲平臺 420
19.4.4 數據查詢檢索平臺 421
19.4.5 Web 系統開發(fā)框架 421
19.5 系統技術架構 422
19.5.1 數據流 424
19.5.2 離線層計算 426
19.5.3 近線層計算 427
19.5.4 在線層計算 429
19.5.5 技術架構對比 432
19.6 系統部署架構 434
19.7 系統建設步驟 438
19.8 本章小結 439