實用推薦系統 Practical Recommender Systems

李源,朱罡罡,溫睿 李源,朱罡罡,溫睿

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

商品描述

要構建一個實用的“智能”推薦系統,不僅需要有好的算法,還需要瞭解接收推薦的用戶。本書分為兩部分,第一部分側重於基礎架構,主要介紹推薦系統的工作原理,展示如何創建推薦系統,以及給應用程序增加推薦系統時,應該如何收集和應用數據 ;第二部分側重於算法,介紹推薦系統算法,以及如何使用系統收集的數據來計算向用戶推薦什麽內容。作者還教授瞭如何使用最流行的推薦算法,並剖析它們在 Amazon 和 Netflix 等網站上的實際應用。

作者簡介

Kim Falk 是一位數據科學家,他在構建數據驅動的應用程序方面有著豐富的經驗。他對推薦系統和機器學習很感興趣。他所訓練的推薦系統,為用戶推薦合適的電影,為人們推送廣告,甚至幫助律師找到判例法的內容。自2010 年以來,他一直從事大數據解決方案和機器學習方面的工作。 Kim 經常參與有關推薦系統的演講和寫作。當Kim 不工作的時候,他就是一個居家男人,是一位父親,會帶著他的德國短毛指示犬進行越野跑。

目錄大綱

