機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow) Machine Learning and Deep Learning Using Python and Tensorflow

[印] 文卡塔·雷迪·科納薩尼(Venkata Reddy Konasani)、沙倫德拉·卡德雷(Shailendra Kadre)著 秦婧 韓雨童 譯

  • 機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow)-preview-1
  • 機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow)-preview-2
  • 機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow)-preview-3
機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow)-preview-1

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

商品描述

本書以通俗易懂的風格介紹了機器學習和深度學習技術,只涉及了基本的數學知識。本書由兩位機器學習和深度學習領域的專家編寫,書中的案例涵蓋了銀行、保險、電子商務、零售和醫療等多個行業。本書講述如何在當今的智能設備和應用程序中使用機器學習和深度學習技術。本書提供了對書中涉及的數據集、代碼和示例項目的下載。 l 機器學習和深度學習的概念 l 隨機森林和提升方法 l Python編程與統計學基礎 l 人工神經網絡 l 回歸與邏輯回歸 l TensorFlow與Keras l 決策樹 l 深度學習超參數 l 模型選擇與交叉驗證 l 捲積神經網絡(CNN) l 聚類分析 l 循環神經網絡(RNN)和長短期記憶網絡(LSTM)

目錄大綱

第1章  機器學習與深度學習概述 1

1.1  人工智能與機器學習的歷史 2

1.2  機器學習項目的基礎 3

1.3  機器學習算法與傳統電腦程序 4

1.4  深度學習的工作原理 4

1.5  機器學習與深度學習的應用 5

1.5.1  日常生活中的應用 5

1.5.2  機器學習在製造業中的應用 5

1.5.3  機器人技術的應用 6

1.5.4  銀行與金融領域的應用 6

1.5.5  深度學習的應用 7

1.6  本書的組織結構 7

1.7  預備知識 —— 數學基礎 9

1.8  術語 9

1.9  機器學習 —— 擴展視野 10

1.9.1  人工智能發展現狀 10

1.9.2  人工智能未來的影響力 11

1.9.3  與人工智能相關的倫理、社會和

法律問題 12

1.10  Python及其作為機器學習語言的

潛力 13

1.11  關於TensorFlow 13

1.12  本章小結 13

第2章  Python編程與統計學基礎 15

2.1  認識Python 15

2.1.1  為什麽使用Python 16

2.1.2  Python的版本 16

2.1.3  Python IDE 17

2.1.4  安裝Python 18

2.2  Python編程入門 20

2.2.1  使用Spyder IDE 20

2.2.2  第一個代碼示例 21

2.2.3  錯誤和錯誤信息 23

2.2.4  命名約定 24

2.2.5  使用print輸出消息 25

2.3  Python中的數據類型 25

2.3.1  數值 25

2.3.2  字符串 26

2.3.3  列表 27

2.3.4  字典 28

2.4  Python中的包 30

2.4.1  NumPy 32

2.4.2  Pandas 33

2.4.3  Matplotlib 34

2.4.4  ScikitLearn 35

2.4.5  nltk 35

2.4.6  TensorFlow 35

2.5  Python中的條件語句和循環

語句 35

2.6  數據處理與使用Pandas深入

分析數據 37

2.6.1  數據導入和數據集的基本信息 38

2.6.2  子集和數據篩選器 41

2.6.3  Pandas中實用的函數 45

2.7  基本的描述性統計 47

2.7.1  平均值 48

2.7.2  中位數 49

2.7.3  方差和標準差 50

2.8  數據探索 52

2.8.1  探索數值型連續變量 53

2.8.2  探索離散變量和分類變量 61

2.8.3  探索其他類型的變量 63

2.9  本章小結 65

2.10  本章習題 65

第3章  回歸與邏輯回歸 67

3.1  什麽是回歸 67

3.2  構建回歸模型 70

3.2.1  獲取回歸系數 70

3.2.2  回歸線示例 74

3.3  R-squared 77

3.4  多元回歸 80

3.5  回歸中的多重共線性 83

3.5.1  什麽是多重共線性 85

3.5.2  多重共線性的檢測 87

3.5.3  計算VIF 88

3.6  回歸中各變量的影響力 93

3.6.1  P-value 93

3.6.2  P -value的理論 96

3.7  構建多元回歸模型的步驟 97

3.8  邏輯回歸模型 97

3.9  構建邏輯回歸模型 102

3.10  邏輯回歸線的準確率 104

3.11  多元邏輯回歸線 107

3.12  邏輯回歸中的多重共線性 111

3.13  變量的個體影響力 113

3.14  構建邏輯回歸模型的步驟 116

3.15  比較線性回歸模型與邏輯

回歸模型 116

3.16  本章小結 117

3.17  本章習題 118

第4章  決策樹 119

4.1  什麽是決策樹 119

