機器學習貝葉斯優化 Bayesian Optimization in Action

[美] 阮泉(Quan Nguyen)著 殷海英 譯

  • 機器學習貝葉斯優化-preview-1
  • 機器學習貝葉斯優化-preview-2
  • 機器學習貝葉斯優化-preview-3
機器學習貝葉斯優化-preview-1

相關主題

商品描述

"在機器學習領域,優化的核心目標是用最少的計算資源獲取最準確的預測結果——無論是規劃最短配送路線、確定**定價策略,還是生成最精準的推薦。當傳統方法因效率低下或成本過高而顯得力不從心時,貝葉斯優化可以利用概率論的知識,為高效調優機器學習函數、算法及超參數提供革命性的解決方案。 《機器學習貝葉斯優化》一書將教你如何運用貝葉斯方法創建高效的機器學習流程。本書呈現了處理大型數據集、調優超參數以及探索復雜搜索空間的實用技巧。書中內容生動有趣,包含豐富的插圖和引人入勝的實例,如優化咖啡的甜度、天氣預測建模,甚至用科學邏輯揭秘超自然現象。你將學會多目標決策場景下的資源分配策略、成本敏感型問題的量化決策方法,以及成對比較問題的概率建模技巧。● 針對稀疏和大數據集的高斯過程 ● 超參數調優策略 ● 高性能參數區域的識別方法 ● 基於PyTorch/GPyTorch/BoTorch的代碼實現"

目錄大綱

目    錄

 

第1章 貝葉斯優化簡介 1

1.1  尋找昂貴黑盒函數的最優解 2

1.1.1  昂貴的黑盒優化問題示例:超參數調優 2

1.1.2  昂貴黑盒優化問題 4

1.1.3  其他昂貴黑盒優化問題的示例 5

1.2  引入貝葉斯優化 6

1.2.1  使用高斯過程進行建模 7

1.2.2  使用貝葉斯優化策略進行決策 10

1.2.3  將高斯過程和優化策略結合起來形成優化循環 11

1.2.4  貝葉斯優化的實際應用 13

1.3  你將從本書中學到什麽 18

1.4  本章小結 19

 

第Ⅰ部分  使用高斯過程建模

第2章 高斯過程作為函數上的分佈 23

2.1  如何以貝葉斯方式出售你的房子 25

2.2  運用多元高斯分佈對相關性建模並進行貝葉斯更新 27

2.2.1  使用多元高斯分佈聯合建模多個變量 27

2.2.2  更新多元高斯分佈 30

2.2.3  使用高維高斯分佈建模多個變量 33

2.3  從有限維高斯分佈到無限維高斯分佈 35

2.4  在Python中實現高斯過程 40

2.4.1  設置訓練數據 40

2.4.2  實現一個高斯過程類 42

2.4.3  使用高斯過程進行預測 44

2.4.4  高斯過程的預測可視化 45

2.4.5  超越一維目標函數 48

2.5  練習題 51

2.6  本章小結 52

第3章 通過均值和協方差函數定製高斯過程 53

3.1  貝葉斯模型中先驗的重要性 54

3.2  將已知的信息融入高斯過程 57

3.3  使用均值函數定義函數行為 58

3.3.1  使用零均值函數作為基本策略 59

3.3.2  使用常數函數和梯度下降法 61

3.3.3  使用線性函數和梯度下降法 65

3.3.4  通過實現自定義均值函數來使用二次函數 67

3.4  用協方差函數定義變異性和平滑性 70

3.4.1  協方差函數的尺度設置 70

3.4.2  使用不同的協方差函數控制平滑度 73

3.4.3  使用多個長度尺度來模擬不同水平的變異性 76

3.5  練習題 79

3.6  本章小結 80

 

第Ⅱ部分  使用貝葉斯優化進行決策

第4章 通過基於改進的策略優化最佳結果 85

4.1  在貝葉斯優化中探索搜索空間 86

4.1.1  貝葉斯優化循環與策略 87

4.1.2  平衡探索與利用 96

4.2  在貝葉斯優化中尋找改進 98

4.2.1  使用高斯過程衡量改進 99

4.2.2  計算改進的概率 101

4.2.3  實施PoI策略 106

4.3  優化期望改進值 109

4.4  練習題 112

4.4.1  練習題1:使用PoI鼓勵探索 112

4.4.2  練習題2:使用BayesOpt進行超參數調優 112

4.5  本章小結 114

第5章 使用類似多臂老虎機的策略探索搜索空間 117

5.1  多臂老虎機問題簡介 118

5.1.1  在游樂場尋找最佳老虎機 118

5.1.2  從多臂老虎機到貝葉斯優化 121

5.2  在不確定性下保持樂觀:上置信界策略 122

5.2.1  不確定性下的樂觀主義 123

5.2.2  平衡探索與利用 125

