第 1章 機器學習和神經網絡導論 1
1.1 什么是機器學習 2
1.1.1 機器學習算法 2
1.1.2 機器學習工作流 5
1.2 在你的計算機上配置機器學習環(huán)境 7
1.3 神經網絡 8
1.3.1 為什么要使用神經網絡 9
1.3.2 神經網絡基礎結構 10
1.3.3 使用Python從頭開始訓練一個神經網絡 10
1.3.4 綜合應用 15
1.3.5 深度學習和神經網絡 16
1.4 pandas—強大的Python數據分析工具 17
1.4.1 pandas DataFrame 17
1.4.2 pandas中的數據可視化 20
1.4.3 使用pandas進行數據預處理 23
1.4.4 在神經網絡項目中使用pandas 26
1.5 TensorFlow和Keras——開源深度學習庫 26
1.5.1 Keras中的基礎構建單元 27
1.5.2 用Keras創(chuàng)建神經網絡 29
1.6 其他Python函數庫 31
1.7 小結 32
第 2章 基于多層感知器預測糖尿病 33
2.1 技術需求 33
2.2 糖尿病——理解問題 35
2.3 醫(yī)療中的人工智能 36
2.4 糖尿病數據集 37
2.5 探索性數據分析 38
2.6 數據預處理 43
2.6.1 處理缺失數據 43
2.6.2 數據標準化 46
2.6.3 將數據集分割為訓練數據集、測試數據集和驗證數據集 47
2.7 MLP 49
2.8 使用Keras構建模型 51
2.8.1 建模 51
2.8.2 模型編譯 53
2.8.3 模型訓練 53
2.9 結果分析 54
2.9.1 測試模型準確率 54
2.9.2 混淆矩陣 55
2.9.3 ROC曲線 57
2.9.4 進一步優(yōu)化 59
2.10 小結 59
2.11 習題 60
第3章 基于深度前饋網絡預測出租車費用 62
3.1 技術需求 62
3.2 預測紐約市出租車打車費用 64
3.3 紐約市出租車打車費用數據集 64
3.4 探索性數據分析 64
3.4.1 地理位置數據可視化 66
3.4.2 全天及小時客流量 69
3.5 數據預處理 71
3.6 特征工程 77
3.6.1 時空特征 77
3.6.2 地理位置特征 79
3.7 特征縮放 82
3.8 深度前饋網絡 83
3.8.1 模型結構 83
3.8.2 回歸問題的損失函數 84
3.9 使用Keras構建模型 85
3.10 結果分析 87
3.11 綜合應用 91
3.12 小結 93
3.13 習題 94
第4章 是貓還是狗——使用卷積神經網絡進行圖像分類 96
4.1 技術需求 97
4.2 計算機視覺和目標識別 98
4.3 目標識別的問題類型 99
4.4 數字圖像作為神經網絡輸入 101
4.5 卷積神經網絡的基礎結構 102
4.5.1 濾波和卷積 102
4.5.2 最大池化 106
4.6 卷積神經網絡基本結構 107
4.7 現代卷積神經網絡回顧 108
4.7.1 LeNet(1998) 108
4.7.2 AlexNet(2012) 108
4.7.3 VGG16(2014) 109
4.7.4 Inception(2014) 109
4.7.5 ResNet(2015) 109
4.7.6 最新趨勢 109
4.8 貓狗數據集 110
4.9 在Keras中處理圖像數據 112
4.10 圖像增強 113
4.11 建模 116
4.11.1 構建簡單的卷積神經網絡 116
4.11.2 通過遷移學習利用預訓練模型 121
4.12 結果分析 124
4.13 小結 128
4.14 習題 129
第5章 使用自動編碼器進行圖像降噪 130
5.1 技術需求 130
5.2 什么是自動編碼器 132
5.3 隱式表示 133
5.4 用于數據壓縮的自動編碼器 134
5.5 MNIST手寫數字數據集 134
5.6 構建簡單的自動編碼器 136
5.6.1 在Keras中構建自動編碼器 137
5.6.2 隱藏層尺寸對自動編碼器性能的影響 141
5.7 用于降噪的自動編碼器 143
5.8 基于自動編碼器的文件去噪 151
5.8.1 基本的卷積自動編碼器 155
5.8.2 深度卷積自動編碼器 158
5.9 小結 161
5.10 習題 161
第6章 使用長短期記憶網絡進行情感分析 163
6.1 技術需求 164
6.2 機器學習中的順序問題 165
6.3 自然語言處理和情感分析 166
6.4 RNN 168
6.4.1 RNN的內部結構 169
6.4.2 RNN中的長短期依賴 170
6.4.3 梯度消失問題 172
6.5 LSTM網絡 173
6.5.1 LSTM——直觀感受 173
6.5.2 LSTM網絡內部結構 174
6.6 IMDb影評數據集 178
6.7 用向量表示詞語 180
6.7.1 獨熱編碼 180
6.7.2 詞嵌入 181
6.8 模型結構 182
6.8.1 輸入 182
6.8.2 詞嵌入層 183
6.8.3 LSTM層 183
6.8.4 全連接層 183
6.8.5 輸出 183
6.9 在Keras中創(chuàng)建模型 184
6.9.1 導入數據 184
6.9.2 零填充 185
6.9.3 詞嵌入層和LSTM層 186
6.9.4 編譯和訓練模型 188
6.10 結果分析 189
6.11 代碼整合 195
6.12 小結 197
6.13 習題 198
第7章 基于神經網絡實現人臉識別系統(tǒng) 201
7.1 技術需求 202
7.2 人臉識別系統(tǒng) 203
7.3 分解人臉識別問題 203
7.3.1 人臉檢測 204
7.3.2 人臉識別 209
7.4 人臉識別系統(tǒng)需求 209
7.4.1 速度 210
7.4.2 可擴展性 210
7.4.3 基于小數據集來實現高準確率 211
7.5 一次學習 212
7.6 孿生神經網絡 213
7.7 對比損失函數 215
7.8 人臉數據集 216
7.9 在Keras中創(chuàng)建孿生神經網絡 220
7.10 在Keras中訓練模型 224
7.11 結果分析 227
7.12 重構代碼 230
7.13 創(chuàng)建一個實時人臉識別程序 234
7.13.1 人臉錄入過程 234
7.13.2 人臉識別過程 236
7.13.3 工作展望 239
7.14 小結 240
7.15 習題 241
第8章 未來是什么樣的 242
8.1 項目總結 242
8.1.1 機器學習和神經網絡導論 243
8.1.2 基于多層感知機預測糖尿病 243
8.1.3 基于深度前饋網絡預測出租車費用 244
8.1.4 貓還是狗——使用卷積神經網絡進行圖像分類 244
8.1.5 使用自動編碼器進行圖像降噪 245
8.1.6 使用LSTM對影評進行情感分析 246
8.1.7 基于神經網絡實現人臉識別系統(tǒng) 246
8.2 神經網絡的最新進展 247
8.2.1 生成對抗網絡 247
8.2.2 深度強化學習 248
8.3 神經網絡的局限性 249
8.4 人工智能和機器學習的未來 250
8.4.1 強人工智能 251
8.4.2 自動機器學習 251
8.5 持續(xù)獲取機器學習的相關信息 252
8.5.1 圖書 252
8.5.2 學術期刊 252
8.5.3 基于真實數據集進行練習 253
8.6 推薦的機器學習數據集 253
8.7 總結 253