4.2  劃分準則:熵和信息增益 123

4.2.1  熵:不純度的度量 124

4.2.2  信息增益 125

4.2.3  基尼系數:與熵類似的方法 127

4.3  決策樹算法 128

 

4.4  實例研究:基於客服中心的

數據對客戶分類(細分) 132

4.4.1  研究目標和數據探索 132

4.4.2  使用Python構建模型 135

4.4.3  繪制決策樹 136

4.4.4  理解樹的輸出 137

4.4.5  驗證樹的準確率 142

4.5  過擬合的問題 143

4.5.1  巨大的決策樹 143

4.5.2  訓練數據和測試數據 145

4.5.3  過擬合 146

4.6  決策樹的剪枝 149

4.7  欠擬合的挑戰 152

4.8  使用二分搜索法設置剪枝參數 152

4.9  其他剪枝參數 154

4.9.1  葉子節點的最大數量 154

4.9.2  min_samples_in_leaf_node參數 155

4.10  構建決策樹模型的步驟 156

4.11  本章小結 156

4.12  本章習題 157

第5章  模型選擇和交叉驗證 159

5.1  構建模型的步驟 159

5.2  模型驗證指標:回歸 161

5.3  實例:華盛頓金縣的房屋銷售 162

5.3.1  研究目標和數據 162

5.3.2  構建和驗證模型 165

5.4  模型驗證指標:分類 167

5.4.1  混淆矩陣和準確率 167

5.4.2  不均衡分類的度量 169

5.5  權衡偏差與方差 189

5.5.1  過擬合的問題:方差 189

5.5.2  欠擬合問題:偏差 190

5.5.3  權衡偏差與方差 190

5.5.4  案例研究:皮馬印第安人糖尿病

預測 192

5.6  交叉驗證 195

5.6.1  交叉驗證:一個示例 195

5.6.2  K-折交叉驗證 197

5.6.3  訓練集-驗證集-留出交叉驗證

方法 199

5.7  特徵工程的技巧和訣竅 201

5.7.1  什麽是特徵工程 202

5.7.2  創建啞變量或獨熱編碼 205

5.7.3  處理經度和緯度 214

5.7.4  處理日期類型的變量 219

5.7.5  數據轉換 225

5.8  處理類的不均衡 229

5.9  本章小結 234

5.10  本章習題 234

第6章  聚類分析 235

6.1   無監督學習 235

6.1.1  聚類分析 236

6.1.2  案例研究:批發客戶數據的

客戶細分 237

6.2  距離的度量 241

6.2.1  歐幾里得距離 242

6.2.2  距離矩陣 243

6.3  K-means聚類算法 244

6.3.1  聚類算法的步驟 245

6.3.2  K-means算法:圖解 247

6.3.3  K-means聚類算法:輸出 248

6.4  構建K-means聚類模型 248

6.5   聚類簇數量的選取 254

6.6  本章小結 257

6.7  本章習題 257

第7章  隨機森林和Boosting 259

7.1  集成模型 259

7.1.1  群體智慧 259

7.1.2  構建集成模型的方法 261

7.2  Bagging 261

7.2.1  自助採樣法 262

7.2.2  Bagging算法 262

7.3  隨機森林 263

7.3.1  隨機森林算法 264

7.3.2  隨機森林中的超參數 265

7.4  案例研究:交通事故預測 265

7.4.1  研究背景和目標 266

7.4.2  數據探索 266

7.4.3  構建模型和驗證模型 268

7.5  Boosting算法 271

7.6  AdaBoosting算法 271

7.7  Gradient Boosting算法 273

7.7.1  Gradient Boosting算法 273

7.7.2  Gradient Boosting算法在

決策樹上的應用 273

7.7.3  Boosting算法中的超參數 274

7.7.4  Gradient Boosting算法的圖解 275

7.8  案例研究:基於人口普查數據的

收入預測 278

7.8.1  研究背景和目標 279

7.8.2  數據探索 280

7.8.3  數據清洗和特徵工程 283

7.8.4  構建模型與驗證模型 286

7.9  本章小結 289

7.10  本章習題 289

第8章  人工神經網絡 291

8.1  邏輯回歸的網絡圖 291

8.2  決策邊界的概念 293

8.3  多決策邊界問題 299

8.4  多決策邊界問題的解決方案 302

8.5  直觀理解神經網絡 309

8.6  神經網絡算法 312

8.6.1  神經網絡算法:非技術方式 313

8.6.2  神經網絡算法:數學公式 315

8.6.3  神經網絡算法:示例 316

8.7   梯度下降的概念 319

8.7.1  梯度下降在回歸模型中的應用 320

8.7.2  學習率 321

8.7.3  梯度下降在回歸模型中的編碼 321

8.7.4  一題多解 323

8.8  案例研究:手寫數字識別 324

