Alink權威指南:基於Flink的機器學習實例入門(Java)
內容描述
全書圍繞Alink(阿裡在Flink基礎上做的開源版本)的展開,以實例為主闡述Alink的使用。 ?以機器學習的知識架構將各個章節串聯起來,每個章節配合實例,用戶更容易理解和入手嘗試。 ?數據會採用讀者能免費下載的數據集,在加上Alink本身是開源的、免費的。用戶試用起來沒有成本。 ?實例實現的源代碼,準備放在Alink開源git上,大家容易看到,可以直接下載,代碼旁邊會有實體書的介紹 ?以機器學習的知識架構將各個章節串聯起來,每個章節配合實例,用戶更容易理解和入手嘗試。 ?數據會採用讀者能免費下載的數據集,在加上Alink本身是開源的、免費的。用戶試用起來沒有成本。 ?實例實現的源代碼,準備放在Alink開源git上,大家容易看到,可以直接下載,代碼旁邊會有實體書的介紹
目錄大綱
第1章 Alink快速上手 1
1.1 Alink是什麼 1
1.2 免費下載、安裝 1
1.3 Alink的功能 2
1.3.1 豐富的算法庫 2
1.3.2 多樣的使用體驗 3
1.3.3 與SparkML的對比 3
1.4 關於數據和代碼 4
1.5 簡單示例 5
1.5.1 數據的讀/寫與顯示 5
1.5.2 批式訓練和批式預測 7
1.5.3 流式處理和流式預測 9
1.5.4 定義Pipeline,簡化操作 10
1.5.5 嵌入預測服務系統 12
第2章 系統概況與核心概念 14
2.1 基本概念 14
2.2 批式任務與流式任務 15
2.3 Alink=A+link 18
2.3.1 BatchOperator和StreamOperator 19
2.3.2 link方式是批式算法/流式算法的通用使用方式 20
2.3.3 link的簡化 23
2.3.4 組件的主輸出與側輸出 23
2.4 Pipeline與PipelineModel 24
2.4.1 概念和定義 24
2.4.2 深入介紹 25
2.5 觸發Alink任務的執行 28
2.6 模型信息顯示 29
2.7 文件系統與數據庫 34
2.8 Schema String 36
第3章 文件系統與數據文件 38
3.1 文件系統簡介 38
3.1.1 本地文件系統 39
3.1.2 Hadoop文件系統 41
3.1.3 阿里雲OSS文件系統 43
3.2 數據文件的讀入與導出 45
3.2.1 CSV格式 47
3.2.2 TSV、LibSVM、Text格式 53
3.2.3 AK格式 56
第4章 數據庫與數據表 60
4.1 簡介 60
4.1.1 Catalog的基本操作 60
4.1.2 Source和Sink組件 61
4.2 Hive示例 62
4.3 Derby示例 65
4.4 MySQL示例 67
第5章 支持Flink SQL 70
5.1 基本操作 70
5.1.1 註冊 70
5.1.2 運行 71
5.1.3 內置函數 74
5.1.4 用戶定義函數 74
5.2 簡化操作 75
5.2.1 單表操作 76
5.2.2 兩表的連接(JOIN)操作 80
5.2.3 兩表的集合操作 82
5.3 深入介紹Table Environment 86
5.3.1 註冊數據表名 87
5.3.2 撤銷數據表名 88
5.3.3 掃描已註冊的表 89
第6章 用戶定義函數(UDF/UDTF) 90
6.1 用戶定義標量函數(UDF) 90
6.1.1 示例數據及問題 91
6.1.2 UDF的定義 91
6.1.3 使用UDF處理批式數據 92
6.1.4 使用UDF處理流式數據 93
6.2 用戶定義表值函數(UDTF) 95
6.2.1 示例數據及問題 95
6.2.2 UDTF的定義 96
6.2.3 使用UDTF處理批式數據 96
6.2.4 使用UDTF處理流式數據 99
第7章 基本數據處理 101
7.1 採樣 101
7.1.1 取“前”N個數據 102
7.1.2 隨機採樣 102
7.1.3 加權採樣 104
7.1.4 分層採樣 105
7.2 數據劃分 106
7.3 數值尺度變換 108
7.3.1 標準化 109
7.3.2 MinMaxScale 111
7.3.3 MaxAbsScale 112
7.4 向量的尺度變換 113
7.4.1 StandardScale、MinMaxScale、MaxAbsScale 113
7.4.2 正則化 115
7.5 缺失值填充 116
第8章 線性二分類模型 119
8.1 線性模型的基礎知識 119
8.1.1 損失函數 119
8.1.2 經驗風險與結構風險 121
8.1.3 線性模型與損失函數 122
8.1.4 邏輯回歸與線性支持向量機(Linear SVM) 123
8.2 二分類評估方法 125
8.2.1 基本指標 126
8.2.2 綜合指標 128
8.2.3 評估曲線 131
8.3 數據探索 136
8.3.1 基本統計 138
8.3.2 相關性 140
8.4 訓練集和測試集 144
8.5 邏輯回歸模型 145
8.6 線性SVM模型 147
8.7 模型評估 149
8.8 特徵的多項式擴展 153
8.9 因子分解機 157
第9章 樸素貝葉斯模型與決策樹模型 160
9.1 樸素貝葉斯模型 160
9.2 決策樹模型 162
9.2.1 決策樹的分裂指標定義 165
9.2.2 常用的決策樹算法 167
9.2.3 指標計算示例 169
9.2.4 分類樹與回歸樹 172
9.2.5 經典的決策樹示例 173
9.3 數據探索 176
9.4 使用樸素貝葉斯方法 179
9.5 蘑菇分類的決策樹 185
第10章 特徵的轉化 191
10.1 整體流程 195
10.1.1 特徵啞元化 197
10.1.2 特徵的重要性 198
10.2 減少模型特徵的個數 200
10.3 離散特徵轉化 202
10.3.1 獨熱編碼 202
10.3.2 特徵哈希 204
第11章 構造新特徵 207
11.1 數據探索 208
11.2 思路 210
11.2.1 用戶和品牌的各種特徵 211
11.2.2 二分類模型訓練 212
11.3 計算訓練集 213
11.3.1 原始數據劃分 213
11.3.2 計算特徵 214
11.3.3 計算標籤 222
11.4 正負樣本配比 224
11.5 決策樹 226
11.6 集成學習 227
11.6.1 Bootstrap aggregating 228
11.6.2 Boosting 229
11.6.3 隨機森林與GBDT 232
11.7 使用隨機森林算法 233
11.8 使用GBDT算法 234
第12章 從二分類到多分類 235
12.1 多分類模型評估方法 235
12.1.1 綜合指標 237
12.1.2 關於每個標籤值的二分類指標 238
12.1.3 Micro、Macro、Weighted計算的指標 239
12.2 數據探索 241
12.3 使用樸素貝葉斯進行多分類 244
12.4 二分類器組合 246
12.5 Softmax算法 249
12.6 多層感知器分類器 253
第13章 常用多分類算法 256
13.1 數據準備 256
13.1.1 讀取MNIST數據文件 257
13.1.2 稠密向量與稀疏向量 258
13.1.3 標籤值的統計信息 261
13.2 Softmax算法 262
13.3 二分類器組合 264
13.4 多層感知器分類器 265
13.5 決策樹與隨機森林 267
13.6 K最近鄰算法 270
第14章 在線學習 273
14.1 整體流程 273
14.2 數據準備 275
14.3 特徵工程 277
14.4 特徵工程處理數據 279
14.5 在線訓練 280
14.6 模型過濾 283
第15章 回歸的由來 286
15.1 平均數 287
15.2 向平均數方向的回歸 288
15.3 線性回歸 289
第16章 常用回歸算法 292
16.1 回歸模型的評估指標 292
16.2 數據探索 294
16.3 線性回歸 297
16.4 決策樹與隨機森林 300
16.5 GBDT回歸 301
第17章 常用聚類算法 303
17.1 聚類評估指標 304
17.1.1 基本評估指標 304
17.1.2 基於標籤值的評估指標 306
17.2 K-Means聚類 308
17.2.1 算法簡介 308
17.2.2 K-Means實例 309
17.3 高斯混合模型 314
17.3.1 算法介紹 314
17.3.2 GMM實例 316
17.4 二分K-Means聚類 317
17.5 基於經緯度的聚類 320
第18章 批式與流式聚類 324
18.1 稠密向量與稀疏向量 324
18.2 使用聚類模型預測流式數據 326
18.3 流式聚類 329
第19章 主成分分析 331
19.1 主成分的含義 333
19.2 兩種計算方式 337
19.3 在聚類方面的應用 339
19.4 在分類方面的應用 343
第20章 超參數搜索 347
20.1 示例一:嘗試正則係數 348
20.2 示例二:搜索GBDT超參數 349
20.3 示例三:最佳聚類個數 350
第21章 文本分析 353
21.1 數據探索 353
21.2 分詞 355
21.2.1 中文分詞 356
21.2.2 Tokenizer和RegexTokenizer 359
21.3 詞頻統計 363
21.4 單詞的區分度 365
21.5 抽取關鍵詞 367
21.5.1 原理簡介 367
21.5.2 示例 369
21.6 文本相似度 371
21.6.1 文本成對比較 372
21.6.2 最相似的TopN 375
21.7 主題模型 387
21.7.1 LDA模型 388
21.7.2 新聞的主題模型 390
21.7.3 主題與原始分類的對比 392
21.8 組件使用小結 396
第22章 單詞向量化 398
22.1 單詞向量預訓練模型 399
22.1.1 加載模型 399
22.1.2 查找相似的單詞 400
22.1.3 單詞向量 402
22.2 單詞映射為向量 406
第23章 情感分析 412
23.1 使用提供的特徵 413
23.1.1 使用樸素貝葉斯方法 416
23.1.2 使用邏輯回歸算法 419
23.2 如何提取特徵 423
23.3 構造更多特徵 426
23.4 模型保存與預測 430
23.4.1 批式/流式預測任務 430
23.4.2 嵌入式預測 431
第24章 構建推薦系統 433
24.1 與推薦相關的組件介紹 434
24.2 常用推薦算法 437
24.2.1 協同過濾 437
24.2.2 交替最小二乘法 438
24.3 數據探索 439
24.4 評分預測 444
24.5 根據用戶推薦影片 446
24.6 計算相似影片 452
24.7 根據影片推薦用戶 454
24.8 計算相似用戶 457
作者介紹
2004年獲南開大學數學博士學位;隨後在南開大學信息學院從事博士後研究工作;2006年加入微軟亞洲研究院,進行符號計算、大規模矩陣計算及機器學習算法研究;2010年加入阿里巴巴,從事大數據相關的統計和機器學習算法研發。著有《重構大數據統計》《機器學習在線》等。