第1部分推薦系統的準備工作
第1章什麼是推薦.3
1.1現實生活中的推薦.3
1.1.1推薦系統在互聯網上大顯身手.5
1.1.2長尾.5
1.1.3Netflix的推薦系統.6
1.1.4推薦系統的定義.13
1.2推薦系統的分類.15
1.2.1域.16
1.2.2目的.16
1.2.3上下文.17
1.2.4個性化級別.17
1.2.5專家意見.19
1.2.6隱私與可信度.19
1.2.7接口.20
1.2.8算法.23
1.3機器學習與NetflixPrize.24
1.4MovieGEEKs網站.25
1.4.1設計與規範.27
1.4.2架構.27
1.5構建一個推薦系統.29
小結.31
第2章用戶行為以及如何收集用戶行為數據.32
2.1在瀏覽網站時Netflix如何收集證據.33
2.1.1Netflix收集的證據.35
2.2尋找有用的用戶行為.37
2.2.1捕獲訪客印象.38
2.2.2可以從瀏覽者身上學到什麼.38
2.2.3購買行為.43
2.2.4消費商品.44
2.2.5訪客評分.45
2.2.6以(舊的)Netflix方式了解你的用戶.48
2.3識別用戶.49
2.4從其他途徑獲取訪客數據.50
2.5收集器.50
2.5.1構建項目文件.52
2.5.2數據模型.52
2.5.3告密者(snitch):客戶端證據收集器.53
2.5.4將收集器集成到MovieGEEKs中.54
2.6系統中的用戶是誰以及如何對其進行建模.57
小結.60
第3章監控系統.61
3.1為什麼添加儀錶盤是個好主意.62
3.1.1回答“我們做得怎麼樣?”.62
3.2執行分析.
3.2.1網站分析.
3.2.2基本統計數據.
3.2.3轉化.65
3.2.4分析轉化路徑.69
3.2.5轉化路徑.70
3.3角色.73
3.4MovieGEEKs儀錶盤.76
3.4.1自動生成日誌數據.76
3.4.2分析儀錶盤的規範和設計.77
3.4.3分析儀錶盤示意圖.77
3.4.4架構.78
小結.81
第4章評分及其計算方法.82
4.1用戶-商品喜好.83
4.1.1什麼是評分.83
4.1.2用戶-商品矩陣.84
4.2顯式評分和隱式評分.86
4.2.1如何選擇可靠的推薦來源.87
4.3重溫顯式評分.88
4.4什麼是隱式評分.88
4.4.1與人相關的推薦.90
4.4.2關於計算評分的思考.90
4.5計算隱式評分.93
4.5.1看看行為數據.94
4.5.2一個有關機器學問題.98
4.6如何計算隱式評分.99
4.6.1添加時間因素.102
4.7低頻商品更有價值.105
小結.107
第5章非個性化推薦.108
5.1什麼是非個性化推薦.109
5.1.1什麼是廣告.109
5.1.2推薦有什麼作用.110
5.2當沒有數據的時候如何做推薦.111
5.2.1商品的十大排行榜.113
5.3榜單的實現以及推薦系統組件的準備工作.114
5.3.1推薦系統組件.114
5.3.2GitHub上的MovieGEEKs網站代碼.116
5.3.3推薦系統.116
5.3.4為MovieGEEKs網站添加一個榜單.116
5.3.5使內容看起來更具吸引力.117
5.4種子推薦.119
5.4.1頻繁購買的商品與你正在查看的商品很相似.120
5.4.2關聯規則.121
5.4.3實現關聯規則.126
5.4.4在數據庫中存儲關聯規則.130
5.4.5計算關聯規則.131
5.4.6運用不同的事件來創建關聯規則.133
小結.133
第6章冷用戶(冷商品).135
6.1什麼是冷啟動.135
6.1.1冷商品.137
6.1.2冷用戶.137
6.1.3灰羊.139
6.1.4現實生活中的例子.139
6.1.5面對冷啟動你能做什麼.140
6.2追踪訪客.141
6.2.1執著於匿名用戶.141
6.3用算法來解決冷啟動問題.141
6.3.1使用關聯規則為冷用戶創建推薦信息.142
6.3.2使用領域知識和業務規則.143
6.3.3使用分組.144
6.3.4使用類別來避免灰羊問題以及如何介紹冷商品.146
那些不詢問就很難被發現的人.147
.1當訪客數據不夠新時.148
6.5使用關聯規則快速進行推薦.148
6.5.1收集數據項.149
6.5.2檢索關聯規則並根據置信度對其排序.150
6.5.3顯示推薦內容.151
6.5.4評估.154
小結.154
第2部分推薦算法
第7章找出用戶之間和商品之間的相似之處.157
7.1什麼是相似度.158
7.1.1什麼是相似度函數.159
7.2基本的相似度函數.160
7.2.1Jaccard距離.161
7.2.2使用Lp-norm測量距離.162
7.2.3Cosine相似度.165
7.2.4通過Pearson相關係數查找相似度.167
7.2.5運行Pearson相似度.169
7.2.6Pearson相關性係數與Cosine相似度類似.171
7.3k-means聚類.171
7.3.1k-means聚類算法.172
7.3.2使用Python實現k-means聚類算法.174
7.4實現相似度.178
7.4.1在MovieGEEKs網站上實現相似度.181
7.4.2在MovieGEEKs網站上實現聚類.183
小結.187
第8章鄰域協同過濾.188
8.1協同過濾:一節歷史課.190
8.1.1當信息被協同過濾時.190
8.1.2互幫互助.190
8.1.3評分矩陣.192
8.1.4協同過濾管道.193
8.1.5應該使用用戶-用戶還是物品-物品的協同過濾.194
8.1.6數據要求.195
8.2推薦的計算.195
8.3相似度的計算.196
8.4預測物品相似度的算法.196
8.5選擇鄰域的方法.201
8.6找到正確的鄰域.203
8.7計算預測評分的方法.204
8.8使用基於物品的過濾進行預測.206
8.8.1計算物品的預測評分.206
8.9冷啟動問題.207
8.10機器學習術語簡介.208
8.11MovieGeeks網站上的協同過濾.209
8.11.1基於物品的過濾.209
8.12關聯規則推薦和協同推薦之間有什麼區別.215
8.13用於協同過濾的工具.215
8.14協同過濾的優缺點.217
小結.218
第9章評估推薦系統.219
9.1推薦系統的評估週期.220
9.2為什麼評估很重要.221
9.3如何解釋用戶行為.222
9.4測量什麼.223
9.4.1了解我的喜好,盡量減少預測錯誤.223
9.4.2多樣性.224
9.4.3覆蓋率.225
9.4.4驚喜度.227
9.5在實現推薦之前.228
9.5.1驗證算法.228
9.5.2回歸測試.229
9.6評估的類型.230
9.7離線評估.231
9.7.1當算法不產生任何推薦時該怎麼辦.231
9.8離線實驗.232
9.8.1準備實驗數據.237
9.9在MovieGEEKs中實現這個實驗.244
9.9.1待辦任務清單.244
9.10評估測試集.248
9.10.1從基線預測器開始.248
9.10.2找到正確的參數.251
9.11在線評估.252
9.11.1對照實驗.252
9.11.2A/B測試.253
9.12利用exploit/explore持續測試.254
9.12.1反饋循環.255
小結.256
第10章基於內容的過濾.257
10.1舉例說明.258
10.2什麼是基於內容的過濾.261
10.3內容分析器.262
10.3.1從物品配置文件提取特徵.262
10.3.2數量較少的分類數據.265
10.3.3將年份轉換為可比較的特徵.265
10.4從描述中提取元數據.266
10.4.1準備描述.266
10.5使用TF-IDF查找重要單詞.270
10.6使用LDA進行主題建模.272
10.6.1有什麼方法可以調整LDA.279
10.7查找相似內容.282
10.8如何創建用戶配置文件.283
10.8.1使用LDA創建用戶配置文件.283
10.8.2使用TF-IDF創建用戶配置文件.283
10.9MovieGEEKs中基於內容的推薦.286
10.9.1加載數據.286
10.9.2訓練模型.287
10.9.3創建物品配置文件.288
10.9.4創建用戶配置文件.289
10.9.5展示推薦.291
10.10評估基於內容的推薦系統.292
10.11基於內容過濾的優缺點.293
小結.294
第11章用矩陣分解法尋找隱藏特徵.295
11.1有時減少數據量是好事.296
11.2你想要解決的問題的例子.298
11.3談一點線性代數.301
11.3.1矩陣.301
11.3.2什麼是因子分解.303
11.4使用SVD構造因子分解.304
11.4.1通過分組加入添加新用戶.310
11.4.2如何使用SVD進行推薦.313
11.4.3基線預測.313
11.4.4時間動態.316
11.5使用FunkSVD構造因子分解.317
11.5.1均方根誤差.317
11.5.2梯度下降.318
11.5.3隨機梯度下降.321
11.5.4後是因子分解.322
11.5.5增加偏差.323
11.5.6如何開始,何時結束.324
11.6用FunkSVD進行推薦.328
11.7MovieGEEKs中的FunkSVD實現.331
11.7.1如何處理異常值.335
11.7.2保持模型的更新.336
11.7.3更快的實施方法.337
11.8顯式數據與隱式數據.337
11.估.337
11.10用於FunkSVD的參數.339
小結.341
第12章運用佳算法來實現混合推薦.342
12.1混合推薦系統的困惑世界.343
12.2單體.344
12.2.1將基於內容的特徵與行為數據混合,以改進協同過濾推薦系統.345
12.3摻雜式混合推薦.346
12.4集成推薦.347
12.4.1可切換的集成推薦.348
12.4.2加權式集成推薦.349
12.4.3線性回歸.350
12.5特徵加權線性疊加(FWLS).351
12.5.1元特徵:權重作為函數.352
12.5.2算法.353
12.6實現.360
小結.370
第13章排序和排序學習.371
13.1Foursquare的排序學習例子.372
13.2重新排序.376
13.3什麼是排序學習.377
13.3.1三種類型的LTR算法.377
13.4貝葉斯個性化排序.379
13.4.1BPR排序.381
13.4.2數學魔術(不錯巫術).383
13.4.3BPR算法.386
13.4.4具有矩陣分解的BPR.387
13.5BPR的實現.388
13.5.1執行推薦.393
13.6評估.394
13.7用於BPR的參數.397
小結.398
第14章推薦系統的未來.399
14.1本書內容總結.400
14.2接下來要學主題.403
14.2.1延伸閱讀.403
14.2.2算法.404
14.2.3所處環境.404
14.2.4人機交互.405
14.2.5選擇一個好的架構.405
14.3推薦系統的未來是什麼.406
14.4後的想法.411