深度學習:從基礎到實踐(上、下冊)

安德魯·格拉斯納(Andrew Glassner)

  • 出版商: 人民郵電
  • 出版日期: 2022-12-01
  • 定價: $1,199
  • 售價: 8.5$1,019
  • 語言: 簡體中文
  • 頁數: 824
  • ISBN: 711555451X
  • ISBN-13: 9787115554512
  • 相關分類: DeepLearning
  • 立即出貨

  • 深度學習:從基礎到實踐(上、下冊)-preview-1
  • 深度學習:從基礎到實踐(上、下冊)-preview-2
深度學習:從基礎到實踐(上、下冊)-preview-1

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

商品描述

本書從基本概念和理論入手,通過近千張圖和簡單的例子由淺入深地講解深度學習的相關知識,且不涉及復雜的數學內容。

本書分為上下兩冊。上冊著重介紹深度學習的基礎知識,旨在幫助讀者建立扎實的知識儲備,主要介紹隨機性與基礎統計學、訓練與測試、過擬合與欠擬合、神經元、學習與推理、數據準備、分類器、集成算法、前饋網絡、激活函數、反向傳播等內容。下冊介紹機器學習的 scikit-learn 庫和深度學習的 Keras 庫(這兩種庫均基於 Python 語言),以及捲積神經網絡、循環神經網絡、自編碼器、強化學習、生成對抗網絡等內容,還介紹了一些創造性應用,並給出了一些典型的數據集,以幫助讀者更好地瞭解學習。

本書適合想要瞭解和使用深度學習的人閱讀,也可作為深度學習教學培訓領域的入門級參考用書。

作者簡介

Andrew Glassner博士是一位作家,同时也是计算机交互、图形学领域的顾问。他于1978年开始从事3D计算机绘图工作,在NYIT计算机图形实验室、凯斯西储大学、IBM TJ Watson研究实验室、代尔夫特理工大学、贝尔通信研究、施乐帕克研究中心和微软研究院等公司进行了相关研究。《纽约时报》曾评价他为“计算机图形研究领域最受尊敬的天才之一。”

目錄大綱

上冊

 

第 1章 機器學習與深度學習入門 1

1.1 為什麽這一章出現在這里 1

1.1.1 從數據中提取含義 1

1.1.2 專家系統 3

1.2 從標記數據中學習 4

1.2.1 一種學習策略 5

1.2.2 一種電腦化的學習策略 6

1.2.3 泛化 8

1.2.4 讓我們仔細看看學習過程 9

1.3 監督學習 10

1.3.1 分類 10

1.3.2 回歸 11

1.4 無監督學習 12

1.4.1 聚類 13

1.4.2 降噪 13

1.4.3 降維 14

1.5 生成器 16

1.6 強化學習 18

1.7 深度學習 19

1.8 接下來會講什麽 22

參考資料 22

第 2章 隨機性與基礎統計學 24

2.1 為什麽這一章出現在這里 24

2.2 隨機變量 24

2.3 一些常見的分佈 29

2.3.1 均勻分佈 30

2.3.2 正態分佈 31

2.3.3 伯努利分佈 34

2.3.4 多項式分佈 34

2.3.5 期望值 35

2.4 獨立性 35

2.5 抽樣與放回 36

2.5.1 有放回抽樣 36

2.5.2 無放回抽樣 37

2.5.3 做選擇 38

2.6 Bootstrapping算法 38

2.7 高維空間 41

2.8 協方差和相關性 43

2.8.1 協方差 43

2.8.2 相關性 44

2.9 Anscombe四重奏 47

參考資料 48

第3章 概率 50

3.1 為什麽這一章出現在這里 50

3.2 飛鏢游戲 50

3.3 初級概率學 52

3.4 條件概率 52

3.5 聯合概率 55

3.6 邊際概率 57

3.7 測量的正確性 58

3.7.1 樣本分類 58

3.7.2 混淆矩陣 60

3.7.3 混淆矩陣的解釋 62

3.7.4 允許錯誤分類 64

3.7.5 準確率 65

3.7.6 精度 66

3.7.7 召回率 67

3.7.8 關於精度和召回率 68

3.7.9 其他方法 69

3.7.10 同時使用精度和召回率 71

