Python 深度學習:基於 TensorFlow, 2/e

吳茂貴//王冬//李濤//楊本法//張利著

  • 出版商: 機械工業
  • 出版日期: 2022-10-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 362
  • 裝訂: 平裝
  • ISBN: 7111712242
  • ISBN-13: 9787111712244
  • 相關分類: DeepLearningTensorFlow
  • 立即出貨 (庫存 < 3)

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

商品描述

1.內容選擇?:提供全棧式的解決方案
深度學習涉及範圍比較廣,既有對基礎、原理的要求,也有對代碼實現的要求。
如何在較短時間內快速提高深度學習的水平?
如何盡快把所學運用到實踐中?
這方面雖然沒有捷徑可言,但卻有方法可循。
本書基於這些考量,希望能給你提供一站式解決方案。
具體內容包括?:機器學習與深度學習的三大基石(線性代數、概率與信息論及數值分析)?;
機器學習與深度學習的基本理論和原理?;
機器學習與深度學習的常用開發工具(Python、TensorFlow、Keras等)?;
TensorFlow的高級封裝及多個綜合性實戰項目等。
2.層次安排?:找准易撕口,快速實現由點到面的突破
我們打開塑料袋時,一般從易撕口開始,這樣即使再牢固的袋子也很容易打開。
面對深度學習這個“牢固袋子”,我們也可以採用類似方法,找准易撕口。
如果沒有,就創造一個易撕口,並通過這個易撕口,實現點到面的快速擴展。
本書在面對很多抽象、深奧的算法時均採用了這種方法。
我們知道BP算法、循環神經網絡是深度學習中的兩塊“硬骨頭”,所以我們在介紹BP算法時,
先介紹單個神經如何實現BP算法這個易撕口,再延伸到一般情況?;
在介紹循環神經網絡時,我們也先以一個簡單實例為易撕口,再延伸到一般情況。
希望這種方式能幫助你把難題化易,把大事化小,把不可能轉換為可能。
3.表達形式?:讓圖說話,一張好圖勝過千言萬語
機器學習、深度學習中有很多抽象的概念、複雜的算法、深奧的理論,
如NumPy的廣播機制、梯度下降對學習率敏感、神經網絡中的共享參數、動量優化法、梯度消失或爆炸等,
這些內容如果只用文字來描述,可能很難達到讓人茅塞頓開的效果,但如果用一些圖來展現,
再加上適當的文字說明,往往能取得非常好的效果,正所謂一張好圖勝過千言萬語。
除了以上談到的三個方面,為了幫助大家更好地理解,
更快地掌握機器學習、深度學習這些人工智能的核心內容,本書還包含了其他方法,相信閱讀本書的讀者都能體會到。
我們希望通過這些方法或方式帶給你不一樣的理解和體驗,使你感到抽像數學不抽象、
深度學習不深奧、複雜算法不復雜、難學的深度學習也易學,這也是我們寫這本書的主要目的。
至於人工智能(AI)的重要性,想必就不用多說了。
如果說2016年前屬於擺事實論證階段,那麼2016年後已進入事實勝於雄辯階段了,而2018年後應該擼起袖子加油乾了。
目前各行各業都忙於AI+,給人“忽如一夜春風來,千樹萬樹梨花開”的感覺!

作者簡介

吳茂貴
資深大數據和人工智能技術專家,就職於中國外匯交易中心,
在BI、數據挖掘與分析、數據倉庫、機器學習等領域工作超過20年。
在基於Spark、TensorFlow、PyTorch、Keras等的機器學習和深度學習方面有大量的工程實踐經驗。
著有《Python深度學習:基於TensorFlow》《深度實踐Spark機器學習》《自己動手做大數據系統》等。

目錄大綱