8.8.1  研究背景和目標 324

8.8.2  數據 326

8.8.3  構建模型 329

8.8.4  模型預測與驗證模型 334

8.9  深度神經網絡 336

8.10  本章小結 337

8.11  本章習題 337

第9章  TensorFlow和Keras 339

9.1  深度神經網絡 339

9.2  深度學習框架 340

9.2.1  什麽是TensorFlow 341

9.2.2  計算圖 341

9.2.3  Python Notebook 343

9.2.4  安裝TensorFlow 348

9.3  TensorFlow中的關鍵術語 349

9.4  使用TensorFlow構建模型 352

9.4.1  使用TensorFlow構建回歸

模型 352

9.4.2  使用TensorFlow構建邏輯回歸

模型 355

9.5  Keras 357

9.5.1  什麽是 Keras 357

9.5.2  使用Keras 358

9.5.3  在Keras中應用MNIST數據集的

示例 358

9.6  本章小結 361

第10章  深度學習中的超參數 363

10.1  正則化 363

10.1.1  回歸模型中的正則化 364

10.1.2  L1正則化與L2正則化 368

10.1.3  在神經網絡中應用正則化 368

10.1.4  L1正則化和L2正則化的

編碼 375

10.1.5  在L1正則化和L2正則化中

應用數據標準化 377

10.2  隨機丟棄正則化 377

10.3  早停法 381

10.4  損失函數 384

10.5  激活函數 386

10.5.1  Sigmoid函數 386

10.5.2  Tanh函數 387

10.5.3  ReLU函數 390

10.5.4  Softmax函數 393

10.5.5  激活函數的編碼 393

10.6  學習率 395

10.6.1  學習率的應用示例 397

10.6.2  設置學習率的代碼 401

10.6.3  動量 405

10.7  優化器 407

10.7.1  SGD—Stochastic Gradient 

Descent 407

10.7.2  小批量梯度下降法(Mini-Batch 

Gradient Descent) 408

10.8  本章小結 410

第11章  捲積神經網絡 411

11.1  用於圖像的人工神經網絡 412

11.1.1  空間依賴性 412

11.1.2  ANNs中自由參數的數量 414

11.2  捲積核 414

11.2.1  捲積核的工作原理 415

11.2.2  利用捲積核執行特徵檢測 417

11.2.3  捲積核中的權重 422

11.3  捲積層 422

11.3.1  在Keras中使用捲積層 423

11.3.2  彩色圖像的捲積核 425

11.3.3  零填充 429

11.3.4  跨步捲積(stride) 435

11.4  池化層 437

11.4.1  池化的工作原理 437

11.4.2  為什麽進行池化 437

11.5   CNN模型的架構 440

11.5.1  CNN模型中的權重 441

11.5.2  CNN模型的編碼 443

11.6  案例研究:從圖像中識別

手勢 447

11.6.1  項目背景和研究目標 447

11.6.2  數據 448

11.6.3  構建模型和驗證模型 450

11.7  規劃理想的CNN模型 455

11.7.1  捲積層和池化層的數量 455

11.7.2  捲積層中捲積核的數量 456

11.7.3  批量歸一化(Batch 

Normalization) 464

11.7.4  選擇優化器 471

11.8  構建CNN模型的步驟 475

11.9  本章小結 475

11.10  本章習題 476

第12章  RNN與LSTM 477

12.1  橫截面數據和序列數據 477

12.1.1  橫截面數據 477

12.1.2  序列數據 477

12.2  在序列數據上構建模型 478

12.2.1  在序列數據上使用ANN

模型 478

12.2.2  在序列數據上使用CNN

模型 479

12.2.3  處理序列數據的ANN

(Sequential ANN ) 479

12.3  案例研究:單詞預測 481

12.3.1  研究目標和數據 481

12.3.2  數據預處理 484

12.3.3  構建模型 487

12.3.4  預測 490

12.4  RNN模型 491

12.4.1  時間反向傳播 492

12.4.2  計算參數的數量:一個

示例 494

12.4.3  構建RNN模型的示例代碼 496

12.4.4  使用RNN模型預測單詞 498

12.5  使用RNN模型處理長序列 501

12.5.1  案例研究: 預測組成下一個

單詞的字符 501

12.5.2  梯度消失問題 511

12.6   長短期記憶模型 512

12.6.1  LSTM的控制門 513

12.6.2  直觀理解LSTM 518

12.6.3  應用LSTM的案例研究 519

12.7  序列到序列模型 523

12.8  案例研究:語言翻譯 529

12.8.1  研究目標和數據 529

12.8.2  數據預處理 530

12.8.3  編碼和解碼 532

12.8.4  構建模型 533

12.8.5  用模型做預測 534

12.9  本章小結 538

12.10  本章習題 538

第13章  參考文獻(在線資源) 539