推薦系統算法實踐

黃美靈

買這商品的人也買了...

商品描述

本書主要講解推薦系統中的召回算法和排序算法,以及各個算法在主流工具Sklearn、Spark、TensorFlow等中的實現和應用。 書中本著循序漸進的原則進行講解。首先,介紹推薦系統中推薦算法的數學基礎,推薦算法的平臺、工具基礎,以及具體的推薦系統。其次,對推薦系統中的召回算法進行講解,主要包括基於行為相似的協同過濾召回和基於內容相似的Word2vec 召回,並且介紹其在Spark、TensorFlow 主流工具中的實現與應用。再次,講解推薦系統中的排序算法,包括線性模型、樹模型和深度學習模型,分別介紹邏輯回歸、FM、決策樹、隨機森林、GBDT、GBDT+LR、集成學習、深度森林、DNN、Wide & Deep、DeepFM、YouTube推薦等模型的原理,以及其在Sklearn、Spark、TensorFlow 主流工具中的實現與應用。最後,介紹推薦算法的4 個實踐案例,幫助讀者進行工程實踐和應用,並且介紹如何在Notebook 上進行代碼開發和算法調試,以幫助讀者提升工作效率。

目錄大綱

第1部分推薦系統的算法基礎
第1章數學基礎2 
1.1線性代數2 
1.2概率與統計5 
1.3損失函數7 
1.4優化方法8 
1.4.1 SGD 8 
1.4.2動量8 
1.4.3 Nesterov動量9 
1.4.4 AdaGrad 9 
1.4.5 Adam 10 
1.4.6 L-BFGS 10 
1.4.7梯度法和牛頓法的比較11 
1.5評價方法11 
1.5.1混淆矩陣11 
1.5.2 ROC曲線13 
第2章推薦系統介紹17 
2.1推薦系統背景17 
2.2推薦系統的典型案例18 
2.2.1 Amazon推薦19
2.2.2 Facebook推薦21 
2.2.3 YouTube推薦22 
2.3推薦系統原理23 
第3章推薦算法工具26 
3.1 Python Sklearn機器學習庫26 
3.1.1 Sklearn介紹26 
3.1.2 Sklearn建模流程27 
3.2 Spark MLlib機器學習庫28 
3.2.1 MLlib介紹28 
3.2.2 MLlib建模流程29 
3.3 TensorFlow 31 
3.3.1 TensorFlow介紹31 
3.3.2 TensorFlow建模流程31 
3.4 Notebook介紹32 
3.4.1 Zeppelin Notebook介紹32 
3.4.2 Jupyter Notebook介紹36 
第2部分推薦系統的召回算法
第4章協同過濾——基於行為相似的召回40 
4.1協同過濾算法40 
4.1.1協同過濾推薦概述40 
4.1.2用戶評分41 
4.1.3相似度計算41 
4.1. 4推薦計算43 
4.2協同過濾推薦算法實現44 
4.2.1相似度計算及推薦計算47
4.2.2協同推薦54 
4.2.3運行結果59 
第5章Word2vec——基於內容相似的召回65 
5.1 Word2vec算法65 
5.1.1語言模型65 
5.1.2 CBOW One-Word Context模型66 
5.1.3 CBOW Multi- Word Context模型71 
5.1.4 Skip-Gram模型72 
5.1.5 Hierarchical Softmax 74 
5.1.6 Negative Sampling 74 
5.2 Word2vec實例75 
5.2.1 Spark實現75 
5.2.2 TensorFlow實現80 
第3部分推薦系統的排序算法——線性模型
第6章邏輯回歸86 
6.1邏輯回歸算法86 
6.1.1二元邏輯回歸模型86 
6.1.2模型參數估計88 
6.1.3多元邏輯回歸模型(Softmax回歸) 88 
6.1.4邏輯回歸的網絡結構89 
6.1.5梯度下降算法90 
6.1.6正則化91 
6.2邏輯回歸實現93 
6.2.1 Sklearn實現93
6.2.2 Spark實現98 
6.2.3 TensorFlow實現108 
6.2.4效果總結114 
第7章因子分解機(FM) 115 
7.1 FM算法115 
7.1.1 FM模型115 
7.1.2 FFM模型118 
7.1.3 FM模型的網絡結構119 
7.2 FM實現120 
7.2.1 Sklearn實現120 
7.2.2 TensorFlow實現122 
7.2.3效果總結128 
第4部分推薦系統的排序算法——樹模型
第8章決策樹130 
8.1決策樹算法130 
8.1. 1決策樹模型130 
8.1.2特徵選擇131 
8.1.3決策樹的生成133 
8.1.4決策樹的生成實例134 
8.1.5決策樹的剪枝135 
8.2決策樹的集成算法136 
8.2.1集成分類器136 
8.2.2隨機森林137 
8.2.3 GBDT 137 
8.3決策樹集成算法實例139 
8.3.1 Spark實現139
8.3.2 Sklearn實現149 
8.3.3效果總結154 
第9章集成學習155 
9.1 GBDT+LR算法155 
9.1.1背景155 
9.1.2 GBDT+LR網絡結構156 
9.2深度森林算法159 
9.2.1深度森林介紹159 
9.2.2級聯森林160 
9.2.3多粒度掃描161 
9.3決策樹集成分類器162 
9.4集成學習實例164 
9.4.1 GBDT+LR實現164 
9.4.2深度森林實現167 
9.4.3效果總結175 
第5部分推薦系統的排序算法——深度學習模型
第10章深度學習在推薦算法中的應用178 
10.1推薦模型的特點178 
10.2基於深度學習的推薦模型179 
10.2.1 DNN優化高階特徵179 
10.2.2高階特徵交叉與低階特徵交叉181 
10.2.3特徵交叉優化183 
10.2.4特徵連接優化184 
10.2.5高階特徵交叉優化185 
10.2.6多樣性的深度興趣特徵優化186
第11章DNN算法189 
11.1人工神經網絡算法189 
11.1.1神經元189 
11.1.2神經網絡模型191 
11.1.3信號的前向傳播191 
11.1.4誤差的反向傳播193 
11.2 DNN優化方法195 
11.2. 1優化參數196 
11.2.2 Attention機制197 
11.3 DNN實例198 
11.4運行結果205 
第12章Wide & Deep模型206 
12.1 Wide & Deep模型概述206 
12.1.1 Wide模型208 
12.1.2 Deep模型209 
12.1.3模型聯合訓練210 
12.2 Wide & Deep系統實現211 
12.2.1推薦系統介紹211 
12.2.2系統流程212 
12.2.3訓練數據的生成213 
12.2.4模型訓練213 
12.2.5線上應用214 
12.3 Wide & Deep實例214 
12.4運行結果219 
第13章DeepFM模型225
13.1 DeepFM模型概述225 
13.1.1 FM組件226 
13.1.2 Deep組件228 
13.1.3模型對比229 
13.2 DeepFM模型實例231 
13.3運行結果241 
第14章YouTube的深度神經網絡模型243 
14.1 YouTube推薦模型243 
14.1.1背景介紹243 
14.1.2召回模型設計245 
14.1.3排序模型設計250 
14.2 YouTube實例252 
14.3運行結果256 
第6部分推薦系統的算法實踐
第15章實踐——基於電商平台的商品召回260 
15.1背景介紹260 
15.2模型選擇261 
15.3算法開發261 
第16章實踐——基於邏輯回歸的音樂評分預測266 
16.1背景介紹266 
16.2數據準備266 
16.3特徵處理268 
16.4模型選擇270 
16.5算法開發271 
第17章實踐——Kaggle競賽之Outbrain點擊率預估275 
17.1背景介紹275
17.2數據準備277 
17.3特徵處理283 
17.4模型選擇284 
17.4.1 FFM 285 
17.4.2 XGBoost 288 
17.4.3集成學習292 
17.5算法開發292 
第18章實踐——基於深度學習的電商商品點擊率預估297 
18.1背景介紹297 
18.2數據準備298 
18.3特徵處理302 
18.4模型選擇303 
18.5算法開發304 
18.6運行結果309 
第19章Notebook實踐312 
19.1 Sklearn中的LR實踐312 
19.2 TensorFlow中的LR實踐316 
19.3 Spark中的LR實踐321 
19.4 TensorFlow中的FM調試實踐327 
19.5 Spark中的協同過濾調試實踐331