本書適用于探索該領域的新手和業(yè)余愛好者。在沒有背景知識的前提下,本書從一開篇,便向讀者講述了如何建立一個數(shù)據(jù)集,并展示了如何使用該數(shù)據(jù)集訓練一個成功的深度學習模型。此后,本書探討了經典的機器學習算法,其目的是探討奠定深度學習革命的方法理論基礎。本書不僅為讀者提供扎實的概念基礎,還為讀者設計自己的項目和解決方案提供了實用的指導。它解決了如何通過當前實踐的標準來調整和評估機器學習模型的性能。本書還可以作為跳板,幫助讀者為探索更高級的方法和算法提供知識儲備。最后四章探討了卷積神經網絡,它是監(jiān)督深度學習的主力軍。書中涉及的實驗使用的都是本領域研究人員熟悉的標準數(shù)據(jù)集。書中以案例研究出發(fā),講解如何從數(shù)據(jù)集到評估預測模型的方法。
簡要目錄
第1章 開篇 001
第2章 使用Python 008
第3章 使用NumPy 021
第4章 使用數(shù)據(jù)工作 038
第5章 構建數(shù)據(jù)集 060
第6章 經典機器學習 077
第7章 經典模型實驗 091
第8章 神經網絡介紹 120
第9章 訓練神經網絡 132
第10章 神經網絡實驗 154
第11章 評價模型 174
第12章 卷積神經網絡介紹 197
第13章 基于Keras和MNIST的實驗 214
第14章 基于CIFAR-10的實驗 235
第15章 實例研究:音頻數(shù)據(jù)分類 258
第16章 走向未來 282
詳細目錄
第1章 開篇 001
1.1 操作環(huán)境 001
1.1.1 NumPy 001
1.1.2 scikit學習 001
1.1.3 基于TensorFlow的Keras 001
1.2 安裝工具包 002
1.3 線性代數(shù)基礎 003
1.3.1 向量 003
1.3.2 矩陣 003
1.3.3 向量和矩陣相乘 004
1.4 統(tǒng)計和概率 005
1.4.1 描述性統(tǒng)計 005
1.4.2 概率分布 005
1.4.3 統(tǒng)計檢驗 006
1.5 圖形處理單元 006
第2章 使用Python 008
2.1 Python解釋器 008
2.2 語句與空格 008
2.3 變量與基本數(shù)據(jù)結構 009
2.3.1 數(shù)字表示 009
2.3.2 變量 010
2.3.3 字符串 010
2.3.4 列表 011
2.3.5 字典 013
2.4 控制結構 014
2.4.1 if-elif-else 語句 014
2.4.2 for循環(huán) 014
2.4.3 while循環(huán) 016
2.4.4 break與continue語句 016
2.4.5 with語句 017
2.4.6 使用try-except塊處理錯誤 017
2.5 函數(shù) 018
2.6 模塊 019
第3章 使用NumPy 021
3.1 為什么是NumPy? 021
3.1.1 數(shù)組對列表 021
3.1.2 測試數(shù)組與列表的速度 022
3.2 基本數(shù)組 024
3.2.1 使用np.array定義數(shù)組 024
3.2.2 用0和1定義數(shù)組 026
3.3 訪問數(shù)組中的元素 027
3.3.1 數(shù)組索引 027
3.3.2 數(shù)組切片 028
3.3.3 省略號 030
3.4 算子和廣播 031
3.5 數(shù)組的輸入與輸出 033
3.6 隨機數(shù) 035
3.7 NumPy和圖像 036
第4章 使用數(shù)據(jù)工作 038
4.1 分類與標簽 038
4.2 特征與特征向量 039
4.2.1 特征的類型 039
4.2.2 特征選擇與維數(shù)災難 040
4.3 優(yōu)秀數(shù)據(jù)集的特征 042
4.3.1 插值與外推 042
4.3.2 父分布 043
4.3.3 先驗類概率 044
4.3.4 混淆 044
4.3.5 數(shù)據(jù)集規(guī)模 045
4.4 數(shù)據(jù)準備 045
4.4.1 特征縮放 046
4.4.2 特征缺失 049
4.5 訓練、驗證和測試數(shù)據(jù) 050
4.5.1 三個子集 050
4.5.2 數(shù)據(jù)集劃區(qū) 050
4.5.3 k折交叉驗證 054
4.6 看看你的數(shù)據(jù) 055
4.6.1 從數(shù)據(jù)中尋找問題 056
4.6.2 警示案例 058
第5章 構建數(shù)據(jù)集 060
5.1 鳶尾花(irises)數(shù)據(jù)集 060
5.2 乳腺癌數(shù)據(jù)集 062
5.3 MNIST數(shù)據(jù)集 063
5.4 CIFAR-10數(shù)據(jù)集 065
5.5 數(shù)據(jù)增強 067
5.5.1 為什么要增強訓練數(shù)據(jù)? 067
5.5.2 增強訓練數(shù)據(jù)的方法 068
5.5.3 鳶尾花數(shù)據(jù)集的增強 069
5.5.4 CIFAR-10數(shù)據(jù)集的增強 073
第6章 經典機器學習 077
6.1 最近質心 077
6.2 k-最近鄰 080
6.3 樸素貝葉斯 081
6.4 決策樹與隨機森林 084
6.4.1 遞歸初步 085
6.4.2 構建決策樹 086
6.4.3 隨機森林 087
6.5 支持向量機 088
6.5.1 邊距 088
6.5.2 支持向量 089
6.5.3 優(yōu)化 089
6.5.4 核 090
第7章 經典模型實驗 091
7.1 鳶尾花數(shù)據(jù)集實驗 091
7.1.1 測試經典模型 091
7.1.2 實現(xiàn)最近質心分類器 094
7.2 乳腺癌數(shù)據(jù)集實驗 095
7.2.1 兩次初始測試運行 096
7.2.2 隨機拆分的影響 098
7.2.3 加入k折驗證 099
7.2.4 搜索超參數(shù) 103
7.3 MNIST數(shù)據(jù)集實驗 107
7.3.1 測試經典模型 107
7.3.2 分析運行時間 112
7.3.3 PCA主元的實驗 113
7.3.4 擾動我們的數(shù)據(jù)集 115
7.4 經典模型小結 116
7.4.1 最近質心 116
7.4.2 k-最近鄰(k-NN) 116
7.4.3 樸素貝葉斯 116
7.4.4 決策樹 117
7.4.5 隨機森林 117
7.4.6 支持向量機 117
7.5 使用經典模型的時機 118
7.5.1 處理小數(shù)據(jù)集 118
7.5.2 處理計算要求不高的任務 118
7.5.3 可解釋的模型 118
7.5.4 以向量作為輸入的任務 118
第8章 神經網絡介紹 120
8.1 神經網絡剖析 120
8.1.1 神經元 121
8.1.2 激活函數(shù) 122
8.1.3 網絡結構 124
8.1.4 輸出層 125
8.1.5 權重和偏置的表示 126
8.2 一個簡單神經網絡的實現(xiàn) 127
8.2.1 建立數(shù)據(jù)集 127
8.2.2 實現(xiàn)神經網絡 128
8.2.3 訓練和測試神經網絡 130
第9章 訓練神經網絡 132
9.1 高層次的概述 132
9.2 梯度下降 133
9.2.1 找出最小值 134
9.2.2 更新權重 134
9.3 隨機梯度下降法 135
9.3.1 批次和小批次 135
9.3.2 凸函數(shù)與非凸函數(shù) 137
9.3.3 終止訓練 138
9.3.4 更新學習率 138
9.3.5 動量 139
9.4 反向傳播 139
9.4.1 反推第一步 140
9.4.2 反推第二步 142
9.5 損失函數(shù) 144
9.5.1 絕對損失和均方誤差損失 145
9.5.2 交叉熵損失 145
9.6 權重初始化 146
9.7 過擬合與正則化 147
9.7.1 理解過擬合 148
9.7.2 理解正則化 149
9.7.3 L2正則化 150
9.7.4 丟棄 151
第10章 神經網絡實驗 154
10.1 我們的數(shù)據(jù)集 154
10.2 多層感知機分類器 154
10.3 架構和激活函數(shù) 155
10.3.1 代碼 155
10.3.2 結果 158
10.4 批次大小 161
10.5 基礎學習率 164
10.6 訓練集大小 165
10.7 L2正則化 166
10.8 動量 168
10.9 權重初始化 169
10.10 特征排序 172
第11章 評價模型 174
11.1 定義與假設 174
11.2 為什么僅有準確性是不夠的 175
11.3 2×2混淆矩陣 176
11.4 從2×2混淆矩陣中導出度量指標 178
11.4.1 從2×2表中導出度量指標 178
11.4.2 使用我們的指標來解釋模型 180
11.5 更多高級度量指標 181
11.5.1 知情度與標記度 182
11.5.2 F1得分 182
11.5.3 Cohen系數(shù)κ 182
11.5.4 馬修斯相關系數(shù) 183
11.5.5 實現(xiàn)我們的指標 183
11.6 接收者操作特征曲線 184
11.6.1 集成我們的模型 184
11.6.2 繪制我們的指標 186
11.6.3 探索ROC曲線 187
11.6.4 采用ROC分析對比模型 188
11.6.5 生成一條ROC曲線 190
11.6.6 精確度-召回率曲線 191
11.7 處理多個類 191
11.7.1 擴展混淆矩陣 192
11.7.2 計算加權準確率 194
11.7.3 多類馬修斯相關系數(shù) 195
第12章 卷積神經網絡介紹 197
12.1 為什么是卷積神經網絡? 197
12.2 卷積 198
12.2.1 用核進行掃描 198
12.2.2 圖像處理中的卷積 200
12.3 卷積神經網絡的剖析 200
12.3.1 不同類型的層 201
12.3.2 通過CNN傳遞數(shù)據(jù) 202
12.4 卷積層 203
12.4.1 卷積層如何工作 203
12.4.2 使用卷積層 205
12.4.3 多卷積層 207
12.4.4 初始化卷積層 207
12.5 池化層 208
12.6 全連接層 209
12.7 全卷積層 209
12.8 運行情況分析 211
第13章 基于Keras和MNIST的實驗 214
13.1 在Keras中構建CNN 214
13.1.1 加載MNIST數(shù)據(jù) 214
13.1.2 建立我們的模型 216
13.1.3 訓練和評價模型 217
13.1.4 繪制誤差 219
13.2 基礎實驗 220
13.2.1 架構實驗 221
13.2.2 訓練集尺寸、小批次和歷時 223
13.2.3 優(yōu)化器 225
13.3 全卷積網絡 226
13.3.1 構建和訓練模型 226
13.3.2 制作測試圖像 228
13.3.3 測試模型 229
13.4 加擾動的MNIST數(shù)字 233
第14章 基于CIFAR-10的實驗 235
14.1 CIFAR-10的復習 235
14.2 使用全部CIFAR-10數(shù)據(jù)集 236
14.2.1 構建模型 236
14.2.2 分析模型 239
14.3 動物還是車輛? 240
14.4 二元還是多分類? 244
14.5 遷移學習 247
14.6 微調模型 251
14.6.1 建立數(shù)據(jù)集 252
14.6.2 微調以適應模型 254
14.6.3 測試我們的模型 256
第15章 實例研究:音頻數(shù)據(jù)分類 258
15.1 建立數(shù)據(jù)集 258
15.1.1 增強數(shù)據(jù)集 259
15.1.2 數(shù)據(jù)預處理 262
15.2 音頻特征分類 264
15.2.1 使用經典模型 264
15.2.2 使用傳統(tǒng)神經網絡 266
15.2.3 使用卷積神經網絡 267
15.3 頻譜圖 271
15.4 頻譜圖分類 273
15.4.1 初始化、正則化、批次歸一化 275
15.4.2 檢查混淆矩陣 276
15.5 集成 277
第16章 走向未來 282
16.1 攜手卷積神經網絡走向未來 282
16.2 強化學習與無監(jiān)督學習 283
16.3 生成對抗式網絡 283
16.4 循環(huán)神經網絡 284
16.5 在線資源 284
16.6 會議 284
16.7 推薦書籍 285
16.8 再會,謝謝 285