圖書簡介
本書的內容設定由淺入深,從傳統的推薦算法過渡到近年興起的深度學習技術。不管是初學者,還是有一定經驗的從業人員,相信都能從本書的不同章節中有所收穫。區別於其他推薦算法書籍,本書包括Word2Vec、Wide & Deep、DeepFM、GAN 等技術套用,並給出了相關的實踐代碼;除了在算法層面講解推薦系統的實現,還從工程層面詳細闡述推薦系統如何搭建。
圖書目錄
第1章什麼是推薦系統1
1.1推薦系統的概念.1
1.1.1推薦系統的基本概念1
1.1.2深度學習與推薦系統4
第2章深度神經網路.7
2.1什麼是深度學習.7
2.1.1深度學習的三次興起7
2.1.2深度學習的優勢9
2.2神經網路基礎11
2.2.1神經元11
2.2.2神經網路.12
2.2.3反向傳播.13
2.2.4最佳化算法.14
2.3卷積網路基礎17
2.3.1卷積層17
2.3.2池化層19
2.3.3常見的網路結構19
2.4循環網路基礎21
2.4.1時序反向傳播算法22
2.4.2長短時記憶網路24
2.5生成對抗基礎25
2.5.1對抗博弈.26
2.5.2理論推導.27
2.5.3常見的生成對抗網路29
ivj推薦系統與深度學習
第3章TensorFlow平台31
3.1什麼是TensorFlow31
3.2TensorFlow安裝指南.33
3.2.1Windows環境安裝.33
3.2.2Linux環境安裝.34
3.3TensorFlow基礎.36
3.3.1數據流圖.36
3.3.2會話37
3.3.3圖可視化.37
3.3.4變數37
3.3.5占位符38
3.3.6最佳化器38
3.3.7一個簡單的例子38
3.4其他深度學習平台39
第4章推薦系統的基礎算法42
4.1基於內容的推薦算法.42
4.1.1基於內容的推薦算法基本流程42
4.1.2基於內容推薦的特徵提取.45
4.2基於協同的推薦算法.47
4.2.1基於物品的協同算法49
4.2.2基於用戶的協同算法57
4.2.3基於用戶協同和基於物品協同的區別59
4.2.4基於矩陣分解的推薦方法.61
4.2.5基於稀疏自編碼的推薦方法.71
4.3基於社交網路的推薦算法80
4.3.1基於用戶的推薦在社交網路中的套用81
4.3.2node2vec技術在社交網路推薦中的套用85
4.4推薦系統的冷啟動問題94
4.4.1如何解決推薦系統冷啟動問題94
4.4.2深度學習技術在物品冷啟動上的套用101
目錄jv
第5章混合推薦系統119
5.1什麼是混合推薦系統.119
5.1.1混合推薦系統的意義120
5.1.2混合推薦系統的算法分類.122
5.2推薦系統特徵處理方法125
5.2.1特徵處理方法126
5.2.2特徵選擇方法134
5.3常見的預測模型141
5.3.1基於邏輯回歸的模型141
5.3.2基於支持向量機的模型.144
5.3.3基於梯度提升樹的模型.148
5.4排序學習150
5.4.1基於排序的指標來最佳化.150
5.4.2L2R算法的三種情形.152
第6章基於深度學習的推薦模型156
6.1基於DNN的推薦算法156
6.2基於DeepFM的推薦算法163
6.3基於矩陣分解和圖像特徵的推薦算法171
6.4基於循環網路的推薦算法.174
6.5基於生成對抗網路的推薦算法.176
6.5.1IRGAN的代碼實現.179
第7章推薦系統架構設計.183
7.1推薦系統基本模型183
7.2推薦系統常見架構185
7.2.1基於離線訓練的推薦系統架構設計185
7.2.2面向深度學習的推薦系統架構設計191
7.2.3基於線上訓練的推薦系統架構設計194
7.2.4面向內容的推薦系統架構設計197
7.3推薦系統常用組件199
7.3.1數據上報常用組件199
vij推薦系統與深度學習
7.3.2離線存儲常用組件200
7.3.3離線計算常用組件200
7.3.4線上存儲常用組件201
7.3.5模型服務常用組件201
7.3.6實時計算常用組件201
7.4推薦系統常見問題201
7.4.1實時性.201
7.4.2多樣性.202
7.4.3曝光打擊和不良內容過濾.202
7.4.4評估測試.202
後記.203
圖1.1淘寶猜你喜歡欄目2
圖1.2百度指數.4
圖1.3歌曲詞嵌入模型空間向量.6
圖2.1神經網路的三次興起8
圖2.2不同層數的神經網路擬合分界面的能力.10
圖2.3不同層數的神經網路表示能力10
圖2.4神經網路的基本結構11
圖2.5感知器算法12
圖2.6三層全連線神經網路13
圖2.7動量對比.16
圖2.8卷積運算.18
圖2.9池化層19
圖2.10LeNet卷積結構.20
圖2.11Alex-Net卷積結構20
圖2.12RNN21
圖2.13LSTM在t時刻的內部結構24
圖2.14GAN網路25
圖3.1TensorFlow安裝截圖34
圖3.2TensorBoard計算37
圖4.1騰訊視頻APP推薦頁面.44
圖4.2截取自噹噹網.49
圖4.3截取自QQ音樂APP.49
圖4.4用戶購買物品記錄50
圖4.5同時被購買次數矩陣C51
圖4.6相似度計算結果152
圖4.7相似度計算結果254
viiij推薦系統與深度學習
圖4.8相似度計算結果355
圖4.9截取自噹噹網.57
圖4.10物品的倒排索引57
圖4.11用戶評分矩陣.63
圖4.12Sigma值64
圖4.13NewData值65
圖4.14Mydata值65
圖4.15自編碼神經網路模型72
圖4.16稀疏自編碼第一個網路.73
圖4.17稀疏自編碼第二個網路.74
圖4.18稀疏自編碼第三個網路.75
圖4.19將三個網路組合起來75
圖4.20社交網路關係圖示例81
圖4.21融入用戶關係和物品關係82
圖4.22社交網路關係圖示例86
圖4.23社交網路關係圖示例86
圖4.24CBOW和Skip-Gram示例.88
圖4.25Skip-Gram網路結構89
圖4.26CBOW網路結構91
圖4.27wordanalogy示例93
圖4.28某網站登錄頁面95
圖4.29QQ互聯開放註冊平台196
圖4.30QQ互聯開放註冊平台297
圖4.31QQ互聯套用管理頁面197
圖4.32QQ互聯套用管理頁面297
圖4.33QQ互聯QQ登錄功能獲取97
圖4.34QQ音樂APP中的偏好選擇98
圖4.35(a)為每部電影被打分的分布,(b)為每個用戶打分的分布100
圖4.36(a)為每部電影平均分分布,(b)為每個用戶平均分分布.100
圖4.37基於專家數據的CF與基於用戶數據CF比較.101
圖目錄jix
圖4.38音樂頻譜示例102
圖4.394個流派的頻譜圖示例103
圖4.40CNN音頻分類結構.103
圖4.41CNN+LSTM組合音頻分類模型.104
圖4.42分類預測結果的混淆矩陣104
圖4.43模型倒數第二層128維向量降維可視化104
圖4.44微軟how-old.net107
圖4.45SCUT-FBP數據集示例圖108
圖4.46臉部截取後的數據集示例圖.108
圖4.47CNN層數過多,誤差反而較大113
圖4.48殘差網路的基本結構113
圖4.49殘差網路完整結構.114
圖5.1NetFlix的實時推薦系統的架構圖120
圖5.2整體式混合推薦系統125
圖5.3並行式混合推薦系統125
圖5.4流水線式混合推薦系統.125
圖5.5MDLP特徵離散化130
圖5.6ChiMerge特徵離散化.131
圖5.7層次化時間按序列特徵.133
圖5.8Learntorank的局限153
圖6.1Wide&Deep模型結構157
圖6.2推薦系統的召回和排序兩個階段158
圖6.3召回模型結構.159
圖6.4序列信息160
圖6.5排序模型結構.161
圖6.6不同NN的效果162
圖6.7DeepFM模型結構(網路左邊為FM層,右邊為DNN層).164
圖6.8FM一階部分165
圖6.9FM二階部分166
圖6.10FM/DNN/DeepFM的比較171
xj推薦系統與深度學習
圖6.11電影靜止幀圖片舉例172
圖6.12Alex-Net卷積網路.173
圖6.13左圖:時間無關的推薦系統。右圖:時間相關的推薦系統174
圖6.14基於循環神經網路的推薦系統175
圖6.15判別器177
圖6.16生成器178
圖6.17IRGAN說明179
圖7.1監督學習基本模型.184
圖7.2基於離線訓練的推薦系統架構設計186
圖7.3數據上報模組.187
圖7.4離線訓練模組.187
圖7.5推薦系統中的存儲分層.188
圖7.6線上預測的幾個階段189
圖7.7推薦系統通用性設計190
圖7.8面向深度學習的推薦系統架構設計191
圖7.9利用深度學習進行特徵提取192
圖7.10參數伺服器架構193
圖7.11基於線上訓練的推薦系統架構設計195
圖7.12線上學習之實時特徵處理196
圖7.13面向內容的推薦系統架構設計198
圖7.14用於推薦的內容池.198
圖7.15ApacheKafka邏輯架構.200
表4.1用戶A和B的評分矩陣.43
表4.2電影內容特徵二進制表示45
表4.3人臉魅力值打分不同模型的MAE比較112
表4.4人臉魅力值打分不同模型的MAE比較117
表4.5Keras預訓練好的圖像分類模型118