5.2.3  使用BoTorch實現 127

5.3  使用湯普森採樣策略進行智能採樣 129

5.3.1  用一個樣本來代表未知量 129

5.3.2  在BoTorch中實現湯普森採樣策略 132

5.4  練習題 137

5.4.1  練習題1:為UCB策略設置探索計劃 137

5.4.2  練習題2:使用貝葉斯優化進行超參數調優 138

5.5  本章小結 138

第6章 使用基於熵的信息論策略 141

6.1  使用信息論衡量知識 142

6.1.1  使用熵來衡量不確定性 142

6.1.2  使用熵尋找遙控器 144

6.1.3  使用熵的二分搜索 147

6.2  貝葉斯優化中的熵搜索 152

6.2.1  使用信息論尋找最優解 152

6.2.2  使用BoTorch實現熵搜索 156

6.3  練習題 158

6.3.1  練習題1:將先驗知識融入熵搜索 158

6.3.2  練習題2:用於超參數調優的貝葉斯優化 160

6.4  本章小結 161

 

第Ⅲ部分  將貝葉斯優化擴展到特定設置

第7章 使用批量優化最大化吞吐量 165

7.1  同時進行多個函數評估 166

7.1.1  並行利用所有可用資源 166

7.1.2  為什麽不在批量設置中使用常規的貝葉斯優化策略 168

7.2  計算一批點的改進和上置信界 170

7.2.1  將優化啟發式方法擴展到批量設置 170

7.2.2  實現批量改進和UCB策略 176

7.3  練習題1:通過重採樣將TS擴展到批量設置 183

7.4  使用信息論計算一批點的值 184

7.4.1  通過循環求精找到最具信息量的批量點集 184

7.4.2  使用BoTorch實現批量熵搜索 186

7.5  練習題2:優化飛機設計 189

7.6  本章小結 192

第8章 通過約束優化滿足額外的約束條件 193

8.1  在約束優化問題中考慮約束條件 194

8.1.1  約束條件對優化問題解的影響 194

8.1.2  約束感知的貝葉斯優化框架 197

8.2  貝葉斯優化中的約束感知決策 198

8.3  練習題1:手動計算約束EI 203

8.4  使用BoTorch實現約束EI 204

8.5  練習題2:飛機設計的約束優化 208

8.6  本章小結 210

第9章 通過多保真度優化平衡效用和成本 211

9.1  使用低保真度近似來研究成本高昂的現象 212

9.2  高斯過程的多保真度建模 216

9.2.1  格式化多保真度數據集 216

9.2.2  訓練一個多保真度高斯過程 220

9.3  在多保真度優化中平衡信息和成本 224

9.3.1  建模不同保真度查詢的成本 225

9.3.2  優化每一美元信息量以指導優化 226

9.4  在多保真度優化中衡量性能 232

9.5  練習題1:可視化多保真度優化中的平均性能 236

9.6  練習題2:使用多個低保真近似的多保真度優化 238

9.7  本章小結 239

第10章  通過成對比較進行偏好優化學習 241

10.1  使用成對比較的黑盒優化 243

10.2  制定偏好優化問題和格式化成對比較數據 246

10.3  訓練基於偏好的GP 250

10.4  通過“山丘之王”游戲進行偏好優化 254

10.5  本章小結 258

第11章  同時優化多個目標 259

11.1  使用BayesOpt平衡多個優化目標 260

11.2  尋找最佳數據點的邊界 262

11.3  優化最佳數據邊界 269

11.4  練習題:飛機設計的多目標優化 275

11.5  本章小結 275

 

第Ⅳ部分  特殊高斯過程模型

第12章  將高斯過程擴展到大數據集 279

12.1  在大型數據集上訓練GP 280

12.1.1  設置學習任務 281

12.1.2  訓練一個常規的GP 284

12.1.3  訓練常規GP時面臨的

問題 286

12.2  從大型數據集中自動

選擇代表性點 289

12.2.1  縮小兩個GP之間的差異 289

12.2.2  小批量訓練模型 291

12.2.3  實現近似模型 293

12.3  通過考慮損失曲面的幾何特性來實現更優的優化 299

12.4  練習題 304

12.5  本章小結 306

第13章  融合高斯過程與神經網絡 307

13.1  包含結構的數據 308

13.2  在結構化數據中捕捉相似性 311

13.2.1  使用GPyTorch實現核函數 311

13.2.2  在PyTorch中處理圖像 312

13.2.3  計算兩幅圖像的協方差 313

13.2.4  在圖像數據上訓練GP 315

13.3  使用神經網絡處理復雜的結構化數據 318

13.3.1  為什麽使用神經網絡進行建模 318

13.3.2  在GPyTorch中實現組合模型 320

13.4  本章小結 327

附錄A 練習題實現方案(在線提供)