Python 深度學習:基於 TensorFlow

吳茂貴 王冬 李濤 楊本法

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

商品描述

本書共22章,分為三個部分。
第一部分(第1~5章)為Python及應用數學基礎部分,介紹Python和TensorFlow的基石Numpy,深度學習框架的鼻祖Theano,以及機器學習、深度學習算法應用數學基礎等內容。
第二部分(第6~20章)為深度學習理論與應用部分,介紹機器學習的經典理論和算法,深度學習理論及方法,TensorFlow基於CPU、GPU版本的安裝及使用、TensorFlow基礎、TensorFlow的一些新API,深度學習中神經網絡方面的模型及TensorFlow實戰案例,TensorFlow的高級封裝,TensorFlow綜合實戰案例等內容。
第三部分(第21~22章)為擴展部分,介紹強化學習、生成式對抗網絡等內容。

作者簡介

吳茂貴
BI和大數據專家,就職於中國外匯交易中心,在BI、數據挖掘與分析、數據倉庫、機器學習等領域有超過20年的工作經驗,在Spark機器學習、TensorFlow深度學習領域大量的實踐經驗。

王冬
任職於博世(中國)投資有限公司,負責Bosch企業BI及工業4.0相關大數據和數據挖掘項目。對機器學習、人工智能有多年實踐經驗。

李濤
參與過多個人工智能項目,如研究開發服務機器人、無人售後店等項目。熟悉python、caffe、TensorFlow等,對深度學習、尤其對計算機視覺方面有較深理解。

楊本法
高級算法工程師,在機器學習、文本挖掘、可視化等領域有多年實踐經驗。熟悉Hadoop、Spark生態圈的相關技術,對Python有豐富的實戰經驗。

目錄大綱

前言

第一部分Python及應用數學基礎

第1章NumPy常用操作2 
1.1生成ndarray的幾種方式3 
1.2存取元素5 
1.3矩陣操作6 
1.4數據合併與展平7 
1.5通用函數9 
1.6廣播機制11 
1.7小結12 

第2章Theano基礎13 
2.1安裝14 
2.2符號變量15 
2.3符號計算圖模型17 
2.4函數18 
2.5條件與循環21 
2.6共享變量23 
2.7小結24 

第3章線性代數25 
3.1標量、向量、矩陣和張量25 
3.2矩陣和向量運算28 
3.3特殊矩陣與向量29 
3.4線性相關性及向量空間31 
3.5範數32 
3.6特徵值分解33 
3.7奇異值分解34 
3.8跡運算35 
3.9實例:用Python實現主成分分析36 
3.10小結39 

第4章概率與信息論40 
4.1為何要學概率、信息論40
4.2樣本空間與隨機變量41 
4.3概率分佈42 
4.3.1離散型隨機變量42 
4.3.2連續型隨機變量45 
4.4邊緣概率47 
4.5條件概率47 
4.6條件概率的鍊式法則48 
4.7獨立性及條件獨立性48 
4.8期望、方差及協方差49 
4.9貝葉斯定理52 
4.10信息論53 
4.11小結56 

第5章概率圖模型57 
5.1為何要引入概率圖57 
5.2使用圖描述模型結構58 
5.3貝葉斯網絡59 
5.3. 1隱馬爾可夫模型簡介60 
5.3.2隱馬爾可夫模型三要素60 
5.3.3隱馬爾可夫模型三個基本問題61 
5.3.4隱馬爾可夫模型簡單實例62 
5.4馬爾可夫網絡64 
5.4 .1馬爾可夫隨機場64 
5.4.2條件隨機場65 
5.4.3實例:用Tensorflow實現條件隨機場66 
5.5小結70 

第二部分深度學習理論與應用

第6章機器學習基礎72 
6.1監督學習72 
6.1 .1線性模型73
6.1.2 SVM 77 
6.1.3貝葉斯分類器79 
6.1.4集成學習81 
6.2無監督學習84 
6.2.1主成分分析84 
6.2.2 k-means聚類84 
6.3梯度下降與優化85 
6.3.1梯度下降簡介86 
6.3.2梯度下降與數據集大小87 
6.3.3傳統梯度優化的不足89 
6.3.4動量算法90 
6.3.5自適應算法92 
6.3.6有約束最優化95 
6.4前饋神經網絡96 
6.4.1神經元結構97 
6.4.2感知機的局限98 
6.4.3多層神經網絡99 
6.4.4實例:用TensorFlow實現XOR 101 
6.4.5反向傳播算法103 
6.5實例:用Keras構建深度學習架構109 
6.6小結109 

第7章深度學習挑戰與策略110 
7.1正則化110 
7.1.1正則化參數111 
7.1.2增加數據量115 
7.1.3梯度裁剪116 
7.1.4提前終止116 
7.1.5共享參數117 
7.1 .6 Dropout 117
7.2預處理119 
7.2.1初始化120 
7.2.2歸一化120 
7.3批量化121 
7.3.1隨機梯度下降法121 
7.3.2批標準化122 
7.4並行化124 
7.4.1 TensorFlow利用GPU加速124 
7.4.2深度學習並行模式125 
7.5選擇合適的激活函數127 
7.6選擇合適代價函數128 
7.7選擇合適的優化算法129 
7.8小結130 

