本書作者通過兩個簡單的、可應用于生產(chǎn)的Python框架展示了如何應用無監(jiān)督學習:Scikit-learn和包含Keras的TensorFlow。通過代碼和親身操作的實例,數(shù)據(jù)科學家將發(fā)現(xiàn)數(shù)據(jù)中難以發(fā)現(xiàn)的模型:檢測數(shù)據(jù)中的異常、進行自動特征工程和選擇、生成合成數(shù)據(jù)集等,并獲得更深層次的業(yè)務洞察力。
使用Python進行無監(jiān)督學習實踐,如何編寫利用無標簽數(shù)據(jù)的機器學習解決方案。
很多業(yè)內(nèi)專Z家認為無監(jiān)督學習是人工智能的下一個前沿,可能把握著進入通用人工智能的鑰匙。因為世界上絕大部分數(shù)據(jù)是無標簽的,傳統(tǒng)的監(jiān)督學習不能使用到它們。無監(jiān)督學習通過另外的方法可以使用到這些無標簽的數(shù)據(jù)集從而發(fā)現(xiàn)數(shù)據(jù)深層的有價值的數(shù)據(jù)模型,這些模型可能是人類自身也無法發(fā)現(xiàn)的。
作者Ankur Patel通過兩個簡單的、可應用于生產(chǎn)的Python框架向您展示了如何應用無監(jiān)督學習:Scikit-learn和包含Keras的TensorFlow。通過代碼和親身操作的實例,數(shù)據(jù)科學家將發(fā)現(xiàn)數(shù)據(jù)中難以發(fā)現(xiàn)的模型:檢測數(shù)據(jù)中的異常、進行自動特征工程和選擇、生成合成數(shù)據(jù)集等,并獲得更深層次的業(yè)務洞察力。您所需要的只是一些編程和機器學習經(jīng)驗就可以開始學習本書。
“研究人員、工程師和學生將會欣賞這本書,書中充滿了實用的無監(jiān)督學習技術(shù)、通俗易懂并非常實用的Python示例,學習起來快速并且有效! ——Sarah Nagy
Edson資深數(shù)據(jù)科學家
Ankur A.Patel是7Park data數(shù)據(jù)科學部門的副總裁(隸屬于Vista Equity Partners投資組合公司)。在7Park data,Ankur和他的數(shù)據(jù)科學團隊使用替代數(shù)據(jù)為對沖基金和企業(yè)構(gòu)建數(shù)據(jù)產(chǎn)品,并為企業(yè)客戶開發(fā)機器學習服務(MLaaS)。
目錄
前言 1
第一部分 無監(jiān)督學習基礎
第1 章 機器學習生態(tài)系統(tǒng)中的無監(jiān)督學習 15
機器學習基本術(shù)語 15
基于規(guī)則(Rules-Based) 與機器學習 17
監(jiān)督學習與無監(jiān)督學習 17
監(jiān)督學習的優(yōu)缺點 18
無監(jiān)督學習的優(yōu)缺點 19
使用無監(jiān)督學習改進機器學習的解決方案 20
了解監(jiān)督學習算法 23
線性算法 25
基于鄰域的算法 26
基于樹的算法 28
支持向量機 29
神經(jīng)網(wǎng)絡 30
了解無監(jiān)督學習算法 30
降維 30
聚類 33
特征提取 35
無監(jiān)督深度學習 36
使用無監(jiān)督學習解決序列數(shù)據(jù)問題 38
利用無監(jiān)督學習的強化學習 39
半監(jiān)督學習 40
無監(jiān)督學習的成功應用 40
結(jié)論 42
第2 章 完整機器學習項目 43
環(huán)境設置 43
版本控制:Git 43
克隆本書的Git 存儲庫 44
科學庫:Anaconda 發(fā)行版Python 44
神經(jīng)網(wǎng)絡:TensorFlow 和Keras 45
梯度提升算法,版本1: XGBoost 45
梯度提升算法,版本2:LightGBM 46
聚類算法 46
交互式計算環(huán)境:Jupyter Notebook 47
數(shù)據(jù)概述 47
數(shù)據(jù)準備 48
數(shù)據(jù)采集 48
數(shù)據(jù)研究 50
生成特征矩陣和標簽數(shù)組 53
特征工程與特征選擇 54
數(shù)據(jù)可視化(Data Visualization) 55
模型準備 56
分離出訓練和測試數(shù)據(jù)集 56
選擇成本函數(shù) 57
創(chuàng)建k 折交叉驗證集 58
機器學習模型(第一部分) 58
評估指標 62
混淆矩陣(Confusion Matrix) 62
精確率召回率曲線(Precision-Recall Curve) 63
觀察者操作特征曲線(receiver operating characteristic) 65
機器學習模型(第二部分) 68
模型2:隨機森林(Random Forests) 68
模型3:XGBoost 梯度提升機(gradient boosting machine) 71
模型4:LightGBM 梯度提升機 74
使用測試集對四個模型評估 77
集成(Ensembles) 82
最終算法選擇 86
完整生產(chǎn)系統(tǒng) 87
結(jié)論 87
第二部分 使用SciKit-Learn 進行無監(jiān)督學習
第3 章 降維 91
降維的動因 91
降維算法 96
主成分分析(principal component analysis,PCA) 97
PCA 概念 97
PCA 練習 98
增量PCA 103
稀疏PCA 104
核PCA 105
奇異值分解 107
隨機投影 108
等距映射 111
多維標度法 112
局部線性嵌入 113
t- 分布隨機鄰域嵌入 114
其他降維方法 115
字典學習 116
獨立成分分析 118
結(jié)論 119
第4 章 異常檢測 120
信用卡欺詐檢測 121
準備數(shù)據(jù) 121
定義異常評分函數(shù) 121
定義評估指標 123
定義繪圖函數(shù) 124
普通PCA 異常檢測 124
PCA 成分數(shù)量等于原始特征的數(shù)量 125
尋找最優(yōu)主成分數(shù) 128
稀疏PCA 異常檢測 130
核PCA 異常檢測 132
高斯隨機投影異常檢測 135
稀疏隨機投影異常檢測 137
非線性異常檢測 138
字典學習異常檢測 139
ICA 異常檢測 141
在測試數(shù)據(jù)集上運行欺詐檢測解決方案 143
測試數(shù)據(jù)集上的普通PCA 異常檢測 143
測試集上的ICA 異常檢測 145
測試集上使用字典學習異常檢測 146
結(jié)論 148
第5 章 聚類 149
MNIST 數(shù)字集 150
聚類算法 151
k 均值 152
k 均值慣性 153
評估聚類結(jié)果 154
k 均值精度 156
k 均值和主成分的數(shù)量 158
原始數(shù)據(jù)集上的k 均值 159
層次聚類 161
層次聚類方法 162
樹狀圖 163
評估聚類結(jié)果 165
密度聚類(DBSCAN) 168
DBSCAN 算法 168
HDBSCAN 170
結(jié)論 172
第6 章 分組分割 173
借貸俱樂部數(shù)據(jù) 173
數(shù)據(jù)準備 174
將字符串格式轉(zhuǎn)換為數(shù)字格式 176
輸入缺失值 176
特征工程 179
選擇最終特征集并執(zhí)行縮放 179
指定用來評估的標簽 179
聚類的好處 181
k 均值應用 183
分層聚類應用 186
HDBSCAN 應用程序 190
結(jié)論 192
第三部分 使用TensorFlow 和Keras
無監(jiān)督學習
第7 章 自動編碼器 195
神經(jīng)網(wǎng)絡 196
TensorFlow 198
Keras 199
自動編碼器:編碼器和解碼器 199
欠完備自動編碼器 200
過完備自動編碼器 201
密集與稀疏自動編碼器 202
降噪自動編碼器 202
變分自動編碼器 203
結(jié)論 204
第8 章 自動編碼器實踐 205
數(shù)據(jù)準備 205
自動編碼器的組成部分 208
激活函數(shù) 209
我們的第一臺自動編碼器 210
損失函數(shù) 211
優(yōu)化器 211
訓練模型 212
對測試集進行評估 214
具有線性激活函數(shù)的兩層欠完備自動編碼器 216
增加節(jié)點數(shù) 220
添加更多隱藏層 222
非線性自動編碼器 223
具有線性激活的過完備自動編碼器 226
具有線性激活、隨機失活的過完備自動編碼器 228
具有稀疏、線性激活、隨機失活的過完備自動編碼器 231
具有稀疏、線性激活、隨機失活功能的過完備自動編碼器 234
使用噪聲數(shù)據(jù)集 236
降噪自動編碼器 236
二層、降噪、具備線性激活的欠完備自動編碼器 237
兩層、降噪、具備線性激活的過完備自動編碼器 240
兩層、降噪、ReLu 激活的過完備自動編碼器 242
結(jié)論 244
第9 章 半監(jiān)督學習 246
數(shù)據(jù)準備 246
監(jiān)督模型 250
無監(jiān)督模型 252
半監(jiān)督模型 254
監(jiān)督和無監(jiān)督的合力 257
結(jié)論 258
第四部分 使用TensorFlow 和Keras
進行深度無監(jiān)督學習
第10 章 使用受限玻爾茲曼機器的推薦系統(tǒng) 261
玻爾茲曼機器 262
推薦系統(tǒng) 263
協(xié)同過濾 263
Netflix 獎 264
MovieLens 數(shù)據(jù)集 264
數(shù)據(jù)準備 265
定義成本函數(shù):均方誤差 269
進行基線實驗 270
矩陣分解 271
一個潛在因子 272
三個潛在因子 273
五個潛在因子 274
使用RBM 的協(xié)同過濾 274
RBM 神經(jīng)網(wǎng)絡結(jié)構(gòu) 275
構(gòu)建RBM 類的組件 277
訓練RBM 推薦系統(tǒng) 280
結(jié)論 281
第11 章 基于深度信念網(wǎng)絡的特征檢測 282
深層信念網(wǎng)絡詳述 282
MNIST 圖像分類 283
受限波爾茲曼機 285
構(gòu)建RBM 類的組件 286
使用RBM 模型生成圖像 289
查看中間特征檢測器 289
為DBN 訓練三個RBM 290
檢查特征檢測器(Examine Feature Detectors) 293
查看生成的圖像 294
完整DBN 297
DBN 訓練的工作原理 302
訓練DBN 302
無監(jiān)督學習如何幫助監(jiān)督學習 304
使用LightGBM 的圖像分類器 312
監(jiān)督學習 312
無監(jiān)督和監(jiān)督的解決方案 314
結(jié)論 315
第12 章 生成對抗網(wǎng)絡 316
生成對抗網(wǎng)絡概念 316
深度卷積生成對抗網(wǎng)絡 317
卷積神經(jīng)網(wǎng)絡 318
重新思考DCGAN 323
DCGAN 生成器 324
DCGAN 的鑒別器 326
鑒別器和對抗模型 327
MNIST 數(shù)據(jù)集的DCGAN 328
在MNIST 數(shù)據(jù)集執(zhí)行DCGAN 330
結(jié)論 332
第13 章 時間序列聚類 333
心電數(shù)據(jù) 334
走進時間序列聚類 334
心電圖k 形時間序列聚類 335
數(shù)據(jù)準備 336
訓練和評估 340
在ECG5000 上使用k 形進行時間序列聚類 342
數(shù)據(jù)準備 342
訓練和評估 346
基于k 均值的ECG5000 時間序列聚類 348
基于ECG5000 的分層DBSCAN 時間序列聚類 349
比較時間序列聚類算法 350
k 形 351
k 均值 353
HDBSCAN 354
比較所有三種時間序列聚類方法 355
結(jié)論 357
第14 章 尾聲 358
監(jiān)督學習 359
無監(jiān)督學習 359
SciKit-Learn 360
TensorFlow 和Keras 361
強化學習 362
今天最有希望的無監(jiān)督學習領(lǐng)域 362
無監(jiān)督學習的未來 364
結(jié)語 366
作者介紹 367
封面介紹 367