定 價:¥69.00
作 者: | (美)邁克爾·貝耶勒 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111611516 | 出版時間: | 2018-12-01 | 包裝: | |
開本: | 頁數(shù): | 字數(shù): |
譯者序
序
前言
審校者簡介
第1章 品味機器學習 1
1.1 初步了解機器學習 1
1.2 機器學習可以解決的事情 3
1.3 初步了解 Python 4
1.4 初步了解 OpenCV 4
1.5 安裝 5
1.5.1 獲取本書最新的代碼 5
1.5.2 掌握 Python Anaconda 6
1.5.3 在 conda 環(huán)境中安裝OpenCV 8
1.5.4 驗證安裝結(jié)果 9
1.5.5 一睹 OpenCV ML 模塊 11
1.6 總結(jié) 11
第2章 使用 OpenCV 和 Python處理數(shù)據(jù) 12
2.1 理解機器學習流程 12
2.2 使用 OpenCV 和 Python 處理數(shù)據(jù) 14
2.2.1 創(chuàng)建一個新的 IPython 或 Jupyter 會話 15
2.2.2 使用 Python 的 NumPy包處理數(shù)據(jù) 16
2.2.3 在 Python 中載入外部數(shù)據(jù)集 20
2.2.4 使用 Matplotlib 進行數(shù)據(jù)可視化 21
2.2.5 使用C++ 中 OpenCV 的 TrainData 容器處理數(shù)據(jù) 26
2.3 總結(jié) 27
第3章 監(jiān)督學習的第一步 28
3.1 理解監(jiān)督學習 28
3.1.1 了解 OpenCV 中的監(jiān)督學習 29
3.1.2 使用評分函數(shù)評估模型性能 30
3.2 使用分類模型預測類別 35
3.2.1 理解 k-NN 算法 37
3.2.2 使用 OpenCV實現(xiàn) k-NN 37
3.3 使用回歸模型預測連續(xù)結(jié)果 43
3.3.1 理解線性回歸 43
3.3.2 使用線性回歸預測波士頓房價 44
3.3.3 應用 Lasso 回歸和ridge 回歸 48
3.4 使用邏輯回歸對鳶尾花種類進行分類 48
3.5 總結(jié) 53
第4 數(shù)據(jù)表示與特征工程 54
4.1 理解特征工程 54
4.2 數(shù)據(jù)預處理 55
4.2.1 特征標準化 56
4.2.2 特征歸一化 57
4.2.3 特征縮放到一定的范圍 57
4.2.4 特征二值化 58
4.2.5 缺失數(shù)據(jù)處理 58
4.3 理解降維 59
4.3.1 在OpenCV 中實現(xiàn)主成分分析 61
4.3.2 實現(xiàn)獨立成分分析 64
4.3.3 實現(xiàn)非負矩陣分解 65
4.4 類別變量表示 66
4.5 文本特征表示 68
4.6 圖像表示 69
4.6.1 使用色彩空間 69
4.6.2 圖像角點檢測 71
4.6.3 使用尺度不變特征變換 72
4.6.4 使用加速健壯特征 74
4.7 總結(jié) 75
第5章 使用決策樹進行醫(yī)療診斷 76
5.1 理解決策樹 76
5.1.1 構(gòu)建第一個決策樹 79
5.1.2 可視化訓練得到的決策樹 85
5.1.3 深入了解決策樹的內(nèi)部工作機制 87
5.1.4 特征重要性評分 88
5.1.5 理解決策規(guī)則 89
5.1.6 控制決策樹的復雜度 90
5.2 使用決策樹進行乳腺癌的診斷 90
5.2.1 載入數(shù)據(jù)集 91
5.2.2 構(gòu)建決策樹 92
5.3 使用決策樹進行回歸 96
5.4 總結(jié) 99
第6章 使用支持向量機檢測行人 100
6.1 理解線性支持向量機 100
6.1.1 學習最優(yōu)決策邊界 101
6.1.2 實現(xiàn)我們的第一個支持向量機 102
6.2 處理非線性決策邊界 107
6.2.1 理解核機制 108
6.2.2 認識我們的核 109
6.2.3 實現(xiàn)非線性支持向量機 109
6.3 自然環(huán)境下的行人檢測 110
6.3.1 獲取數(shù)據(jù)集 111
6.3.2 初窺方向梯度直方圖 113
6.3.3 生成負樣本 114
6.3.4 實現(xiàn)支持向量機 116
6.3.5 模型自舉 116
6.3.6 在更大的圖像中檢測行人 118
6.3.7 進一步優(yōu)化模型 120
6.4 總結(jié) 121
第7章 使用貝葉斯學習實現(xiàn)垃圾郵件過濾 122
7.1 理解貝葉斯推斷 122
7.1.1 概率論的短暫之旅 123
7.1.2 理解貝葉斯定理 124
7.1.3 理解樸素貝葉斯分類器 126
7.2 實現(xiàn)第一個貝葉斯分類器 127
7.2.1 創(chuàng)建一個練習數(shù)據(jù)集 127
7.2.2 使用一個正態(tài)貝葉斯分類器對數(shù)據(jù)分類 128
7.2.3 使用一個樸素貝葉斯分類器對數(shù)據(jù)分類 131
7.2.4 條件概率的可視化 132
7.3 使用樸素貝葉斯分類器對郵件分類 134
7.3.1 載入數(shù)據(jù)集 134
7.3.2 使用Pandas構(gòu)建數(shù)據(jù)矩陣 136
7.3.3 數(shù)據(jù)預處理 137
7.3.4 訓練正態(tài)貝葉斯分類器 138
7.3.5 使用完整的數(shù)據(jù)集進行訓練 139
7.3.6 使用n-gram提升結(jié)果 139
7.3.7 使用TD-IDF提升結(jié)果 140
7.4 總結(jié) 141
第8章 使用非監(jiān)督學習發(fā)現(xiàn)隱藏結(jié)構(gòu) 142
8.1 理解非監(jiān)督學習 142
8.2 理解k均值聚類 143
8.3 理解期望最大化 145
8.3.1 實現(xiàn)期望最大化解決方案 146
8.3.2 了解期望最大化的局限 148
8.4 使用k均值壓縮色彩空間 154
8.4.1 真彩色調(diào)色板的可視化 154
8.4.2 使用k均值減少調(diào)色板 157
8.5 使用k均值對手寫數(shù)字分類 159
8.5.1 載入數(shù)據(jù)集 159
8.5.2 運行k均值 159
8.6 把聚類組織成層次樹 161
8.6.1 理解層次聚類 161
8.6.2 實現(xiàn)凝聚層次聚類 162
8.7 總結(jié) 163
第9章 使用深度學習對手寫數(shù)字分類 164
9.1 理解McCulloch-Pitts神經(jīng)元 164
9.2 理解感知器 167
9.3 實現(xiàn)第一個感知器 169
9.3.1 生成練習數(shù)據(jù)集 170
9.3.2 使用數(shù)據(jù)擬合感知器 171
9.3.3 評估感知器分類器 171
9.3.4 把感知器應用到線性不可分的數(shù)據(jù)上 173
9.4 理解多層感知器 174
9.4.1 理解梯度下降 175
9.4.2 使用反向傳播訓練多層感知器 178
9.4.3 在OpenCV中實現(xiàn)多層感知器 179
9.5 了解深度學習 183
9.6 手寫數(shù)字分類 186
9.6.1 載入MNIST數(shù)據(jù)集 187
9.6.2 MNIST數(shù)據(jù)集預處理 188
9.6.3 使用OpenCV訓練一個MLP 189
9.6.4 使用Keras訓練一個深度神經(jīng)網(wǎng)絡 190
9.7 總結(jié) 192
第10章 組合不同算法為一個整體 193
10.1 理解集成方法 193
10.1.1 理解平均集成 195
10.1.2 理解提升集成 197
10.1.3 理解堆疊集成 200
10.2 組合決策樹為隨機森林 200
10.2.1 理解決策樹的不足 200
10.2.2 實現(xiàn)第一個隨機森林 204
10.2.3 使用scikit-learn實現(xiàn)一個隨機森林 205
10.2.4 實現(xiàn)極端隨機樹 206
10.3 使用隨機森林進行人臉識別 208
10.3.1 載入數(shù)據(jù)集 208
10.3.2 預處理數(shù)據(jù)集 209
10.3.3 訓練和測試隨機森林 210
10.4 實現(xiàn)AdaBoost 212
10.4.1 使用OpenCV實現(xiàn)AdaBoost 212
10.4.2 使用scikit-learn實現(xiàn)AdaBoost 213
10.5 組合不同模型為一個投票分類器 214
10.5.1 理解不同的投票機制 214
10.5.2 實現(xiàn)一個投票分類器 215
10.6 總結(jié) 217
第11章 通過超參數(shù)調(diào)優(yōu)選擇合適的模型 218
11.1 評估一個模型 218
11.1.1 評估模型錯誤的方法 219
11.1.2 評估模型正確的方法 220
11.1.3 選擇最好的模型 221
11.2 理解交叉驗證 223
11.2.1 使用OpenCV手動實現(xiàn)交叉驗證 225
11.2.2 使用scikit-learn進行k折交叉驗證 226
11.2.3 實現(xiàn)留一法交叉驗證 227
11.3 使用自舉評估魯棒性 228
11.4 評估結(jié)果的重要性 230
11.4.1 實現(xiàn)T檢驗 230
11.4.2 實現(xiàn)配對卡方檢驗 232
11.5 使用網(wǎng)格搜索進行超參數(shù)調(diào)優(yōu) 233
11.5.1 實現(xiàn)一個簡單的網(wǎng)格搜索 234
11.5.2 理解驗證集的價值 235
11.5.3 網(wǎng)格搜索結(jié)合交叉驗證 236
11.5.4 網(wǎng)格搜索結(jié)合嵌套交叉驗證 238
11.6 使用不同評估指標來對模型評分 239
11.6.1 選擇正確的分類指標 239
11.6.2 選擇正確的回歸指標 240
11.7 鏈接算法形成一個管道 240
11.7.1 用 scikit-learn 實現(xiàn)管道 241
11.7.2 在網(wǎng)格搜索中使用管道 242
11.8 總結(jié) 243
第12章 綜合 244
12.1 著手處理一個機器學習問題 244
12.2 構(gòu)建自己的估計器 245
12.2.1 使用C++編寫自己的基于OpenCV的分類器 245
12.2.2 使用Python 編寫自己的基于scikit-learn的分類器 247
12.3 今后的方向 249
12.4 總結(jié) 251