第8章安裝TensorFlow 131 
8.1 TensorFlow CPU版的安裝131 
8.2 TensorFlow GPU版的安裝132 
8.3配置Jupyter Notebook 136 
8.4實例:CPU與GPU性能比較137 
8.5實例:單GPU與多GPU性能比較138 
8.6小結140 

第9章TensorFlow基礎141 
9.1 TensorFlow系統架構141 
9.2數據流圖143 
9.3 TensorFlow基本概念144 
9.3.1張量144 
9.3.2算子145 
9.3.3計算圖146
9.3.4會話146 
9.3.5常量148 
9.3.6變量149 
9.3.7佔位符153 
9.3.8實例:比較constant、variable和placeholder 154 
9.4 TensorFlow實現數據流圖156 
9.5可視化數據流圖156 
9.6 TensorFlow分佈式158 
9.7小結160 

第10章TensorFlow圖像處理162 
10.1加載圖像162 
10.2圖像格式163 
10.3把圖像轉換為TFRecord文件164 
10.4讀取TFRecord文件165 
10.5圖像處理實例166 
10.6全新的數據讀取方式—Dataset API 170 
10.6.1 Dataset API架構170 
10.6.2構建Dataset 171 
10.6.3創建迭代器174 
10.6.4從迭代器中獲取數據174 
10.6.5讀入輸入數據175 
10.6.6預處理數據175 
10.6.7批處理數據集元素176 
10.6.8使用高級API 176 
10.7小結177 

第11章TensorFlow神經元函數178
11.1激活函數178 
11.1.1 sigmoid函數179 
11.1.2 tanh函數179 
11.1.3 relu函數180 
11.1.4 softplus函數181 
11.1.5 dropout函數181 
11.2代價函數181 
11.2.1 sigmoid_cross_entropy_with_logits函數182 
11.2.2 softmax_cross_entropy_with_logits函數183 
11.2.3 sparse_softmax_cross_entropy_with_logits函數184 
11.2.4 weighted_cross_entropy_with_logits函數184 
11.3小結185 

第12章TensorFlow自編碼器186 
12.1自編碼簡介186 
12.2降噪自編碼188 
12.3實例:TensorFlow實現自編碼188 
12.4實例:用自編碼預測信用卡欺詐191 
12.5小結197 

第13章TensorFlow實現Word2Vec 198 
13.1詞向量及其表達198 
13.2 Word2Vec原理199 
13.2.1 CBOW模型200
13.2.2 Skim-gram模型200 
13.3實例:TensorFlow實現Word2Vec 201 
13.4小結206 

第14章TensorFlow卷積神經網絡207 
14.1卷積神經網絡簡介207 
14.2卷積層208 
14.2.1卷積核209 
14.2.2步幅211 
14.2.3填充212 
14.2.4多通道上的捲積213 
14.2.5激活函數214 
14.2.6卷積函數215 
14.3池化層216 
14.4歸一化層217 
14.5 TensorFlow實現簡單卷積神經網絡218 
14.6 TensorFlow實現進階卷積神經網絡219 
14.7幾種經典卷積神經網絡223 
14.8小結224 

第15章TensorFlow循環神經網絡226 
15.1循環神經網絡簡介226 
15.2前向傳播與隨時間反向傳播228 
15.3梯度消失或爆炸231 
15.4 LSTM算法232 
15.5 RNN其他變種235 
15.6 RNN應用場景236 
15.7實例:用LSTM實現分類237 
15.8小結241

第16章TensorFlow高層封裝242 
16.1 TensorFlow高層封裝簡介242 
16.2 Estimator簡介243 
16.3實例:使用Estimator預定義模型245 
16.4實例:使用Estimator自定義模型247 
16.5 Keras簡介252 
16.6實例:Keras實現序列式模型253 
16.7 TFLearn簡介255 
16.7.1利用TFLearn解決線性回歸問題256 
16.7.2利用TFLearn進行深度學習256 
16.8小結257 

第17章情感分析258 
17.1深度學習與自然語言處理258 
17.2詞向量簡介259 
17.3循環神經網絡260 
17.4遷移學習簡介261 
17.5實例:TensorFlow實現情感分析262 
17.5.1導入數據262 
17.5.2定義輔助函數267 
17.5.3構建RNN模型267 
17.5.4調優超參數269 
17.5.5訓練模型270 
17.6小結272 

第18章利用TensorFlow預測乳腺癌273 
18.1數據說明273
18.2數據預處理274 
18.3探索數據276 
18.4構建神經網絡279 
18.5訓練並評估模型281 
18.6小結283 

第19章聊天機器人284 
19.1聊天機器人原理284 
19.2帶注意力的框架286 
19.3用TensorFlow實現聊天機器人289 
19.3. 1接口參數說明290 
19.3.2訓練模型293 
19.4小結302 

第20章人臉識別303 
20.1人臉識別簡介303 
20.2項目概況306 
20.3實施步驟307 
20.3.1數據準備307 
20.3.2預處理數據307 
20.3. 3訓練模型309 
20.3.4測試模型313 
20.4小結316 

第三部分擴展篇

第21章強化學習基礎318 
21.1強化學習簡介318 
21.2強化學習常用算法320 
21.2.1 Q-Learning算法320 
21.2.2 Sarsa算法322 
21.2.3 DQN算法322 
21.3小結324

第22章生成式對抗網絡325 
22.1 GAN簡介325 
22.2 GAN的改進版本327 
22.3小結329