3.7.11 f1分數 72

3.8 混淆矩陣的應用 73

參考資料 77

第4章 貝葉斯定理 78

4.1 為什麽這一章出現在這里 78

4.2 頻率論者法則以及貝葉斯法則 78

4.2.1 頻率論者法則 79

4.2.2 貝葉斯法則 79

4.2.3 討論 79

4.3 拋硬幣 80

4.4 這枚硬幣公平嗎 81

4.4.1 貝葉斯定理 86

4.4.2 貝葉斯定理的註意事項 87

4.5 生活中的貝葉斯定理 89

4.6 重復貝葉斯定理 91

4.6.1 後驗-先驗循環 92

4.6.2 例子:挑到的是哪種硬幣 93

4.7 多個假設 97

參考資料 101

第5章 曲線和曲面 102

5.1 為什麽這一章出現在這里 102

5.2 引言 102

5.3 導數 103

5.4 梯度 108

參考資料 112

第6章 信息論 113

6.1 為什麽這一章出現在這里 113

6.2 意外程度與語境 113

6.2.1 意外程度 114

6.2.2 語境 114

6.3 用比特作為單位 115

6.4 衡量信息 116

6.5 事件的大小 117

6.6 自適應編碼 117

6.7 熵 122

6.8 交叉熵 123

6.8.1 兩種自適應編碼 123

6.8.2 混合編碼 125

6.9 KL散度 127

參考資料 128

第7章 分類 130

7.1 為什麽這一章出現在這里 130

7.2 二維分類 130

7.3 二維多分類 134

7.4 多維二元分類 135

7.4.1 one-versus-rest 135

7.4.2 one-versus-one 136

7.5 聚類 138

7.6 維度災難 141

參考資料 149

第8章 訓練與測試 150

8.1 為什麽這一章出現在這里 150

8.2 訓練 150

8.3 測試數據 153

8.4 驗證數據 156

8.5 交叉驗證 157

8.6 對測試結果的利用 160

參考資料 161

第9章 過擬合與欠擬合 162

9.1 為什麽這一章出現在這里 162

9.2 過擬合與欠擬合 162

9.2.1 過擬合 162

9.2.2 欠擬合 164

9.3 過擬合數據 164

9.4 及早停止 167

9.5 正則化 168

9.6 偏差與方差 169

9.6.1 匹配潛在數據 170

9.6.2 高偏差,低方差 172

9.6.3 低偏差,高方差 173

9.6.4 比較這些曲線 173

9.7 用貝葉斯法則進行線擬合 175

參考資料 179

第 10章 神經元 181

10.1 為什麽這一章出現在這里 181

10.2 真實神經元 181

10.3 人工神經元 182

10.3.1 感知機 183

10.3.2 感知機的歷史 183

10.3.3 現代人工神經元 184

10.4 小結 188

參考資料 188

第 11章 學習與推理 190

11.1 為什麽這一章出現在這里 190

11.2 學習的步驟 190

11.2.1 表示 190

11.2.2 評估 192

11.2.3 優化 193

11.3 演繹和歸納 193

11.4 演繹 194

11.5 歸納 199

11.5.1 機器學習中的歸納術語 201

11.5.2 歸納謬誤 202

11.6 組合推理 203

11.7 操作條件 204

參考資料 206

第 12章 數據準備 208

12.1 為什麽這一章出現在這里 208

12.2 數據變換 208

12.3 數據類型 210

12.4 數據清理基礎 212

12.4.1 數據清理 212

12.4.2 現實中的數據清理 213

12.5 歸一化和標準化 213

12.5.1 歸一化 213

12.5.2 標準化 214

12.5.3 保存數據的轉換方式 215

12.5.4 轉換方式 216

12.6 特徵選擇 217

12.7 降維 217

12.7.1 主成分分析 217

12.7.2 圖像的標準化和PCA 222

12.8 轉換 226

12.9 切片處理 229

12.9.1 逐樣本處理 230

12.9.2 逐特徵處理 230

12.9.3 逐元素處理 231

12.10 交叉驗證轉換 232

參考資料 234

第 13章 分類器 236

13.1 為什麽這一章出現在這里 236

13.2 分類器的種類 236

13.3 k近鄰法 237

