第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
2.5.4 推薦系統與深度學習
第3章 TensorFlow 平台31
3.1 什麼是TensorFlow 31
3.2 TensorFlow 安裝指南.33
3.2.1 Windows 環境安裝.33
3.2.2 Linux 環境安裝.34
3.3 TensorFlow 基礎.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.2 node2vec 技術在社交網絡推薦中的應用85
4.4 推薦系統的冷啟動問題94
4.4.1 如何解決推薦系統冷啟動問題94
4.4.2 深度學習技術在物品冷啟動上的應用101
第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.2 L2R 算法的三種情形.152
第6章 基於深度學習的推薦模型156
6.1 基於DNN 的推薦算法156
6.2 基於DeepFM 的推薦算法163
6.3 基於矩陣分解和圖像特徵的推薦算法171
6.4 基於循環網絡的推薦算法.174
6.5 基於生成對抗網絡的推薦算法.176
6.5.1 IRGAN 的代碼實現.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
推薦系統與深度學習
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.10 LeNet 卷積結構.20
圖2.11 Alex-Net 卷積結構20
圖2.12 RNN 21
圖2.13 LSTM 在t 時刻的內部結構24
圖2.14 GAN 網絡25
圖3.1 TensorFlow 安裝截圖34
圖3.2 TensorBoard 計算37
圖4.1 騰訊視頻APP 推薦頁面.44
圖4.2 截取自噹噹網.49
圖4.3 截取自QQ 音樂APP.49
圖4.4 用戶購買物品記錄50
圖4.5 同時被購買次數矩陣C 51
圖4.6 相似度計算結果1 52
圖4.7 相似度計算結果2 54
viii j 推薦系統與深度學習
圖4.8 相似度計算結果3 55
圖4.9 截取自噹噹網.57
圖4.10 物品的倒排索引57
圖4.11 用戶評分矩陣.63
圖4.12 Sigma 值64
圖4.13 NewData 值65
圖4.14 Mydata 值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.24 CBOW 和Skip-Gram 示例.88
圖4.25 Skip-Gram 網絡結構89
圖4.26 CBOW 網絡結構91
圖4.27 word analogy 示例93
圖4.28 某網站登錄頁面95
圖4.29 QQ 互聯開放註冊平台1 96
圖4.30 QQ 互聯開放註冊平台2 97
圖4.31 QQ 互聯應用管理頁面1 97
圖4.32 QQ 互聯應用管理頁面2 97
圖4.33 QQ 互聯QQ 登錄功能獲取97
圖4.34 QQ 音樂APP 中的偏好選擇98
圖4.35 (a) 為每部電影被打分的分佈,(b) 為每個用戶打分的分佈100
圖4.36 (a) 為每部電影平均分分佈,(b) 為每個用戶平均分分佈.100
圖4.37 基於專家數據的CF 與基於用戶數據CF 比較.101
圖目錄j ix
圖4.38 音樂頻譜示例102
圖4.39 4 個流派的頻譜圖示例103
圖4.40 CNN 音頻分類結構.103
圖4.41 CNN LSTM 組合音頻分類模型.104
圖4.42 分類預測結果的混淆矩陣104
圖4.43 模型倒數第二層128 維向量降維可視化104
圖4.44 微軟how-old.net 107
圖4.45 SCUT-FBP 數據集示例圖108
圖4.46 臉部截取後的數據集示例圖.108
圖4.47 CNN 層數過多,誤差反而較大113
圖4.48 殘差網絡的基本結構113
圖4.49 殘差網絡完整結構.114
圖5.1 NetFlix 的實時推薦系統的架構圖120
圖5.2 整體式混合推薦系統125
圖5.3 並行式混合推薦系統125
圖5.4 流水線式混合推薦系統.125
圖5.5 MDLP 特徵離散化130
圖5.6 ChiMerge 特徵離散化.131
圖5.7 層次化時間按序列特徵.133
圖5.8 Learn to rank 的局限153
圖6.1 Wide & Deep 模型結構157
圖6.2 推薦系統的召回和排序兩個階段158
圖6.3 召回模型結構.159
圖6.4 序列信息160
圖6.5 排序模型結構.161
圖6.6 不同NN 的效果162
圖6.7 DeepFM 模型結構(網絡左邊為FM 層,右邊為DNN 層).164
圖6.8 FM 一階部分165
圖6.9 FM 二階部分166
圖6.10 FM/DNN/DeepFM 的比較171
x j 推薦系統與深度學習
圖6.11 電影靜止幀圖片舉例172
圖6.12 Alex-Net 卷積網絡.173
圖6.13 左圖:時間無關的推薦系統。右圖:時間相關的推薦系統174
圖6.14 基於循環神經網絡的推薦系統175
圖6.15 判別器177
圖6.16 生成器178
圖6.17 IRGAN 說明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.15 Apache Kafka 邏輯架構.200
表4.1 用戶A 和B 的評分矩陣.43
表4.2 電影內容特徵二進製表示45
表4.3 人臉魅力值打分不同模型的MAE 比較112
表4.4 人臉魅力值打分不同模型的MAE 比較117
表4.5 Keras 預訓練好的圖像分類模型118