Python深度學習從原理到應用
內容描述
本書借助現實案例介紹深度學習算法的實際應用(包括最佳實踐),旨在幫助讀者瞭解如何識別和提取信息,以提高預測準確率及優化結果。
本書共10章,分別是機器學習—引言、神經網絡、深度學習基本原理、無監督特徵學習、圖像識別、遞歸神經網絡和語言模型、深度學習在棋盤游戲中的應用、深度學習在電子游戲中的應用、異常檢測和構建一個可用於生產環境的入侵檢測系統。
本書適合想深入研究深度學習算法和技術的讀者學習,也適合想探究如何從這項強大技術中學到更多知識的讀者參考。
目錄大綱
第1章機器學習—引言1
1.1什麼是機器學習1
1.2不同的機器學習方法2
1.2.1監督學習2
1.2.2無監督學習4
1.2.3強化學習6
1.2.4機器學習系統所涉及的步驟7
1.2.5關於流行技術/算法的簡介9
1.2.6在現實生活中的應用19
1.2.7流行開源包21
1.3小結26
第2章神經網絡27
2.1為什麼是神經網絡27
2.2基本原理28
2.2.1神經元以及層29
2.2.2不同類型的激活函數33
2.3反向傳播算法37
2.3.1線性回歸37
2.3.2邏輯回歸39
2.3.3反向傳播41
2.4行業應用44
2.4.1信號處理44
2.4.2醫療44
2.4 .3自動汽車駕駛44
2.4.4商業45
2.4.5模式識別45
2.4.6語音生成45
2.5異或函數的神經網絡代碼示例45
2.6小結50
第3章深度學習基本原理52
3.1什麼是深度學習52
3.1.1基本概念54
3.1.2特徵學習55
3.1.3深度學習算法62
3.2深度學習應用63
3.2.1語音識別63
3.2.2對象識別與分類65
3.3圖形處理單元與中央處理單元67
3.4流行開源庫—引言69
3.4.1 Theano 69
3.4.2 TensorFlow 69
3.4.3 Keras 70
3.4.4使用Keras的簡單深度神經網絡代碼70
3.5小結75
第4章無監督特徵學習76
4.1自編碼器77
4.1.1網絡設計80
4.1.2用於自編碼器的正則化技術83
4.1.3自編碼器概述87
4.2受限玻爾茲曼機87
4.2.1霍普菲爾德網絡與玻爾茲曼機89
4.2.2玻爾茲曼機91
4.2.3受限玻爾茲曼機93
4.2.4在TensorFlow中的實現94
4.2.5深度信念網絡98
4.3小結99
第5章圖像識別102
5.1人工模型與生物模型的相似性102
5.2直觀認識與合理性103
5.3卷積層104
5.4池化層111
5.5 dropout層112
5.6深度學習中的捲積層113
5.7 Theano中的捲積層114
5.8用Keras來識別數字的捲積層示例115
5.9將Keras用於cifar10的卷積層示例118
5.10預訓練120
5.11小結121
第6章遞歸神經網絡和語言模型123
6.1遞歸神經網絡123
6.1.1 RNN—如何實施和訓練125
6.1.2長短期記憶130
6.2語言建模133
6.2.1基於單詞的語言模型133
6.2.2基於字符的語言模型138
6.3語音識別144
6.3.1語音識別管線144
6. 3.2作為輸入數據的語音145
6.3.3預處理146
6.3.4聲學模型147
6.3.5解碼149
6.3.6端到端模型150
6.4小結150
6.5拓展閱讀150
第7章深度學習在棋盤遊戲中的應用154
7.1早期遊戲AI 155
7.2用最小-最大算法評估遊戲狀態156
7.3實現Python井字遊戲158
7.4學習價值函數166
7.5訓練AI掌握圍棋167
7.6應用於樹結構的置信上限169
7.7蒙特卡羅樹搜索中的深度學習176
7.8快速復習強化學習177
7.9用於學習策略函數的策略梯度177
7.10 AlphaGo中的策略梯度185
7.11小結186
第8章深度學習在電子遊戲中的應用188
8.1應用於遊戲的監督學習算法188
8.2遺傳算法在遊戲中的應用189
8.3 Q-learning算法190
8.4 Q-learning算法在動作中的應用192
8.5動態遊戲197
8.5.1經驗回放200
8.5.2 Epsilon貪婪算法203
8.6 《雅達利打磚塊》遊戲204
8.6.1 《雅達利打磚塊》遊戲的隨機基準205
8.6.2預處理屏幕207
8.6.3創建一個深度卷積網絡208
8.6.4 Q-learning算法中的收斂問題213
8.6.5策略梯度與Q-learning算法214
8.7 actor-critic算法215
8.7.1方差縮減基線216
8.7 .2通用優勢估計器216
8.8異步算法217
8.9基於模型的算法218
8.10小結220
第9章異常檢測221
9.1什麼是異常檢測和異常點檢測221
9.2異常檢測的現實應用224
9.3流行的淺層機器學習技術225
9.3.1數據建模225
9.3.2檢測建模225
9.4基於深度自編碼器的異常檢測227
9.5開始使用H2O 229
9.6示例230
9 .6.1 MNIST數字異常識別230
9.6.2心電圖脈衝檢測238
9.7小結243
第10章構建一個可用於生產環境的入侵檢測系統244
10.1什麼是數據產品245
10.2訓練246
10.2.1權值初始化246
10.2.2使用HOGWILD!的並行隨機梯度下降算法248
10.2.3自適應學習250
10.2.4學習率退火250
10.2.5動量法251
10.2.6 Nesterov加速法251
10.2.7牛頓迭代法252
10.2.8 Adagrad算法253
10.2.9 Adadelta算法253
10.2.10通過Map/Reduce實現分佈式學習255
10.2.11 Sparkling Water 258
10.3測試260
10.3.1模型驗證266
10.3.2有標記數據267
10.3.3無標記數據269
10.3.4驗證總結272
10.3.5超參數調優272
10.3.6端到端評估275
10.3.7 A/B測試277
10.3.8測試總結278
10 .4部署279
10.4.1 POJO模型導出280
10.4.2異常得分API 283
10.4.3部署總結285
10.5小結285
作者介紹
Valentino Zocca本科畢業於羅馬大學數學系,博士畢業於美國馬里蘭大學,獲得數學博士學位。
他在設計、開發和實現高級立體3D地球可視化軟件方面有著深厚的經驗。
他在波音公司開發了許多數學算法和預測模型,並自動化了幾個衛星圖像的可視化程序。
此後,他成為機器學習和深度學習方面的專家,曾在米蘭和紐約舉辦了關於機器學習和深度學□□研討會。