內容簡介
本書將帶領讀者學習如何實施各種機器學習技術及其日常套用的開發。本書分為9章,從易於掌握的語言基礎數據和數學模型開始,向讀者介紹機器學習領域中使用的各種庫和框架,然後通過有趣的示例實現回歸、聚類、分類、神經網路等,從而解決如圖像分析、自然語言處理和時間序列數據的異常檢測等實際問題。
本書適合機器學習的開發人員、數據分析人員、機器學習領域的從業人員,以及想要學習機器學習的技術愛好者閱讀。使用任何腳本語言的編程人員都可以閱讀本書,但如果熟悉Python語言的話,將有助於充分理解本書的內容。
圖書目錄
第 1章 機器學習和統計科學 1
1.1 機器學習的發展 2
1.2 程式語言與庫 6
1.3 基本數學概念 11
1.3.1 統計學——不確定性建模的基本支柱 11
1.3.2 機率與隨機變數 14
1.3.3 機率函式的統計度量 21
1.3.4 微分基礎 22
1.3.5 預備知識 22
1.4 小結 27
第 2章 學習過程 28
2.1 理解問題 28
2.2 數據集定義與檢索 30
2.2.1 ETL過程 30
2.2.2 載入數據與使用Scipy和Pandas進行探索分析 31
2.2.3 與IPython互動 32
2.2.4 二維數據處理 34
2.3 特徵工程 37
2.3.1 缺失數據估算 37
2.3.2 獨熱編碼 38
2.4 數據預處理 39
規範化和特徵縮放 39
2.5 模型定義 41
提出正確的問題 41
2.6 損失函式定義 42
2.7 模型擬合和評價 43
數據集劃分 43
2.8 模型套用與結果分析 44
2.8.1 回歸指標 45
2.8.2 分類指標 46
2.8.3 聚類質量評估 48
2.9 小結 50
第3章 聚類 51
3.1 分組—— 一種人類行為 51
3.2 自動化聚類過程 符雄52
3.3 尋找一個共同的中心—— K-means 53
3.3.1 K-means的優缺點 56
3.3.2 K-means算法分解 56
3.3.3 K-means算法實現 58
3.4 最近鄰(Nearest Neighbors) 62
3.5 K-NN算法實現示例 64
3.6 算法擴展 67
3.7 小結 68
第4章 線性回歸和邏輯回歸 69
4.1 回歸分析 69
回歸的套用 70
4.2 線性回歸 71
4.2.1 代價函式的確定 72
4.2.2 分析方法 74
4.2.3 協方差和相關性 75
4.2.4 尋找協方差和相關性的斜率和截距 77
4.2.5 梯度下降法 79
4.2.6 遞歸過程表示 83
4.3 實踐中的數據研究和線性回歸 86
4.3.1 鳶尾花數據集 87
4.3.2 線性回歸遙芝應與梯度下降 93
4.4 邏輯回歸 103
4.4.1 線性回歸和邏輯回歸 103
4.4.2 logit函式 105
4.4.3 套用邏輯回歸建立心臟疾病模型的實例 只炒頁碑109
4.5 小結 112
第5章 神經網路 113
5.1 神經模型的歷史 114
5.1.1 感知器模型 115
5.1.2 改進預測結果——ADALINE算法 116
5.1.3 感知器和ADALINE之間的異同 118
5.2 使用單層感知鞏嫌朵拳器實現簡單的功能 124
5.2.1 定義並繪製傳遞函式類型 124
5.2.2 表示和理解傳遞函式 125
5.2.4 使用Sigmoid函式 126
5.2.5 修正線性單元 128
5.2.6 線性傳遞函式 129
5.2.7 定義損失函式 130
5.3 小結 136
6.1 卷積神經網路的起源 137
6.1.1 從卷積開始 138
6.1.2 卷積核和卷積 140
6.1.3 在實例中實現二維離散卷積 143
6.1.4 下採樣(池化)抹乎境 146
6.1.5 通過Dropout操作提高效率 148
6.2 深度神經網路 149
6.2.1 深度卷積網路框架的發展 149
6.2.2 深度卷積神經網路解決的禁譽棕問題類型 154
6.3 使用Keras部署一個深度神經網路 156
6.4 用Quiver開發卷積模型 158
6.4.1 用Quiver開影肯宙髮捲積網路 158
6.4.2 遷移學習的實現 162
6.5 小結 167
第7章 循環神經網路 168
7.1 按順序解決問題—— RNN 168
7.1.1 RNN的定義 169
7.1.2 RNN的發展 169
7.2 LSTM 172
7.2.1 門和乘法運算 172
7.2.2 設定遺忘參數(輸入門) 174
7.2.3 設定保持參數 174
7.2.4 修改單元 175
7.2.5 輸出過濾後的單元狀態 175
7.3 採用電能消耗數據預測單變數時間序列 176
數據集的描述和載入 176
7.4 小結 182
第8章 近期的新模型及其發展 183
8.1 GAN 183
GAN的套用類別 184
8.2 強化學習 188
8.3 基本強化學習技術:Q學習 191
8.4 小結 193
第9章 軟體安裝與配置 194
9.1 Linux系統環境安裝 194
9.1.1 初始配置要求 195
9.1.2 Anaconda安裝 195
9.1.3 pip安裝 200
9.2 macOS X系統環境安裝 201
9.2.1 Anaconda安裝 201
9.2.2 pip安裝 204
9.3 Windows系統環境安裝 205
Anaconda安裝 205
9.4 小結 208
參考資料 209
4.2.1 代價函式的確定 72
4.2.2 分析方法 74
4.2.3 協方差和相關性 75
4.2.4 尋找協方差和相關性的斜率和截距 77
4.2.5 梯度下降法 79
4.2.6 遞歸過程表示 83
4.3 實踐中的數據研究和線性回歸 86
4.3.1 鳶尾花數據集 87
4.3.2 線性回歸與梯度下降 93
4.4 邏輯回歸 103
4.4.1 線性回歸和邏輯回歸 103
4.4.2 logit函式 105
4.4.3 套用邏輯回歸建立心臟疾病模型的實例 109
4.5 小結 112
第5章 神經網路 113
5.1 神經模型的歷史 114
5.1.1 感知器模型 115
5.1.2 改進預測結果——ADALINE算法 116
5.1.3 感知器和ADALINE之間的異同 118
5.2 使用單層感知器實現簡單的功能 124
5.2.1 定義並繪製傳遞函式類型 124
5.2.2 表示和理解傳遞函式 125
5.2.4 使用Sigmoid函式 126
5.2.5 修正線性單元 128
5.2.6 線性傳遞函式 129
5.2.7 定義損失函式 130
5.3 小結 136
6.1 卷積神經網路的起源 137
6.1.1 從卷積開始 138
6.1.2 卷積核和卷積 140
6.1.3 在實例中實現二維離散卷積 143
6.1.4 下採樣(池化) 146
6.1.5 通過Dropout操作提高效率 148
6.2 深度神經網路 149
6.2.1 深度卷積網路框架的發展 149
6.2.2 深度卷積神經網路解決的問題類型 154
6.3 使用Keras部署一個深度神經網路 156
6.4 用Quiver開發卷積模型 158
6.4.1 用Quiver開發卷積網路 158
6.4.2 遷移學習的實現 162
6.5 小結 167
第7章 循環神經網路 168
7.1 按順序解決問題—— RNN 168
7.1.1 RNN的定義 169
7.1.2 RNN的發展 169
7.2 LSTM 172
7.2.1 門和乘法運算 172
7.2.2 設定遺忘參數(輸入門) 174
7.2.3 設定保持參數 174
7.2.4 修改單元 175
7.2.5 輸出過濾後的單元狀態 175
7.3 採用電能消耗數據預測單變數時間序列 176
數據集的描述和載入 176
7.4 小結 182
第8章 近期的新模型及其發展 183
8.1 GAN 183
GAN的套用類別 184
8.2 強化學習 188
8.3 基本強化學習技術:Q學習 191
8.4 小結 193
第9章 軟體安裝與配置 194
9.1 Linux系統環境安裝 194
9.1.1 初始配置要求 195
9.1.2 Anaconda安裝 195
9.1.3 pip安裝 200
9.2 macOS X系統環境安裝 201
9.2.1 Anaconda安裝 201
9.2.2 pip安裝 204
9.3 Windows系統環境安裝 205
Anaconda安裝 205
9.4 小結 208
參考資料 209