第2版前言
第1版前言
第一部分TensorFlow基礎
第1章NumPy基礎2
1.1把圖像數字化3
1.1.1數組屬性4
1.1.2從已有數據中生成數組4
1.1.3利用random模塊生成數組5
1.1.4利用arange、linspace函數生成數組7
1.2存取元素8
1.3NumPy的算術運算9
1.3.1對應元素相乘10
1.3.2點積運算11
1.4數據變形12
1.4.1更改數組的形狀12
1.4.2合併數組15
1.5通用函數18
1.6廣播機制20
1.7用NumPy實現回歸實例21
1.8小結24
第2章TensorFlow基礎知識25
2.1安裝配置25
2.1.1安裝Anaconda26
2.1.2安裝TensorFlowCPU版26
2.1.3安裝TensorFlowGPU版27
2.2層次架構29
2.3張量30
2.3.1張量的基本屬性30
2.3.2張量切片31
2.3.3操作形狀32
2.4變量33
2.5NumPy與tf.Tensor比較35
2.6計算圖36
2.6.1靜態計算圖36
2.6.2動態計算圖37
2.7自動圖38
2.8自動微分39
2.9損失函數42
2.10優化器43
2.11使用TensorFlow2.0實現回歸實例43
2.12GPU加速48
2.13小結50
第3章TensorFlow構建模型的方法51
3.1利用低階API構建模型51
3.1.1項目背景51
3.1.2導入數據52
3.1.3預處理數據53
3.1.4構建模型55
3.1.5訓練模型56
3.1.6測試模型57
3.1.7保存恢復模型57
3.2利用中階API構建模型58
3.2.1構建模型58
3.2.2創建損失評估函數59
3.2.3訓練模型59
3.3利用高階API構建模型61
3.3.1構建模型61
3.3.2編譯及訓練模型63
3.3.3測試模型64
3.3.4保存恢復模型64
3.4小結65
第4章TensorFlow數據處理66
4.1tf.data簡介66
4.2構建數據集的常用方法67
4.2.1從內存中讀取數據68
4.2.2從文本中讀取數據68
4.2.3讀取TFRecord格式文件70
4.3如何生成自己的TFRecord格式數據70
4.3.1把數據轉換為TFRecord格式的一般步驟70
4.3.2加載TFRecord文件流程72
4.3.3代碼實現72
4.4數據增強方法75
4.4.1常用的數據增強方法75
4.4.2創建數據處理流水線77
4.5小結78
第5章可視化79
5.1matplotlib79
5.1.1matplotlib的基本概念79
5.1.2使用matplotlib繪製圖表81
5.1.3使用rcParams83
5.2pyecharts85
5.2.1pyecharts的安裝85
5.2.2使用pyecharts繪製圖表86
5.3TensorBoard89
5.4小結92
第二部分深度學習基礎
第6章機器學習基礎94
6.1機器學習的一般流程94
6.1.1明確目標94
6.1.2收集數據95
6.1.3數據探索與預處理95
6.1.4模型選擇96
6.1.5模型評估96
6.2監督學習98
6.2.1線性回歸98
6.2.2邏輯回歸100
6.2.3樹回歸102
6.2.4支持向量機102
6.2.5樸素貝葉斯分類器105
6.2.6集成學習107
6.3無監督學習110
6.3.1主成分分析110
6.3.2k均值算法110
6.4數據預處理111
6.4.1處理缺失值111
6.4.2處理分類數據112
6.5機器學習實例113
6.6小結119
第7章神經網絡基礎120
7.1單層神經網絡121
7.2多層神經網絡122
7.2.1多層神經網絡的結構122
7.2.2各層之間的信息傳輸123
7.2.3使用多層神經網絡解決XOR問題123
7.2.4使用TensorFlow解決XOR問題125
7.3激活函數126
7.3.1sigmoid函數127
7.3.2softmax函數127
7.3.3tanh函數128
7.3.4ReLU函數129
7.3.5Leaky-ReLU函數129
7.3.6softplus函數130
7.3.7Dropout函數130
7.4正向和反向傳播算法130
7.4.1單個神經元的BP算法131
7.4.2多層神經網絡的BP算法132
7.5解決過擬合問題135
7.5.1權重正則化135
7.5.2Dropout正則化136
7.5.3批量正則化138
7.5.4權重初始化139
7.5.5殘差網絡140
7.6選擇優化算法141
7.6.1傳統梯度更新算法141
7.6.2動量算法142
7.6.3NAG算法144
7.6.4AdaGrad算法145
7.6.5RMSProp算法146
7.6.6Adam算法146
7.6.7如何選擇優化算法147
7.7使用tf.keras構建神經網絡148
7.7.1tf.keras概述148
7.7.2tf.keras的常用模塊148
7.7.3構建模型的幾種方法149
7.7.4使用SequentialAPI構建神經網絡實例150
7.7.5使用FunctionalAPI構建神經網絡實例156
7.7.6使用SubclassingAPI構建神經網絡實例157
7.8小結158
第8章視覺處理基礎159
8.1從全連接層到卷積層159
8.1.1圖像的兩個特性160
8.1.2卷積神經網絡概述161
8.2卷積層162
8.2.1卷積核163
8.2.2步幅165
8.2.3填充166
8.2.4多通道上的捲積166
8.2.5激活函數168
8.2.6卷積函數168
8.2.7轉置卷積169
8.2.8特徵圖與感受野171
8.2.9全卷積網絡171
8.3池化層172
8.3.1局部池化173
8.3.2全局池化174
8.4現代經典網絡175
……