13.4 支持向量機 241

13.5 決策樹 247

13.5.1 構建決策樹 250

13.5.2 分離節點 253

13.5.3 控制過擬合 255

13.6 樸素貝葉斯 255

13.7 討論 259

參考資料 260

第 14章 集成算法 261

14.1 為什麽這一章出現在這里 261

14.2 集成方法 261

14.3 投票 262

14.4 套袋算法 262

14.5 隨機森林 264

14.6 極端隨機樹 265

14.7 增強算法 265

參考資料 270

第 15章 scikit-learn 272

15.1 為什麽這一章出現在這里 272

15.2 介紹 273

15.3 Python 約定 273

15.4 估算器 276

15.4.1 創建 276

15.4.2 學習fit()用法 277

15.4.3 用predict()預測 278

15.4.4 decision_function(),predict_proba() 279

15.5 聚類 279

15.6 變換 282

15.7 數據精化 286

15.8 集成器 288

15.9 自動化 290

15.9.1 交叉驗證 290

15.9.2 超參數搜索 292

15.9.3 枚舉型網格搜索 294

15.9.4 隨機型網格搜索 300

15.9.5 pipeline 300

15.9.6 決策邊界 307

15.9.7 流水線式變換 308

15.10 數據集 309

15.11 實用工具 311

15.12 結束語 312

參考資料 312

第 16章 前饋網絡 314

16.1 為什麽這一章出現在這里 314

16.2 神經網絡圖 314

16.3 同步與異步流 316

16.4 權重初始化 317

參考資料 320

第 17章 激活函數 321

17.1 為什麽這一章出現在這里 321

17.2 激活函數可以做什麽 321

17.3 基本的激活函數 324

17.3.1 線性函數 324

17.3.2 階梯狀函數 325

17.4 階躍函數 325

17.5 分段線性函數 327

17.6 光滑函數 329

17.7 激活函數畫廊 333

17.8 歸一化指數函數 333

參考資料 335

第 18章 反向傳播 336

18.1 為什麽這一章出現在這里 336

18.2 一種非常慢的學習方式 337

18.2.1 緩慢的學習方式 339

18.2.2 更快的學習方式 340

18.3 現在沒有激活函數 341

18.4 神經元輸出和網絡誤差 342

18.5 微小的神經網絡 345

18.6 第 1步:輸出神經元的delta 347

18.7 第 2步:使用delta改變權重 353

18.8 第3步:其他神經元的delta 356

18.9 實際應用中的反向傳播 359

18.10 使用激活函數 363

18.11 學習率 367

18.12 討論 374

18.12.1 在一個地方的反向傳播 374

18.12.2 反向傳播不做什麽 374

18.12.3 反向傳播做什麽 375

18.12.4 保持神經元快樂 375

18.12.5 小批量 377

18.12.6 並行更新 378

18.12.7 為什麽反向傳播很有吸引力 378

18.12.8 反向傳播並不是有保證的 379

18.12.9 一點歷史 379

18.12.10 深入研究數學 380

參考資料 381

第 19章 優化器 383

19.1 為什麽這一章出現在這里 383

19.2 幾何誤差 383

19.2.1 最小值、最大值、平臺和鞍部 383

19.2.2 作為二維曲線的誤差 386

19.3 調整學習率 388

19.3.1 固定大小的更新 388

19.3.2 隨時間改變學習率 394

19.3.3 衰減規劃 396

19.4 更新策略 398

19.4.1 批梯度下降 398

19.4.2 隨機梯度下降 400

19.4.3 mini batch梯度下降 401

19.5 梯度下降變體 403

19.5.1 動量 403

19.5.2 Nesterov動量 408

19.5.3 Adagrad 410

19.5.4 Adadelta和RMSprop 411

19.5.5 Adam 413

19.6 優化器選擇 414

參考資料 415

 

下冊

 

第 20章 深度學習 417

20.1 為什麽這一章出現在這里 417

20.2 深度學習概述 417

20.3 輸入層和輸出層 419

20.3.1 輸入層 419

20.3.2 輸出層 420

20.4 深度學習層縱覽 420

20.4.1 全連接層 421

20.4.2 激活函數 421

20.4.3 dropout 422

