全書從推薦系統(tǒng)的發(fā)展歷史、基本構(gòu)成開始,依次剖析推薦系統(tǒng)的內(nèi)容召回、協(xié)同過濾召回、深度學(xué)習(xí)召回中具有代表性的模型;再從經(jīng)典排序模型到基于深度學(xué)習(xí)的排序,順勢介紹會話推薦、強化學(xué)習(xí)推薦及工業(yè)級推薦,搭建了完整的推薦系統(tǒng)技術(shù)體系,這是一個由淺入深的系統(tǒng)學(xué)習(xí)過程。
本書的目標讀者應(yīng)該對深度學(xué)習(xí)有基本的了解,掌握概率論、線性代數(shù)、微積分等學(xué)科的基本知識,具備使用Python語言進行編程的基本能力。本書可以作為各大院校人工智能相關(guān)專業(yè)的教材,也可以作為培訓(xùn)機構(gòu)的教材,還適合作為人工智能技術(shù)愛好者自學(xué)用書。
1.以操作實踐為學(xué)習(xí)的切入點,而不是直接切入理論講解。
2.以任務(wù)為驅(qū)動,貫穿知識內(nèi)容。
3.充分考慮學(xué)習(xí)者的認知曲線,由淺入深,邊講邊練邊切入理論知識。
4.通過項目實訓(xùn)訓(xùn)練技能的綜合使用能力。
肖睿,課工場創(chuàng)始人,北京大學(xué)教育學(xué)博士,北京大學(xué)軟件學(xué)院特約講師,北京大學(xué)學(xué)習(xí)科學(xué)實驗室特約顧問。作為北大青鳥 Aptech 的聯(lián)合創(chuàng)始人,歷任學(xué)術(shù)總監(jiān)、研究院院長、公司副總裁等核心崗位,擁有20多年的IT職業(yè)教育產(chǎn)品管理和企業(yè)管理經(jīng)驗。于2015年創(chuàng)辦課工場,兼任總經(jīng)理,旨在為大學(xué)生提供更可靠的 IT 就業(yè)教育及服務(wù)。
第 1章 推薦系統(tǒng)簡介...1
技能目標... 1
本章任務(wù)... 1
任務(wù)1.1 了解推薦系統(tǒng)的發(fā)展歷史 ...2
任務(wù)1.2 掌握推薦系統(tǒng)的核心要素... 4
1.2.1 用戶... 4
1.2.2 物品和內(nèi)容 ... 4
1.2.3 事件.. .5
1.2.4 語境... 6
任務(wù)1.3 掌握推薦系統(tǒng)的基本構(gòu)成... 6
1.3.1 召回模塊 ...8
1.3.2 排序模塊... 13
1.3.3 過濾模塊... 14
任務(wù)1.4 了解推薦系統(tǒng)的新發(fā)展... 15
1.4.1 基于會話的推薦系統(tǒng)... 15
1.4.2 強化學(xué)習(xí)與推薦系統(tǒng)... 17
任務(wù)1.5 認清推薦系統(tǒng)的發(fā)展方向... 17
本章小結(jié)... 18
本章習(xí)題...18
第 2章 搭建試驗平臺...19
技能目標... 19
本章任務(wù)... 19
任務(wù)2.1 安裝和配置Anaconda ... 20
2.1.1 下載并安裝Anaconda ... 21
2.1.2 新建環(huán)境... 22
2.1.3 管理環(huán)境... 23
2.1.4 添加國內(nèi)的安裝源 ... 25
2.1.5 安裝scikit-surprise軟件包... 26
2.1.6 安裝其他軟件包 ... 27
任務(wù)2.2 獲取試驗數(shù)據(jù)集MovieLens... 28
2.2.1 下載數(shù)據(jù)集 ... 28
2.2.2 檢查文件內(nèi)容 ... 29
2.2.3 分析評分數(shù)據(jù)...31
任務(wù)2.3 安裝集成開發(fā)環(huán)境PyCharm... 35
2.3.1 下載PyCharm ... 35
2.3.2 創(chuàng)建項目Recommender ... 35
2.3.3 創(chuàng)建測試文件 ...37
任務(wù)2.4 測試集成開發(fā)環(huán)境Spyder... 38
任務(wù)2.5 測試Jupyter Notebook . 40
2.5.1 安裝并啟動Jupyter Notebook . 41
2.5.2 設(shè)置根目錄 . 42
2.5.3 Jupyter Notebook基本用法 .. 44
2.5.4 運行測試文件 46
本章小結(jié). 47
本章習(xí)題. 48
第3章 推薦系統(tǒng)的評測 .49
技能目標. 49
本章任務(wù). 49
任務(wù)3.1 學(xué)習(xí)用戶成長飛輪模型. 50
任務(wù)3.2 掌握推薦系統(tǒng)的評測方法. 51
3.2.1 離線測試.. 51
3.2.2 用戶測試.. 52
3.2.3 線上測試.. 54
任務(wù)3.3 掌握推薦系統(tǒng)的評測指標. 55
3.3.1 預(yù)測準確率 . 55
3.3.2 覆蓋率.. 61
3.3.3 多樣性.. 62
3.3.4 驚喜度.. 63
3.3.5 新穎度.. 64
3.3.6 實時性.. 65
3.3.7 健壯性.. 65
3.3.8 商業(yè)目標.. 66
3.3.9 小結(jié) 68
任務(wù)3.4 實際評測推薦系統(tǒng) 69
3.4.1 線下測試.. 69
3.4.2 線上測試.. 72 本章小結(jié). 74
本章習(xí)題. 74
第4章 基于內(nèi)容的召回 .75
技能目標. 75
本章任務(wù). 75
任務(wù)4.1 掌握物品特征抽取的基本方法 .. 76
4.1.1 抽取基本特征 77
4.1.2 抽取文本特征 79
4.1.3 抽取圖像特征 81
任務(wù)4.2 掌握相似度的衡量方法. 84
4.2.1 曼哈頓距離 . 85
4.2.2 歐氏距離.. 85
4.2.3 余弦相似度 . 86
任務(wù)4.3 實際開發(fā)一款基于內(nèi)容召回的推薦系統(tǒng) 86
4.3.1 準備電影特征 87
4.3.2 計算電影間的相似度. 89
4.3.3 預(yù)測用戶評分 91
4.3.4 生成頭部推薦 92
任務(wù)4.4 掌握橫向評測框架的開發(fā)和使用方法 .. 93
4.4.1 自定義預(yù)測算法 .. 93
4.4.2 比較控制器 . 95
4.4.3 評測內(nèi)容召回推薦算法 97
任務(wù)4.5 理解基于內(nèi)容召回的優(yōu)點和缺點 . 99
4.5.1 內(nèi)容召回的優(yōu)點 .. 99
4.5.2 內(nèi)容召回的缺點 100
本章小結(jié).. 100
本章習(xí)題.. 100
第5章 基于協(xié)同過濾的召回 .102
技能目標.. 102
本章任務(wù).. 102
任務(wù)5.1 掌握協(xié)同過濾的基本思想和主要分類 103
任務(wù)5.2 掌握協(xié)同過濾中相似性的衡量方法 . 104
5.2.1 行為數(shù)據(jù)的特點 105
5.2.2 相似性的衡量 . 105
任務(wù)5.3 實際開發(fā)一款基于用戶的協(xié)同過濾推薦系統(tǒng).. 108
5.3.1 創(chuàng)建用戶評分矩陣 .. 108 5.3.2 創(chuàng)建用戶相似度矩陣.. 108
5.3.3 尋找相似用戶 . 109
5.3.4 根據(jù)相似用戶的喜好給出推薦 .. 109
5.3.5 排序并過濾推薦電影列表(基于用戶的協(xié)同過濾) ..110
5.3.6 運行項目.110
任務(wù)5.4 實際開發(fā)一款基于物品的協(xié)同過濾推薦系統(tǒng)112
5.4.1 創(chuàng)建電影評分矩陣 113
5.4.2 創(chuàng)建電影相似度矩陣114
5.4.3 獲取當前用戶喜好 114
5.4.4 根據(jù)用戶喜好給出推薦115
5.4.5 排序并過濾推薦電影列表(基于電影的協(xié)同過濾) ..115
5.4.6 運行項目.115
任務(wù)5.5 實際評測協(xié)同過濾與評分預(yù)測融合模型..118
5.5.1 基于用戶的K近鄰?fù)扑]118
5.5.2 基于物品的K近鄰?fù)扑]118
5.5.3 評測K近鄰?fù)扑]算法119
本章小結(jié).. 120
本章習(xí)題.. 121
第6章 基于深度學(xué)習(xí)的召回 .122
技能目標.. 122
本章任務(wù).. 122
任務(wù)6.1 掌握并實際評測矩陣分解算法 124
任務(wù)6.2 掌握并實際評測受限玻爾茲曼機算法 129
任務(wù)6.3 掌握并實際評測自動編碼機算法 .. 133
任務(wù)6.4 掌握優(yōu)兔基于深度學(xué)習(xí)的召回模型 . 136
任務(wù)6.5 了解Netflix的推薦模型 139
本章小結(jié).. 141
本章習(xí)題.. 141
第7章 經(jīng)典排序模型142
技能目標.. 142
本章任務(wù).. 142
任務(wù)7.1 下載并探索一個排序用數(shù)據(jù)集 143
任務(wù)7.2 掌握并實際評測邏輯回歸排序算法 . 146
7.2.1 邏輯回歸的基本原理.. 146
7.2.2 邏輯回歸示例代碼 .. 147
任務(wù)7.3 掌握并實際評測梯度提升決策樹和邏輯回歸融合模型 .. 150 7.3.1 梯度提升決策樹的工作原理 150
7.3.2 梯度提升決策樹與邏輯回歸融合模型 152
7.3.3 梯度提升決策樹和邏輯回歸融合模型的示例代碼.. 153
任務(wù)7.4 掌握并實際評測貝葉斯個性化排序算法. 156
7.4.1 貝葉斯法則 .. 157
7.4.2 貝葉斯個性化排序算法原理 162
7.4.3 貝葉斯個性化排序示例代碼 163
本章小結(jié).. 170
本章習(xí)題.. 170
第8章 基于深度學(xué)習(xí)的排序 .171
技能目標.. 171
本章任務(wù).. 171
任務(wù)8.1 掌握因子分解機的基本原理. 172
任務(wù)8.2 掌握廣度和深度融合模型的基本原理 177
任務(wù)8.3 掌握優(yōu)兔深度學(xué)習(xí)排序模型的基本原理. 185
本章小結(jié).. 187
本章習(xí)題.. 188
第9章 基于會話的推薦 ..189
技能目標.. 189
本章任務(wù).. 189
任務(wù)9.1 了解基于會話的推薦系統(tǒng)的發(fā)展歷史 190
任務(wù)9.2 掌握循環(huán)神經(jīng)網(wǎng)絡(luò)在推薦系統(tǒng)中的應(yīng)用. 192
9.2.1 基于門控循環(huán)單元的推薦系統(tǒng) .. 193
9.2.2 多會話迷你批處理 .. 194
9.2.3 批處理中的負采樣 .. 194
9.2.4 排序損失函數(shù)的選擇.. 195
9.2.5 實驗過程 195
任務(wù)9.3 學(xué)習(xí)將語境信息融入循環(huán)神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng).. 196
9.3.1 語境的重要性 . 197
9.3.2 語境的融入方法 198
9.3.3 融合語境的循環(huán)神經(jīng)網(wǎng)絡(luò)模型 .. 199
9.3.4 實驗過程 202
本章小結(jié).. 203
本章習(xí)題.. 204
第 10章 基于強化學(xué)習(xí)的推薦 ..205
技能目標.. 205 本章任務(wù).. 205
任務(wù)10.1 了解在推薦系統(tǒng)中應(yīng)用強化學(xué)習(xí)的背景.. 206
任務(wù)10.2 了解強化學(xué)習(xí)的技術(shù)基礎(chǔ) 207
10.2.1 情境描述. 207
10.2.2 策略學(xué)習(xí). 209
10.2.3 用戶長期參與度 . 210
任務(wù)10.3 深入研究“探索與開采并舉”的強化學(xué)習(xí)推薦系統(tǒng) 210
10.3.1 提升多樣性的強化學(xué)習(xí)推薦系統(tǒng) .. 210
10.3.2 試驗過程. 213
10.3.3 試驗結(jié)果. 216
本章小結(jié).. 217
本章習(xí)題.. 218
第 11章 工業(yè)級推薦系統(tǒng).219
技能目標.. 219
本章任務(wù).. 219
任務(wù)11.1 了解深度規(guī);∈鑿埩烤W(wǎng)絡(luò)引擎 220
任務(wù)11.2 掌握DSSTNE深度學(xué)習(xí)框架的使用方法 221
11.2.1 轉(zhuǎn)換數(shù)據(jù) . 224
11.2.2 訓(xùn)練階段 . 224
11.2.3 預(yù)測階段 . 226
任務(wù)11.3 了解工業(yè)級推薦系統(tǒng)的架構(gòu)方法 226
11.3.1 系統(tǒng)架構(gòu) . 227
11.3.2 并行化.. 228
11.3.3 結(jié)束語.. 229
本章小結(jié).. 229
本章習(xí)題.. 230