本書是升級版,不僅包含機器學習的基本概念,以及如何利用TensorFlow庫快速構建強大的機器學習模型,還涵蓋了前沿的神經網絡技術,如深度語音分類器、面部識別和CIFAR-10自動編碼。另外,本書新增了如何將代碼更新到TensorFlow 2.0,以及在Docker容器中運行代碼所需要的技術。
譯者序
序
前言
關于本書
致謝
第一部分 機器學習基礎
第1章 開啟機器學習之旅2
1.1 機器學習的基本原理3
1.1.1 參數5
1.1.2 學習和推理6
1.2 數據表示和特征7
1.3 度量距離13
1.4 機器學習的類型15
1.4.1 監(jiān)督學習15
1.4.2 無監(jiān)督學習16
1.4.3 強化學習17
1.4.4 元學習17
1.5 TensorFlow19
1.6 后續(xù)各章概述21
小結22
第2章 TensorFlow必備知識23
2.1 確保TensorFlow工作正常24
2.2 表示張量25
2.3 創(chuàng)建運算29
2.4 在會話中執(zhí)行運算30
2.5 將代碼理解為圖32
2.6 在Jupyter中編寫代碼34
2.7 使用變量37
2.8 保存和加載變量38
2.9 使用TensorBoard可視化數據40
2.9.1 實現移動平均40
2.9.2 可視化移動平均42
2.10 把所有綜合到一起:TensorFlow系統(tǒng)架構和API44
小結45
第二部分 核心學習算法
第3章 線性回歸及其他48
3.1 形式化表示48
3.2 線性回歸52
3.3 多項式模型55
3.4 正則化58
3.5 線性回歸的應用62
小結63
第4章 使用回歸進行呼叫量預測64
4.1 什么是31166
4.2 為回歸清洗數據67
4.3 什么是鐘形曲線?預測高斯分布71
4.4 訓練呼叫回歸預測器72
4.5 可視化結果并繪制誤差74
4.6 正則化和訓練測試集拆分76
小結78
第5章 分類問題基礎介紹79
5.1 形式化表示80
5.2 衡量性能82
5.2.1 準確率82
5.2.2 精度和召回率82
5.2.3 受試者操作特征曲線84
5.3 使用線性回歸進行分類85
5.4 使用邏輯回歸89
5.4.1 解決1維邏輯回歸90
5.4.2 解決2維邏輯回歸93
5.5 多分類器96
5.5.1 一對所有96
5.5.2 一對一97
5.5.3 softmax回歸97
5.6 分類的應用101
小結101
第6章 情感分類:大型影評數據集103
6.1 使用詞袋模型104
6.1.1 在影評中應用詞袋模型105
6.1.2 清洗所有的電影評論107
6.1.3 在詞袋模型上進行探索性數據分析108
6.2 使用邏輯回歸構建情感分類器109
6.2.1 模型訓練的創(chuàng)建110
6.2.2 訓練創(chuàng)建的模型111
6.3 使用情感分類器進行預測112
6.4 測量分類器的有效性115
6.5 創(chuàng)建softmax回歸情感分類器119
6.6 向Kaggle提交結果125
小結127
第7章 自動聚類數據128
7.1 使用TensorFlow遍歷文件129
7.2 音頻特征提取130
7.3 使用k-means聚類135
7.4 分割音頻138
7.5 使用自組織映射進行聚類140
7.6 應用聚類144
小結145
第8章 從Android的加速度計數據推斷用戶活動146
8.1 Walking數據集中的用戶活動數據147
8.1.1 創(chuàng)建數據集149
8.1.2 計算急動度并提取特征向量150
8.2 基于急動度大小聚類相似參與者153
8.3 單個參與者的不同類別活動155
小結157
第9章 隱馬爾可夫模型158
9.1 一個不可解釋模型的例子159
9.2 馬爾可夫模型159
9.3 隱馬爾可夫模型簡介161
9.4 前向算法162
9.5 維特比解碼165
9.6 使用HMM166
9.6.1 對視頻建模166
9.6.2 對DNA建模166
9.6.3 對圖像建模167
9.7 HMM的應用167
小結167
第10章 詞性標注和詞義消歧168
10.1 HMM示例回顧:雨天或晴天170
10.2 詞性標注173
10.2.1 重點:使用HMM訓練和預測詞性176
10.2.2 生成帶歧義的詞性標注數據集179
10.3 構建基于HMM的詞性消歧算法181
10.4 運行HMM并評估其輸出188
10.5 從布朗語料庫獲得更多的訓練數據190
10.6 為詞性標注定義評估指標196
小結198
第三部分 神經網絡范式
第11章 自編碼器200
11.1 神經網絡簡介201
11.2 自編碼器簡介203
11.3 批量訓練207
11.4 處理圖像207
11.5 自編碼器的應用211
小結212
第12章 應用自編碼器:CIFAR-10圖像數據集213
12.1 什么是CIFAR-10214
12.2 自編碼器作為分類器218
12.3 去噪自編碼器223
12.4 堆棧自編碼器226
小結229
第13章 強化學習230
13.1 相關概念231
13.1.1 策略232
13.1.2 效用233
13.2 應用強化學習233
13.3 實現強化學習235
13.4 探索強化學習的其他應用242
小結243
第14章 卷積神經網絡244
14.1 神經網絡的缺點245
14.2 卷積神經網絡簡介245
14.3 準備圖像246
14.3.1 生成過濾器249
14.3.2 使用過濾器進行卷積251
14.3.3 最大池化253
14.4 在TensorFlow中實現CNN254
14.4.1 測量性能257
14.4.2 訓練分類器258
14.5 提高性能的提示和技巧258
14.6 CNN的應用259
小結259
第15章 構建現實世界中的CNN:VGG-Face和VGG-Face Lite260
15.1 為CIFAR-10構建一個現實世界的CNN架構262
15.1.1 加載和準備CIFAR-10圖像數據263
15.1.2 執(zhí)行數據增強265
15.2 為CIFAR-10構建深層CNN架構267
15.3 訓練和應用一個更好的CIFAR-10 CNN271
15.4 在CIFAR-10測試和評估CNN273
15.4.1 CIFAR-10準確率結果和ROC曲線276
15.4.2 評估softmax對每個類的預測277
15.5 構建用于人臉識別的VGG-Face280
15.5.1 選擇一個VGG-Face的子集來訓練VGG-Face Lite282
15.5.2 TensorFlow的Dataset API和數據增強282
15.5.3 創(chuàng)建TensorFlow數據集285
15.5.4 使用TensorFlow數據集訓練287
15.5.5 VGG-Face Lite模型和訓練288
15.5.6 訓練和評估VGG-Face Lite290
15.5.7 使用VGG-Face Lite進行評估和預測292
小結295
第16章 循環(huán)神經網絡296
16.1 RNN介紹297
16.2 實現循環(huán)神經網絡298
16.3 使用時間序列數據的預測模型300
16.4 應用RNN303
小結303
第17章 LSTM和自動語音識別304
17.1 準備LibriSpeech語料庫305
17.1.1 下載、清洗和準備LibriSpeech OpenSLR數據305
17.1.2 轉換音頻307
17.1.3 生成每個音頻的轉錄308
17.1.4 聚合音頻和轉錄309
17.2 使用深度語音模型310
17.2.1 為深度語音模型準備輸入音頻數據311
17.2.2 準備文本轉錄為字符級數值數據315
17.2.3 TensorFlow中的深度語音模型316
17.2.4 TensorFlow中的連接主義時間分類319
17.3 訓練和評估深度語音模型321
小結323
第18章 用于聊天機器人的seq2seq模型325
18.1 基于分類和RNN326
18.2 理解seq2seq架構327
18.3 符號的向量表示331
18.4 把它們綜合到一起333
18.5 收集對話數據340
小結341
第19章 效用342
19.1 偏好模型344
19.2 圖像嵌入347
19.3 圖像排序350
小結355
接下來355
附錄 安裝說明356