第1章 數據挖掘基本概念 1
1.1 數據挖掘的定義 1
1.1.1 統計建模 1
1.1.2 機器學習 1
1.1.3 建模的計算方法 2
1.1.4 數據匯總 2
1.1.5 特徵抽取 3
1.2 數據挖掘的統計限製 4
1.2.1 整體情報預警 4
1.2.2 邦弗朗尼原理 4
1.2.3 邦弗朗尼原理的一個例子 5
1.2.4 習題 6
1.3 相關知識 6
1.3.1 詞語在文檔中的重要性 6
1.3.2 哈希函數 7
1.3.3 索引 8
1.3.4 二級存儲器 9
1.3.5 自然對數的底e 10
1.3.6 冪定律 11
1.3.7 習題 12
1.4 本書概要 13
1.5 小結 14
1.6 參考文獻 15
第2章 MapReduce及新軟件棧 16
2.1 分布式文件係統 17
2.1.1 計算節點的物理結構 17
2.1.2 大規模文件係統的結構 18
2.2 MapReduce 19
2.2.1 Map任務 20
2.2.2 按鍵分組 20
2.2.3 Reduce任務 21
2.2.4 組閤器 21
2.2.5 MapReduce的執行細節 22
2.2.6 節點失效的處理 23
2.2.7 習題 23
2.3 使用MapReduce的算法 23
2.3.1 基於MapReduce的矩陣—嚮量乘法實現 24
2.3.2 嚮量v無法放入內存時的處理 24
2.3.3 關係代數運算 25
2.3.4 基於MapReduce的選擇運算27
2.3.5 基於MapReduce的投影運算27
2.3.6 基於MapReduce的並、交和差運算 28
2.3.7 基於MapReduce的自然連接運算 28
2.3.8 基於MapReduce的分組和聚閤運算 29
2.3.9 矩陣乘法 29
2.3.10 基於單步MapReduce的矩陣乘法 30
2.3.11 習題 31
2.4 MapReduce的擴展 31
2.4.1 工作流係統 32
2.4.2 MapReduce的遞歸擴展版本.33
2.4.3 Pregel係統 35
2.4.4 習題 35
2.5 通信開銷模型 36
2.5.1 任務網絡的通信開銷 36
2.5.2 時鍾時間 37
2.5.3 多路連接 38
2.5.4 習題 41
2.6 MapReduce復雜性理論 41
2.6.1 Reducer規模及復製率 41
2.6.2 一個例子:相似性連接 42
2.6.3 MapReduce問題的一個圖模型 44
2.6.4 映射模式 45
2.6.5 並非所有輸入都存在時的處理 46
2.6.6 復製率的下界 46
2.6.7 案例分析:矩陣乘法 48
2.6.8 習題 51
2.7 小結 51
2.8 參考文獻 53
第3章 相似項發現 55
3.1 近鄰搜索的應用 55
3.1.1 集閤的Jaccard相似度 55
3.1.2 文檔的相似度 56
3.1.3 協同過濾——一個集閤相似問題 57
3.1.4 習題 58
3.2 文檔的shingling 58
3.2.1 k-shingle 58
3.2.2 shingle大小的選擇 59
3.2.3 對shingle進行哈希 59
3.2.4 基於詞的shingle 60
3.2.5 習題 60
3.3 保持相似度的集閤摘要錶示 61
3.3.1 集閤的矩陣錶示 61
3.3.2 最小哈希 62
3.3.3 最小哈希及Jaccard相似度 62
3.3.4 最小哈希簽名 63
3.3.5 最小哈希簽名的計算 63
3.3.6 習題 66
3.4 文檔的局部敏感哈希算法 67
3.4.1 麵嚮最小哈希簽名的LSH 67
3.4.2 行條化策略的分析 68
3.4.3 上述技術的綜閤 69
3.4.4 習題 70
3.5 距離測度 70
3.5.1 距離測度的定義 71
3.5.2 歐氏距離 71
3.5.3 Jaccard距離 72
3.5.4 餘弦距離 72
3.5.5 編輯距離 73
3.5.6 海明距離 74
3.5.7 習題 74
3.6 局部敏感函數理論 75
3.6.1 局部敏感函數 76
3.6.2 麵嚮Jaccard距離的局部敏感函數族 77
3.6.3 局部敏感函數族的放大處理.77
3.6.4 習題 79
3.7 麵嚮其他距離測度的LSH函數族 80
3.7.1 麵嚮海明距離的LSH函數族 80
3.7.2 隨機超平麵和餘弦距離 80
3.7.3 梗概 81
3.7.4 麵嚮歐氏距離的LSH函數族 82
3.7.5 麵嚮歐氏空間的更多LSH函數族 83
3.7.6 習題 83
3.8 LSH 函數的應用 84
3.8.1 實體關聯 84
3.8.2 一個實體關聯的例子 85
3.8.3 記錄匹配的驗證 86
3.8.4 指紋匹配 87
3.8.5 適用於指紋匹配的LSH函數族 87
3.8.6 相似新聞報道檢測 88
3.8.7 習題 89
3.9 麵嚮高相似度的方法 90
3.9.1 相等項發現 90
3.9.2 集閤的字符串錶示方法 91
3.9.3 基於長度的過濾 91
3.9.4 前綴索引 92
3.9.5 位置信息的使用 93
3.9.6 使用位置和長度信息的索引.94
3.9.7 習題 96
3.10 小結 97
3.11 參考文獻 98
第4章 數據流挖掘 100
4.1 流數據模型 100
4.1.1 一個數據流管理係統 100
4.1.2 流數據源的例子 101
4.1.3 流查詢 102
4.1.4 流處理中的若乾問題 103
4.2 流當中的數據抽樣 103
4.2.1 一個富於啓發性的例子 104
4.2.2 代錶性樣本的獲取 104
4.2.3 一般的抽樣問題 105
4.2.4 樣本規模的變化 105
4.2.5 習題 106
4.3 流過濾 106
4.3.1 一個例子 106
4.3.2 布隆過濾器 107
4.3.3 布隆過濾方法的分析 107
4.3.4 習題 108
4.4 流中獨立元素的數目統計 109
4.4.1 獨立元素計數問題 109
4.4.2 FM 算法 109
4.4.3 組閤估計 110
4.4.4 空間需求 111
4.4.5 習題 111
4.5 矩估計 111
4.5.1 矩定義 111
4.5.2 二階矩估計的AMS算法 112
4.5.3 AMS算法有效的原因 113
4.5.4 更高階矩的估計 113
4.5.5 無限流的處理 114
4.5.6 習題 115
4.6 窗口內的計數問題 116
4.6.1 精確計數的開銷 116
4.6.2 DGIM算法 116
4.6.3 DGIM算法的存儲需求 118
4.6.4 DGIM算法中的查詢應答 118
4.6.5 DGIM條件的保持 119
4.6.6 降低錯誤率 120
4.6.7 窗口內計數問題的擴展 120
4.6.8 習題 121
4.7 衰減窗口 121
4.7.1 最常見元素問題 121
4.7.2 衰減窗口的定義 122
4.7.3 最流行元素的發現 123
4.8 小結 123
4.9 參考文獻 124
第5章 鏈接分析 126
5.1 PageRank 126
5.1.1 早期的搜索引擎及詞項作弊 126
5.1.2 PageRank 的定義 128
5.1.3 Web結構 130
5.1.4 避免終止點 132
5.1.5 采集器陷阱及“抽稅”法 134
5.1.6 PageRank 在搜索引擎中的使用 136
5.1.7 習題 136
5.2 PageRank的快速計算 137
5.2.1 轉移矩陣的錶示 137
5.2.2 基於MapReduce的PageRank迭代計算 138
5.2.3 結果嚮量閤並時的組閤器使用 139
5.2.4 轉移矩陣中塊的錶示 140
5.2.5 其他高效的PageRank迭代方法 141
5.2.6 習題 142
5.3 麵嚮主題的PageRank 142
5.3.1 動機 142
5.3.2 有偏的隨機遊走模型 143
5.3.3 麵嚮主題的PageRank 的使用 144
5.3.4 基於詞匯的主題推斷 144
5.3.5 習題 145
5.4 鏈接作弊 145
5.4.1 垃圾農場的架構 145
5.4.2 垃圾農場的分析 147
5.4.3 與鏈接作弊的鬥爭 147
5.4.4 TrustRank 148
5.4.5 垃圾質量 148
5.4.6 習題 149
5.5 導航頁和權威頁 149
5.5.1 HITS的直觀意義 150
5.5.2 導航度和權威度的形式化 150
5.5.3 習題 153
5.6 小結 153
5.7 參考文獻 155
第6章 頻繁項集 157
6.1 購物籃模型 157
6.1.1 頻繁項集的定義 157
6.1.2 頻繁項集的應用 159
6.1.3 關聯規則 160
6.1.4 高可信度關聯規則的發現 161
6.1.5 習題 162
6.2 購物籃及A-Priori算法 163
6.2.1 購物籃數據的錶示 163
6.2.2 項集計數中的內存使用 164
6.2.3 項集的單調性 165
6.2.4 二元組計數 166
6.2.5 A-Priori算法 166
6.2.6 所有頻繁項集上的A-Priori算法 168
6.2.7 習題 169
6.3 更大數據集在內存中的處理 170
6.3.1 PCY算法 171
6.3.2 多階段算法 172
6.3.3 多哈希算法 174
6.3.4 習題 175
6.4 有限掃描算法 177
6.4.1 簡單的隨機化算法 177
6.4.2 抽樣算法中的錯誤規避 178
6.4.3 SON算法 179
6.4.4 SON算法和MapReduce 179
6.4.5 Toivonen算法 180
6.4.6 Toivonen算法的有效性分析 181
6.4.7 習題 181
6.5 流中的頻繁項計數 182
6.5.1 流的抽樣方法 182
6.5.2 衰減窗口中的頻繁項集 183
6.5.3 混閤方法 183
6.5.4 習題 184
6.6 小結 184
6.7 參考文獻 186
第7章 聚類 187
7.1 聚類技術介紹 187
7.1.1 點、空間和距離 187
7.1.2 聚類策略 188
7.1.3 維數災難 189
7.1.4 習題 190
7.2 層次聚類 190
7.2.1 歐氏空間下的層次聚類 191
7.2.2 層次聚類算法的效率 194
7.2.3 控製層次聚類的其他規則 194
7.2.4 非歐空間下的層次聚類 196
7.2.5 習題 197
7.3 k-均值算法 198
7.3.1 k-均值算法基本知識 198
7.3.2 k-均值算法的簇初始化 198
7.3.3 選擇正確的k值 199
7.3.4 BFR算法 200
7.3.5 BFR算法中的數據處理 202
7.3.6 習題 203
7.4 CURE算法 204
7.4.1 CURE算法的初始化 205
7.4.2 CURE算法的完成 206
7.4.3 習題 206
7.5 非歐空間下的聚類 207
7.5.1 GRGPF算法中的簇錶示 207
7.5.2 簇錶示樹的初始化 207
7.5.3 GRGPF算法中的點加入 208
7.5.4 簇的分裂及閤並 209
7.5.5 習題 210
7.6 流聚類及並行化 210
7.6.1 流計算模型 210
7.6.2 一個流聚類算法 211
7.6.3 桶的初始化 211
7.6.4 桶閤並 211
7.6.5 查詢應答 213
7.6.6 並行環境下的聚類 213
7.6.7 習題 214
7.7 小結 214
7.8 參考文獻 216
第8章 Web廣告 218
8.1 在綫廣告相關問題 218
8.1.1 廣告機會 218
8.1.2 直投廣告 219
8.1.3 展示廣告的相關問題 219
8.2 在綫算法 220
8.2.1 在綫和離綫算法 220
8.2.2 貪心算法 221
8.2.3 競爭率 222
8.2.4 習題 222
8.3 廣告匹配問題 223
8.3.1 匹配及完美匹配 223
8.3.2 最大匹配貪心算法 224
8.3.3 貪心匹配算法的競爭率 224
8.3.4 習題 225
8.4 adwords問題 225
8.4.1 搜索廣告的曆史 226
8.4.2 adwords問題的定義 226
8.4.3 adwords問題的貪心方法 227
8.4.4 Balance算法 228
8.4.5 Balance算法競爭率的一個下界 228
8.4.6 多投標者的Balance算法 230
8.4.7 一般性的Balance算法 231
8.4.8 adwords問題的最後論述 232
8.4.9 習題 232
8.5 adwords的實現 232
8.5.1 投標和搜索查詢的匹配 233
8.5.2 更復雜的匹配問題 233
8.5.3 文檔和投標之間的匹配算法 234
8.6 小結 235
8.7 參考文獻 237
第9章 推薦係統 238
9.1 一個推薦係統的模型 238
9.1.1 效用矩陣 238
9.1.2 長尾現象 239
9.1.3 推薦係統的應用 241
9.1.4 效用矩陣的填充 241
9.2 基於內容的推薦 242
9.2.1 項模型 242
9.2.2 文檔的特徵發現 242
9.2.3 基於Tag的項特徵獲取 243
9.2.4 項模型的錶示 244
9.2.5 用戶模型 245
9.2.6 基於內容的項推薦 246
9.2.7 分類算法 247
9.2.8 習題 248
9.3 協同過濾 249
9.3.1 相似度計算 249
9.3.2 相似度對偶性 252
9.3.3 用戶聚類和項聚類 253
9.3.4 習題 254
9.4 降維處理 254
9.4.1 UV分解 255
9.4.2 RMSE 255
9.4.3 UV分解的增量式計算 256
9.4.4 對任一元素的優化 259
9.4.5 一個完整UV 分解算法的構建 259
9.4.6 習題 261
9.5 NetFlix競賽 262
9.6 小結 263
9.7 參考文獻 264
第10章 社會網絡圖挖掘 265
10.1 將社會網絡看成圖 265
10.1.1 社會網絡的概念 265
10.1.2 將社會網絡看成圖 266
10.1.3 各種社會網絡的例子 267
10.1.4 多類型節點構成的圖 268
10.1.5 習題 269
10.2 社會網絡圖的聚類 269
10.2.1 社會網絡圖的距離計算 269
10.2.2 應用標準的聚類算法 270
10.2.3 中介度 271
10.2.4 Girvan-Newman算法 271
10.2.5 利用中介度來發現社區 274
10.2.6 習題 275
10.3 社區的直接發現 275
10.3.1 團的發現 276
10.3.2 完全二部圖 276
10.3.3 發現完全二部子圖 277
10.3.4 完全二部子圖一定存在的原因 277
10.3.5 習題 279
10.4 圖劃分 280
10.4.1 圖劃分的好壞標準 280
10.4.2 歸一化割 280
10.4.3 描述圖的一些矩陣 281
10.4.4 拉普拉斯矩陣的特徵值 282
10.4.5 其他圖劃分方法 284
10.4.6 習題 284
10.5 重疊社區的發現 285
10.5.1 社區的本質 285
10.5.2 極大似然估計 286
10.5.3 關係圖模型 287
10.5.4 避免成員隸屬關係的離散式變化 288
10.5.5 習題 290
10.6 Simrank 290
10.6.1 社會網絡上的隨機遊走者 290
10.6.2 帶重啓的隨機遊走 291
10.6.3 習題 293
10.7 三角形計數問題 293
10.7.1 為什麼要對三角形計數 294
10.7.2 一個尋找三角形的算法 294
10.7.3 三角形尋找算法的最優性 295
10.7.4 基於MapReduce尋找三角形 295
10.7.5 使用更少的Reduce任務.297
10.7.6 習題 297
10.8 圖的鄰居性質 298
10.8.1 有嚮圖和鄰居 298
10.8.2 圖的直徑 299
10.8.3 傳遞閉包和可達性 300
10.8.4 基於MapReduce的傳遞閉包求解 301
10.8.5 智能傳遞閉包 303
10.8.6 基於圖歸約的傳遞閉包 304
10.8.7 鄰居規模的近似計算 305
10.8.8 習題 306
10.9 小結 307
10.10 參考文獻 310
第11章 降維處理 312
11.1 特徵值和特徵嚮量 312
11.1.1 定義 312
11.1.2 特徵值與特徵嚮量計算 313
11.1.3 基於冪迭代方法的特徵對求解 315
11.1.4 特徵嚮量矩陣 317
11.1.5 習題 317
11.2 主成分分析 318
11.2.1 一個示例 318
11.2.2 利用特徵嚮量進行降維 321
11.2.3 距離矩陣 322
11.2.4 習題 323
11.3 奇異值分解 323
11.3.1 SVD的定義 323
11.3.2 SVD解析 325
11.3.3 基於SVD的降維 326
11.3.4 將較低奇異值置為0後有效的原因 327
11.3.5 使用概念進行查詢處理 328
11.3.6 矩陣SVD的計算 329
11.3.7 習題 330
11.4 CUR 分解 331
11.4.1 CUR 的定義 331
11.4.2 閤理選擇行和列 332
11.4.3 構建中間矩陣 333
11.4.4 完整的CUR 分解 334
11.4.5 去除重復行和列 335
11.4.6 習題 335
11.5 小結 336
11.6 參考文獻 337
第12章 大規模機器學習 338
12.1 機器學習模型 338
12.1.1 訓練集 338
12.1.2 一些例子 339
12.1.3 機器學習方法 341
12.1.4 機器學習架構 342
12.1.5 習題 344
12.2 感知機 344
12.2.1 訓練閾值為0 的感知機 344
12.2.2 感知機的收斂性 347
12.2.3 Winnow算法 347
12.2.4 允許閾值變化的情況 349
12.2.5 多類感知機 350
12.2.6 變換訓練集 351
12.2.7 感知機的問題 351
12.2.8 感知機的並行實現 353
12.2.9 習題 354
12.3 支持嚮量機 354
12.3.1 支持嚮量機的構成 354
12.3.2 超平麵歸一化 356
12.3.3 尋找最優逼近分界麵 357
12.3.4 基於梯度下降法求解SVM 359
12.3.5 隨機梯度下降 363
12.3.6 SVM的並行實現 363
12.3.7 習題 363
12.4 近鄰學習 364
12.4.1 近鄰計算的框架 364
12.4.2 最近鄰學習 365
12.4.3 學習一維函數 365
12.4.4 核迴歸 367
12.4.5 處理高維歐氏空間數據 368
12.4.6 對非歐距離的處理 369
12.4.7 習題 369
12.5 各種學習方法的比較 370
12.6 小結 371
12.7 參考文獻 372
· · · · · · (
收起)