本書將通過高級示例幫助讀者應用R語言實現深度學習算法。它涵蓋了各種神經網絡模型,如人工神經網絡、卷積神經網絡、循環神經網絡、長短期記憶網絡和其他採用專家技術的模型。在閱讀本書的過程中,讀者將利用Keras-R、TensorFlow-R等流行的深度學習庫來實現人工智能模型。
Bharatendra Rai是麻省大學達特茅斯分校(UMass Dartmouth)查爾頓商學院商業分析專業的首席教授和技術管理碩士課程的主任。他在底特律韋恩州立大學(Wayne State University)獲得工業工程博士學位。他獲得了印度統計研究所(Indian Statistical Institute)的質量、可靠性和OR碩士學位。他目前的研究興趣包括機器學習和深度學習應用。他在YouTube上的深度學習講座視頻瀏覽者遍布198個國家。他在軟件、汽車、電子、食品、化工等行業擁有20多年的咨詢和培訓經驗,涉及數據科學、機器學習和供應鏈管理等領域。
本書將通過高級示例幫助讀者應用R語言實現深度學習算法。
前言深度學習是機器學習的一個分支,它基於一套嘗試建立數據高級抽象模型的算法。本書將幫助讀者了解流行的深度學習架構及其用R語言實現的變體,並提供實際示例。本書將通過高級示例幫助讀者應用R語言實現深度學習算法。它涵蓋了各種神經網絡模型,如人工神經網絡、卷積神經網絡、循環神經網絡、長短期記憶網絡和其他採用專家技術的模型。在閱讀本書的過程中,讀者將利用Keras-R,TensorFlow-R等流行的深度學習庫來實現人工智能模型。本書的目標讀者本書的目標讀者是希望增長技能和知識以便借助R語言應用深度學習技術和算法的數據科學家、機器學習從業人員、深度學習研究人員以及人工智能愛好者。對機器學習的深刻理解和R編程語言的應用知識是必需的。本書涵蓋的內容第1章,深度學習架構與技術,概述全書涵蓋的深度學習技術。第2章,多類分類問題的深度神經網絡,介紹應用深度學習網絡解決二元和多類分類問題的必要步驟。這些步驟使用一個胎兒心電圖數據集進行說明,包括數據準備、一次獨熱編碼、模型擬合、模型評價和預測。第3章,回歸問題的深度神經網絡,介紹如何開發數值型響應的預測模型。本章以波士頓房價數據集為例,介紹數據預處理、模型構建、模型擬合、模型評價以及模型預測等步驟。第4章,圖像分類與識別,借助一個簡單示例,介紹利用Keras包如何實現基於深度學習網絡的圖像分類和識別。相關步驟包括分析圖像數據、調整圖像的大小與形狀、一次獨熱編碼、開發序列模型、編譯模型、擬合模型、評價模型、預測以及基於混淆矩陣的模型性能評估。第5章,基於卷積神經網絡的圖像分類,以一個簡單的實例,介紹應用卷積神經網絡解決圖像分類與識別問題的步驟。卷積神經網絡是一種流行的深度神經網絡,被認為是大規模圖像分類問題的黃金標準。第6章,基於Keras的自編碼器神經網絡應用,介紹基於Keras的自編碼器神經網絡的應用步驟。所用實例說明了獲取圖像輸入、利用自編碼器訓練圖像以及重建圖像等主要步驟。第7章,基於遷移學習的小數據圖像分類,介紹遷移學習在圖像識別的應用。相關步驟包括數據預處理、Keras中深層學習網絡的定義、模型訓練和模型評估。第8章,基於生成對抗網絡的圖像生成,介紹應用生成對抗網絡生成新圖像的方法及其實例。圖像分類的步驟包括圖像數據預處理、特徵提取、RBM模型開發以及模型性能評估。第9章,文本分類的深度學習網絡,介紹利用深度學習網絡解決文本分類問題的步驟,並用簡單例子加以說明。文本數據,如客戶評論、產品評價和電影評論等,在業務中發揮著重要作用,文本分類是重要的深度學習問題。第10章,基於循環神經網絡的文本分類,借助一個實例,介紹應用循環神經網絡解決圖像分類問題的步驟。相關步驟包括數據準備、循環神經網絡模型定義、模型訓練以及模型性能評價。第11章,基於長短期記憶網絡的文本分類,介紹應用長短期記憶神經網絡解決情感分類問題的步驟。相關步驟包括文本數據準備、長短期記憶網絡模型構建、模型訓練以及模型評估。第12章,基於卷積循環神經網絡的文本分類,介紹如何應用卷積循環神經網絡解決新聞分類問題。相關步驟包括文本數據準備、Keras中卷積循環神經網絡模型的定義、模型訓練以及模型評估。第13章,提示、技巧和展望,討論深度學習應用展望和最佳實踐。利用本書的必要準備以下是關於如何充分利用本書的幾點想法:本書所有示例均使用R代碼。因此,在開始閱讀本書之前,讀者應該具有R語言的良好基礎。正如孔子所說的:“聞之我也野,視之我也饒,行之我也明(我聽,我忘記;我見,我記住;我做,我理解)。”本書也是如此。在閱讀本書各章節的同時實際編寫相應的代碼對於理解深度學習模型非常有用。本書所有代碼均已在具有8GB RAM的Mac計算機上成功運行過。但是,如果讀者使用的數據集比本書用於說明的數據集大得多,則可能需要更強大的計算資源來開發深度學習模型。另外,具有良好的統計方法基礎也大有裨益。下載示例代碼文件讀者可以通過自己在www.packt.com的帳戶下載本書的示例代碼文件。如果你在別處購買了本書,可以訪問www.packtpub.com/support,在注冊後便可得到通過電子郵件直接發送的文件。讀者可以通過以下步驟下載示例代碼文件:(1) 登錄或在www.packt.com上注冊。(2) 選擇“Support”標簽。(3) 點擊“Code Downloads”(代碼下載)按鈕。(4) 在Search(搜索)框中輸入本書書名,然後按照屏幕指令操作。一旦完成文件下載,請用以下最新版本工具進行文件解壓或提取:● Windows系統:WinRAR/7-Zip。● Mac系統:Zipeg/iZip/UnRarX。● Linux系統:7-Zip/PeaZip。本書的代碼包也存放在GitHub上,網址為https://GitHub.com/PacktPublishing/Advanced- Deep-Learning-with-R。如果代碼有更新,那麼GitHub庫中的代碼也會同步更新。本書還提供了配套豐富書籍和視頻的其他代碼包,可從https://github.com/PacktPublishing/ 獲得。敬請查閱!下載彩色插圖本書提供了一份PDF文件,其中包含本書用到的截屏或圖表的彩色圖片。讀者可從https://static.packt-cdn.com/downloads/9781789538779_ColorImages.pdf下載。文本格式約定本書採用以下若干文本格式約定。CodeInText:表示代碼文本、數據庫表名、文件夾名、文件名、文件擴展名、路徑名、虛擬URL、用戶輸入以及推特用戶名(Twitter handle)。例如,“我們存儲將模型擬合成model_three時的損失和準確率”。一段代碼設置如下:model %>%compile(loss = 'binary_crossentropy',optimizer = 'adam',metrics = 'accuracy')Bold:(粗體)表示新概念、關鍵詞或者出現在屏幕上菜單或對話框裡的詞。例如,“循環神經網絡(RNN)非常適合處理涉及這類序列的數據。” 表示警告或重要說明。 表示提示或技巧。聯繫方式歡迎讀者積極反饋。一般反饋:如果讀者對本書的任何方面有問題,可以在郵件主題中注明書名,反饋至郵箱customercare@packtpub.com。勘誤:雖然我們已盡力確保著作內容的準確性,但錯誤仍難以避免。如果讀者發現書中錯誤,煩請告知。請訪問www.packtpub.com/support/errata,選定圖書,點擊“勘誤提交表格”鏈接,填入具體信息。盜版:如果讀者在互聯網上發現我們的圖書被以任何形式非法復制,煩請告知網址或網站名。請通過copyright@packt.com聯繫我們,並提供盜版材料的鏈接。如果願意成為作者:如果讀者有熟悉的主題而且願意寫書或參與出書,請訪問authors. packtpub.com。撰寫書評請讀者留言評論。如果你讀過或使用過本書,何不在你購書處留下寶貴的意見?潛在的讀者將會看到並根據你公正客觀的評論意見,決定是否購書。我們也能了解你對我們產品的想法,而我們的作者能夠獲悉你對他們著作的反饋。不勝感激!更多有關Packt的信息,請訪問packt.com。
目錄
前言
第一部分 深 度 學 習 基 礎
第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
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。