20.4.4 批歸一化 423

20.4.5 捲積層 424

20.4.6 池化層 425

20.4.7 循環層 426

20.4.8 其他工具層 427

20.5 層和圖形符號總結 428

20.6 一些例子 429

20.7 構建一個深度學習器 434

20.8 解釋結果 435

參考資料 440

第 21章 捲積神經網絡 441

21.1 為什麽這一章出現在這里 441

21.2 介紹 441

21.2.1 “深度”的兩重含義 442

21.2.2 放縮後的值之和 443

21.2.3 權重共享 445

21.2.4 局部感知域 446

21.2.5 捲積核 447

21.3 捲積 447

21.3.1 過濾器 450

21.3.2 復眼視圖 452

21.3.3 過濾器的層次結構 453

21.3.4 填充 458

21.3.5 步幅 459

21.4 高維捲積 462

21.4.1 具有多個通道的過濾器 463

21.4.2 層次結構的步幅 465

21.5 一維捲積 466

21.6 1×1捲積 466

21.7 捲積層 468

21.8 轉置捲積 469

21.9 捲積網絡樣例 472

21.9.1 VGG16 475

21.9.2 有關過濾器的其他內容:第 1部分 477

21.9.3 有關過濾器的其他內容:第 2部分 481

21.10 對手 483

參考資料 485

第 22章 循環神經網絡 488

22.1 為什麽這一章出現在這里 488

22.2 引言 489

22.3 狀態 490

22.4 RNN單元的結構 494

22.4.1 具有更多狀態的單元 496

22.4.2 狀態值的解釋 498

22.5 組織輸入 498

22.6 訓練RNN 500

22.7 LSTM和GRU 502

22.7.1 門 503

22.7.2 LSTM 505

22.8 RNN的結構 508

22.8.1 單個或多個輸入和輸出 508

22.8.2 深度RNN 510

22.8.3 雙向RNN 511

22.8.4 深度雙向RNN 512

22.9 一個例子 513

參考資料 517

第 23章 Keras第 1部分 520

23.1 為什麽這一章出現在這里 520

23.1.1 本章結構 520

23.1.2 筆記本 521

23.1.3 Python警告 521

23.2 庫和調試 521

23.2.1 版本和編程風格 522

23.2.2 Python編程和調試 522

23.3 概述 523

23.3.1 什麽是模型 524

23.3.2 張量和數組 524

23.3.3 設置Keras 524

23.3.4 張量圖像的形狀 525

23.3.5 GPU和其他加速器 527

23.4 準備開始 528

23.5 準備數據 530

23.5.1 重塑 530

23.5.2 加載數據 536

23.5.3 查看數據 537

23.5.4 訓練-測試拆分 541

23.5.5 修復數據類型 541

23.5.6 歸一化數據 542

23.5.7 固定標簽 544

23.5.8 在同一個地方進行預處理 547

23.6 製作模型 548

23.6.1 將網格轉換為列表 548

23.6.2 創建模型 550

23.6.3 編譯模型 554

23.6.4 模型創建摘要 556

23.7 訓練模型 557

23.8 訓練和使用模型 559

23.8.1 查看輸出 560

23.8.2 預測 562

23.8.3 訓練歷史分析 566

23.9 保存和加載 567

23.9.1 將所有內容保存在一個文件中 567

23.9.2 僅保存權重 568

23.9.3 僅保存架構 568

23.9.4 使用預訓練模型 569

23.9.5 保存預處理步驟 569

23.10 回調函數 570

23.10.1 檢查點 570

23.10.2 學習率 572

23.10.3 及早停止 573

參考資料 575

第 24章 Keras第 2部分 577

24.1 為什麽這一章出現在這里 577

24.2 改進模型 577

24.2.1 超參數計數 577

24.2.2 改變一個超參數 578

24.2.3 其他改進方法 580

24.2.4 再增加一個全連接層 581

24.2.5 少即是多 582

24.2.6 添加dropout 584

24.2.7 觀察 587

24.3 使用scikit-learn 588

24.3.1 Keras包裝器 588

24.3.2 交叉驗證 591

24.3.3 歸一化交叉驗證 594

24.3.4 超參數搜索 596

24.4 捲積網絡 602

24.4.1 工具層 603

