基於R語言的高級深度學習 Advanced Deep Learning with R

Bharatendra Rai 譯 劉繼紅//張強

買這商品的人也買了...

商品描述

本書將通過高級示例幫助讀者應用R語言實現深度學習算法。
它涵蓋了各種神經網絡模型,如人工神經網絡、卷積神經網絡、
循環神經網絡、長短期記憶網絡和其他採用專家技術的模型。
在閱讀本書的過程中,讀者將利用Keras-R、TensorFlow-R等流行的深度學習庫來實現人工智能模型。

作者簡介

Bharatendra Rai
是麻省大學達特茅斯分校(UMass Dartmouth)查爾頓商學院商業分析專業的首席教授和技術管理碩士課程的主任。
他在底特律韋恩州立大學(Wayne State University)獲得工業工程博士學位。
他獲得了印度統計研究所(Indian Statistical Institute)的質量、可靠性和OR碩士學位。
他目前的研究興趣包括機器學習和深度學習應用。
他在YouTube上的深度學習講座視頻瀏覽者遍布198個國家。
他在軟件、汽車、電子、食品、化工等行業擁有20多年的咨詢和培訓經驗,涉及數據科學、機器學習和供應鏈管理等領域。

目錄大綱

目錄
前言
第一部分 深 度 學 習 基 礎
第1章 深度學習架構與技術 2
1.1 R語言實現的深度學習 3
1.1.1 深度學習發展趨勢 3
1.1.2 R軟件包的版本 3
1.2 深度學習網絡模型的開發過程 5
1.2.1 為深度學習網絡模型準備數據 5
1.2.2 開發模型架構 7
1.2.3 編譯模型 9
1.2.4 擬合模型 11
1.2.5 評估模型性能 12
1.3 R語言和RStudio實現的深度學習技術 13
1.3.1 多類分類問題 14
1.3.2 回歸問題 14
1.3.3 圖像分類 15
1.3.4 卷積神經網絡 15
1.3.5 自編碼器 15
1.3.6 遷移學習 16
1.3.7 生成對抗網絡 16
1.3.8 文本分類的深度學習網絡 16
1.3.9 循環神經網絡 17
1.3.10 長短期記憶網絡 17
1.3.11 卷積循環網絡 17
1.3.12 提示、技巧和最佳實踐 18
1.4 本章小結 18
第二部分 預測與分類問題的深度學習
第2章 多類分類問題的深度神經網絡 20
2.1 胎兒心電圖數據集 20
2.1.1 醫學數據集 20
2.1.2 數據集分類 21
2.2 建模數據準備 22
2.2.1 數值型變量的歸一化 22
2.2.2 數據分割 22
2.2.3 獨熱編碼 23
2.3 深度神經網絡模型的創建與擬合 24
2.3.1 模型架構開發 24
2.3.2 模型編譯 26
2.3.3 模型擬合 26
2.4 模型評價和預測 28
2.4.1 損失函數與準確率計算 29
2.4.2 混淆矩陣 29
2.5 性能優化提示與最佳實踐 31
2.5.1 增加隱藏層的實驗 31
2.5.2 隱藏層增加單元數量的實驗 34
2.5.3 多單元多層網絡的實驗 36
2.5.4 分類不平衡問題的實驗 39
2.5.5 模型的保存與重新上載 42
2.6 本章小結 43
第3章 回歸問題的深度神經網絡 44
3.1 波士頓房價數據集 44
3.2 建模數據準備 46
3.2.1 神經網絡的可視化 46
3.2.2 數據分割 48
3.2.3 歸一化 48
3.3 回歸問題深度神經網絡模型的創建與擬合 49
3.3.1 參數總數計算 50
3.3.2 模型編譯 50
3.3.3 模型擬合 50
3.4 模型評價和預測 52
3.4.1 評價 52
3.4.2 預測 53
3.4.3 改進 54
3.5 性能優化提示與最佳實踐 58
3.5.1 輸出變量的對數變換 58
3.5.2 模型性能 61
3.6 本章小結 62
第三部分 面向計算機視覺的深度學習
第4章 圖像分類與識別 64
4.1 處理圖像數據 64
4.2 數據準備 68
4.2.1 尺寸與形狀調整 69
4.2.2 創建訓練、驗證和測試數據 70
4.2.3 獨熱編碼 72
4.3 模型創建與擬合 73
4.3.1 模型架構開發 73
4.3.2 模型編譯 74
4.3.3 模型擬合 74
4.4 模型評價和預測 76
4.4.1 訓練數據的損失、準確率和混淆矩陣 76
4.4.2 訓練數據的預測概率 77
4.4.3 測試數據的損失、準確率和混淆矩陣 78
4.4.4 測試數據的預測概率 79
4.5 性能優化提示與最佳實踐 80
4.5.1 更深層次的神經網絡 80
4.5.2 結果 81
4.6 本章小結 85