24.4.2 為CNN準備數據 604

24.4.3 捲積層 606

24.4.4 對MNIST使用捲積 611

24.4.5 模式 619

24.4.6 圖像數據增強 621

24.4.7 合成數據 623

24.4.8 CNN的參數搜索 624

24.5 RNN 624

24.5.1 生成序列數據 625

24.5.2 RNN數據準備 627

24.5.3 創建並訓練RNN 631

24.5.4 分析RNN性能 634

24.5.5 一個更復雜的數據集 639

24.5.6 深度RNN 641

24.5.7 更多數據的價值 643

24.5.8 返回序列 646

24.5.9 有狀態的RNN 649

24.5.10 時間分佈層 650

24.5.11 生成文本 653

24.6 函數式API 658

24.6.1 輸入層 659

24.6.2 製作函數式模型 660

參考資料 664

第 25章 自編碼器 665

25.1 為什麽這一章出現在這里 665

25.2 引言 666

25.2.1 有損編碼和無損編碼 666

25.2.2 區域編碼 667

25.2.3 混合展示 669

25.3 最簡單的自編碼器 671

25.4 更好的自編碼器 675

25.5 探索自編碼器 677

25.5.1 深入地觀察隱藏變量 677

25.5.2 參數空間 679

25.5.3 混合隱藏變量 683

25.5.4 對不同類型的輸入進行預測 684

25.6 討論 685

25.7 捲積自編碼器 685

25.7.1 混合捲積自編碼器中的隱藏變量 688

25.7.2 在CNN中對不同類型的輸入進行預測 689

25.8 降噪 689

25.9 VAE 691

25.9.1 隱藏變量的分佈 691

25.9.2 VAE的結構 692

25.10 探索VAE 697

參考資料 703

第 26章 強化學習 704

26.1 為什麽這一章出現在這里 704

26.2 目標 704

26.3 強化學習的結構 708

26.3.1 步驟1:智能體選擇一個動作 709

26.3.2 步驟2:環境做出響應 710

26.3.3 步驟3:智能體進行自我更新 711

26.3.4 簡單版本的變體 712

26.3.5 回到主體部分 713

26.3.6 保存經驗 714

26.3.7 獎勵 714

26.4 翻轉 718

26.5 L學習 719

26.6 Q學習 728

26.6.1 Q值與更新 729

26.6.2 Q學習策略 731

26.6.3 把所有東西放在一起 732

26.6.4 顯而易見而又被忽略的事實 733

26.6.5 Q學習的動作 734

26.7 SARSA 739

26.7.1 實際中的SARSA 741

26.7.2 對比Q學習和SARSA 744

26.8 強化學習的全貌 748

26.9 經驗回放 749

26.10 兩個應用 750

參考資料 751

第 27章 生成對抗網絡 753

27.1 為什麽這一章出現在這里 753

27.2 一個比喻:偽造鈔票 754

27.2.1 從經驗中學習 756

27.2.2 用神經網絡偽造 757

27.2.3 一個學習回合 759

27.3 為什麽要用“對抗” 760

27.4 GAN的實現 760

27.4.1 鑒別器 761

27.4.2 生成器 761

27.4.3 訓練GAN 762

27.4.4 博弈 763

27.5 實際操作中的GAN 764

27.6 DCGAN 769

27.7 挑戰 771

27.7.1 使用大樣本 772

27.7.2 模態崩潰 772

參考資料 773

第 28章 創造性應用 775

28.1 為什麽這一章出現在這里 775

28.2 可視化過濾器 775

28.2.1 選擇網絡 775

28.2.2 可視化一個過濾器 776

28.2.3 可視化層 778

28.3 deep dreaming 779

28.4 神經風格遷移 782

28.4.1 在矩陣中捕獲風格 783

28.4.2 宏觀藍圖 784

28.4.3 內容損失 785

28.4.4 風格損失 786

28.4.5 實現風格遷移 789

28.4.6 討論 793

28.5 為本書生成更多的內容 794

參考資料 795

第 29章 數據集 797

29.1 公共數據集 797

29.2 MNIST和Fashion-MNIST 797

29.3 庫的內建數據集 798

29.3.1 scikit-learn 798

29.3.2 Keras 798