第5章 基於卷積神經網絡的圖像分類 86
5.1 數據準備 86
5.1.1 fashion-MNIST圖像數據集 87
5.1.2 訓練與測試數據 88
5.1.3 尺寸與形狀調整 91
5.1.4 獨熱編碼 92
5.2 卷積神經網絡的層 92
5.2.1 模型架構與相關計算 92
5.2.2 模型編譯 94
5.3 模型擬合 95
5.3.1 模型擬合代碼 95
5.3.2 準確率和損失 95
5.4 模型評價和預測 96
5.4.1 訓練數據 96
5.4.2 測試數據 98
5.4.3 互聯網上的時尚物品圖像 100
5.5 性能優化提示與最佳實踐 103
5.5.1 圖像修正 104
5.5.2 架構變更 105
5.6 本章小結 110
第6章 基於Keras的自編碼器神經網絡應用 111
6.1 自編碼器的類型 111
6.2 降維自編碼器 112
6.2.1 Fashion-MNIST數據 112
6.2.2 編碼器模型 114
6.2.3 解碼器模型 114
6.2.4 自編碼器模型 115
6.2.5 模型的編譯與擬合 116
6.2.6 圖像重建 117
6.3 去噪自編碼器 119
6.3.1 MNIST數據 119
6.3.2 數據準備 120
6.3.3 添加噪聲 121
6.3.4 編碼器模型 122
6.3.5 解碼器模型 123
6.3.6 自編碼器模型 124
6.3.7 模型擬合 125
6.3.8 圖像重建 126
6.4 圖像修正自編碼器 128
6.4.1 需要修正的圖像 128
6.4.2 圖像清洗 129
6.4.3 編碼器模型 130
6.4.4 解碼器模型 131
6.4.5 模型編譯與擬合 132
6.4.6 基於訓練數據的圖像重建 132
6.4.7 基於新數據的圖像重建 133
6.5 本章小結 136
第7章 基於遷移學習的小數據圖像分類 137
7.1 使用預訓練模型識別圖像 137
7.1.1 圖像讀取 138
7.1.2 輸入數據預處理 141
7.1.3 前五類別 142
7.2 處理CIFAR10數據集 142
7.2.1 樣本圖像 144
7.2.2 預處理和預測 145
7.3 基於卷積神經網絡的圖像分類 146
7.3.1 數據準備 146
7.3.2 卷積神經網絡模型 148
7.3.3 模型性能 150
7.4 基於預訓練RESNET50模型的圖像分類 152
7.4.1 模型架構 152
7.4.2 預訓練網絡權重凍結 154
7.4.3 模型擬合 155
7.5 模型評價和預測 156
7.5.1 訓練數據的損失、準確率和混淆矩陣 156
7.5.2 測試數據的損失、準確率和混淆矩陣 157
7.6 性能優化提示與最佳實踐 159
7.6.1 adam優化器的實驗 159
7.6.2 超參調整 161
7.6.3 VGG16作為預訓練網絡的實驗 165
7.7 本章小結 168
第8章 基於生成對抗網絡的圖像生成 169
8.1 生成對抗網絡概述 169
8.2 處理MNIST圖像數據 170
8.2.1 訓練數據的數字5 170
8.2.2 數據處理 172
8.3 生成器網絡構建 172
8.3.1 網絡架構 172
8.3.2 生成器網絡信息匯總 173
8.4 判別器網絡構建 174
8.4.1 網絡架構 174
8.4.2 判別器網絡信息匯總 175
8.5 網絡訓練 176
8.5.1 存儲偽造圖像和損失的初始設置 176
8.5.2 訓練過程 177
8.6 結果檢查 178
8.6.1 判別器與生成對抗網絡的損失 179
8.6.2 偽造圖像 180
8.7 性能優化提示與最佳實踐 181
8.7.1 生成器網絡與判別器網絡的更改 181
8.7.2 更改的影響 182
8.7.3 生成手寫數字8的圖像 184
8.8 本章小結 186
第四部分 自然語言處理問題的深度學習
第9章 文本分類的深度學習網絡 188
9.1 文本數據集 188
9.1.1 UCI機器學習資源庫 188
9.1.2 Keras中的文本數據 189
9.2 為模型構建準備數據 191
9.2.1 詞性標注 191
9.2.2 文本轉換為整數序列 192
9.2.3 填充與截斷 193
9.2.4 推文情感分類模型的開發 194
9.3 深度學習網絡開發 196
9.3.1 獲取IMDb電影評論數據 197
9.3.2 構建分類模型 199
9.3.3 模型編譯 200
9.3.4 模型擬合 200
9.4 模型評價和預測 203
9.4.1 利用訓練數據的評價 203
9.4.2 利用測試數據的評價 204
9.5 性能優化提示與最佳實踐 204
9.5.1 最大序列長度和優化器的實驗 205
9.5.2 測試數據的損失、準確率及混淆矩陣 207
9.6 本章小結 207
第10章 基於循環神經網絡的文本分類 209
10.1 為模型構建準備數據 209
10.1.1 獲取數據 209
10.1.2 序列填充 211
10.2 循環神經網絡模型的開發 213
10.2.1 參數的計算 213
10.2.2 模型編譯 214
10.3 模型擬合 215
10.3.1 擬合代碼 215
10.3.2 準確率和損失 215
10.4 模型評價和預測 216
10.4.1 訓練數據 217
10.4.2 測試數據 217
10.5 性能優化提示與最佳實踐 218
10.5.1 簡單循環神經網絡層的單元數 219
10.5.2 簡單循環神經網絡層使用的不同激活函數 220
10.5.3 增加循環層 222
10.5.4 填充序列的最大長度 223
10.6 本章小結 227
第11章 基於長短期記憶網絡的文本分類 228
11.1 採用LSTM網絡的原因 228
11.2 為模型構建準備數據 229
11.3 構建LSTM網絡模型 229
11.3.1 LSTM網絡架構 230
11.3.2 LSTM網絡模型的編譯 231
11.4 LSTM網絡模型的擬合 231
11.4.1 擬合代碼 231
11.4.2 損失與準確率 231
11.5 模型性能評價 232
11.5.1 基於訓練數據的模型評價 232
11.5.2 基於測試數據的模型評價 234
11.6 性能優化提示與最佳實踐 234
11.6.1 利用adam優化器的實驗 235
11.6.2 帶附加層的LSTM網絡的實驗 238
11.6.3 雙向LSTM層的實驗 242
11.7 本章小結 247
第12章 基於卷積循環神經網絡的文本分類 248
12.1 處理reuter_50_50數據集 248
12.1.1 讀取訓練數據 249
12.1.2 讀取測試數據 250
12.2 為模型構建準備數據 251
12.2.1 詞性標注與文本-整數序列轉換 251
12.2.2 標簽改為整數 254
12.2.3 序列的填充與截斷 254
12.2.4 標簽的獨熱編碼 257
12.3 模型架構開發 257
12.4 模型的編譯與擬合 260
12.4.1 模型編譯 260
12.4.2 模型擬合 260
12.5 模型評價和預測 262
12.5.1 基於訓練數據的模型評價 262
12.5.2 基於測試數據的模型評價 264
12.6 性能優化提示與最佳實踐 265
12.6.1 減小批量的實驗 266
12.6.2 CNN批量規模、核規模以及過濾器的實驗 269
12.7 本章小結 272
第五部分 未 來 展 望
第13章 提示、技巧和展望 275
13.1 基於TensorBoard的訓練性能可視化 275
13.2 基於LIME的深度學習網絡模型可視化 278
13.3 基於tfruns的模型訓練可視化 280
13.4 網絡訓練的早停 282
13.5 本章小結 284