在機器學習領域,優(yōu)化的核心目標是用最少的計算資源獲取最準確的預測結果無論是規(guī)劃最短配送路線、確定最優(yōu)定價策略,還是生成最精準的推薦。當傳統(tǒng)方法因效率低下或成本過高而顯得力不從心時,貝葉斯優(yōu)化可以利用概率論的知識,為高效調優(yōu)機器學習函數、算法及超參數提供革命性的解決方案。
《機器學習貝葉斯優(yōu)化》一書將教你如何運用貝葉斯方法創(chuàng)建高效的機器學習流程。本書呈現了處理大型數據集、調優(yōu)超參數以及探索復雜搜索空間的實用技巧。書中內容生動有趣,包含豐富的插圖和引人入勝的實例,如優(yōu)化咖啡的甜度、天氣預測建模,甚至用科學邏輯揭秘超自然現象。你將學會多目標決策場景下的資源分配策略、成本敏感型問題的量化決策方法,以及成對比較問題的概率建模技巧。● 針對稀疏和大數據集的高斯過程
● 超參數調優(yōu)策略
● 高性能參數區(qū)域的識別方法
● 基于PyTorch/GPyTorch/BoTorch的代碼實現
在這個由數據塑造的世界里,貝葉斯優(yōu)化已經成為一種不可或缺的技術,它在機器學習、數據科學,以及更廣泛的科學探索中扮演著至關重要的角色。然而,盡管貝葉斯優(yōu)化的應用前景廣闊,但它的學習之路卻并不平坦,F有的資源要么過于零散,要么過于晦澀,使得許多渴望掌握這一技術的讀者感到困惑和沮喪。正是在這樣的背景下,《機器學習貝葉斯優(yōu)化》應運而生,旨在為讀者提供全面、深入且易于理解的貝葉斯優(yōu)化學習指導。
《機器學習貝葉斯優(yōu)化》不僅是為了傳授知識,更重要的是為了激發(fā)思考。它將帶你穿越貝葉斯優(yōu)化的理論叢林,探索其在實際應用中的無限可能。通過精心編排的章節(jié),本書將從貝葉斯優(yōu)化的基本概念出發(fā),逐步深入高斯過程的神秘世界,再進一步探討策略的制定和優(yōu)化,最終觸及高斯過程模型的高級應用。這段旅程將充滿挑戰(zhàn)與樂趣。
在2019年秋季,我還是一名一年級的博士生,我對自己的研究方向感到很迷茫。我知道我想專注于人工智能(AI)領域使用計算機自動化思維過程具有吸引力但AI是一個龐大的領域,我很難將我的研究方向限定到一個具體的主題上。
當我選修了一門名為Bayesian Methods for Machine Learning(貝葉斯方法在機器學習中的應用)的課程時,所有的不確定性都消失了。雖然我曾在本科階段簡單接觸過貝葉斯定理,但正是這門課程的第一堂課讓我豁然開朗!貝葉斯定理提供了一種直觀的方式來思考概率,對我來說,它是人類信念的一種優(yōu)雅模型:我們每個人都有一個先驗信念(關于任何事情),我們從這個先驗開始,當我們觀察到支持或反對這個先驗的證據時,這個先驗會被更新,結果是一個反映先驗和數據的后驗信念。貝葉斯定理將這種優(yōu)雅的信念維護方式引入人工智能中,并在許多問題上找到應用,這對我來說是一個強有力的信號,表明貝葉斯機器學習是一個值得探索的主題。
當我學習關于貝葉斯優(yōu)化(BayesOpt)的課程時,我已經下定決心:這個理論很直觀,應用也很廣泛,而且有著巨大的發(fā)展?jié)摿。再次,我被自動化思維,特別是決策制定吸引,而貝葉斯優(yōu)化正是這兩者的完美結合。我成功地進入了羅曼??加內特(Roman Garnett)教授的研究實驗室,我的貝葉斯優(yōu)化之旅就此開始!
在2021年,我花了一些時間研究和實現貝葉斯優(yōu)化解決方案,對貝葉斯優(yōu)化的贊賞只增不減。我會向朋友和同事推薦使用它來處理復雜的優(yōu)化問題,并承諾貝葉斯優(yōu)化會表現出色。但存在一個問題:我找不到值得參考的優(yōu)質資源。研究論文中涉及的數學內容較深,在線教程又過于簡短難以提供實質性的見解,而貝葉斯優(yōu)化軟件的教程則零散不成體系,缺乏連貫性。
這時,一個想法在我腦海中浮現,正如托尼??莫里森(Toni Morrison)所說:如果你有一本想讀的書,但這本書還沒有被寫出來,那么你應該去寫它。這句話非常正確!這個觀點讓我感到興奮,原因有兩個:一是我可以寫一本描述我心愛事物的書,二是寫作無疑會幫助我獲得更深層次的洞見。我提供了一份書稿提案,并聯(lián)系了Manning出版社,因為他們出版的書籍是我喜歡的風格。
2021年11月,我的策劃編輯安迪??沃爾德龍(Andy Waldron)給我發(fā)來了一封電子郵件,這標志著我與Manning出版社的第一次溝通。2021年12月,我簽署了合同并著手撰寫書稿,但后來我發(fā)現寫作所需的時間比我最初想象的要長(我相信每本書都是如此)。2023年4月,我寫下了這篇前言,作為出版前的最后一步!
第1章 貝葉斯優(yōu)化簡介 1
1.1 尋找昂貴黑盒函數的最優(yōu)解 2
1.1.1 昂貴的黑盒優(yōu)化問題示例:超參數調優(yōu) 2
1.1.2 昂貴黑盒優(yōu)化問題 4
1.1.3 其他昂貴黑盒優(yōu)化問題的示例 5
1.2 引入貝葉斯優(yōu)化 6
1.2.1 使用高斯過程進行建模 7
1.2.2 使用貝葉斯優(yōu)化策略進行決策 10
1.2.3 將高斯過程和優(yōu)化策略結合起來形成優(yōu)化循環(huán) 11
1.2.4 貝葉斯優(yōu)化的實際應用 13
1.3 你將從本書中學到什么 18
1.4 本章小結 19
第Ⅰ部分 使用高斯過程建模
第2章 高斯過程作為函數上的分布 23
2.1 如何以貝葉斯方式出售你的房子 25
2.2 運用多元高斯分布對相關性建模并進行貝葉斯更新 27
2.2.1 使用多元高斯分布聯(lián)合建模多個變量 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章 通過均值和協(xié)方差函數定制高斯過程 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 用協(xié)方差函數定義變異性和平滑性 70
3.4.1 協(xié)方差函數的尺度設置 70
3.4.2 使用不同的協(xié)方差函數控制平滑度 73
3.4.3 使用多個長度尺度來模擬不同水平的變異性 76
3.5 練習題 79
3.6 本章小結 80
第Ⅱ部分 使用貝葉斯優(yōu)化進行決策
第4章 通過基于改進的策略優(yōu)化最佳結果 85
4.1 在貝葉斯優(yōu)化中探索搜索空間 86
4.1.1 貝葉斯優(yōu)化循環(huán)與策略 87
4.1.2 平衡探索與利用 96
4.2 在貝葉斯優(yōu)化中尋找改進 98
4.2.1 使用高斯過程衡量改進 99
4.2.2 計算改進的概率 101
4.2.3 實施PoI策略 106
4.3 優(yōu)化期望改進值 109
4.4 練習題 112
4.4.1 練習題1:使用PoI鼓勵探索 112
4.4.2 練習題2:使用BayesOpt進行超參數調優(yōu) 112
4.5 本章小結 114
第5章 使用類似多臂老虎機的策略探索搜索空間 117
5.1 多臂老虎機問題簡介 118
5.1.1 在游樂場尋找最佳老虎機 118
5.1.2 從多臂老虎機到貝葉斯優(yōu)化 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:使用貝葉斯優(yōu)化進行超參數調優(yōu) 138
5.5 本章小結 138
第6章 使用基于熵的信息論策略 141
6.1 使用信息論衡量知識 142
6.1.1 使用熵來衡量不確定性 142
6.1.2 使用熵尋找遙控器 144
6.1.3 使用熵的二分搜索 147
6.2 貝葉斯優(yōu)化中的熵搜索 152
6.2.1 使用信息論尋找最優(yōu)解 152
6.2.2 使用BoTorch實現熵搜索 156
6.3 練習題 158
6.3.1 練習題1:將先驗知識融入熵搜索 158
6.3.2 練習題2:用于超參數調優(yōu)的貝葉斯優(yōu)化 160
6.4 本章小結 161
第Ⅲ部分 將貝葉斯優(yōu)化擴展到特定設置
第7章 使用批量優(yōu)化最大化吞吐量 165
7.1 同時進行多個函數評估 166
7.1.1 并行利用所有可用資源 166
7.1.2 為什么不在批量設置中使用常規(guī)的貝葉斯優(yōu)化策略 168
7.2 計算一批點的改進和上置信界 170
7.2.1 將優(yōu)化啟發(fā)式方法擴展到批量設置 170
7.2.2 實現批量改進和UCB策略 176
7.3 練習題1:通過重采樣將TS擴展到批量設置 183
7.4 使用信息論計算一批點的值 184
7.4.1 通過循環(huán)求精找到最具信息量的批量點集 184
7.4.2 使用BoTorch實現批量熵搜索 186
7.5 練習題2:優(yōu)化飛機設計 189
7.6 本章小結 192
第8章 通過約束優(yōu)化滿足額外的約束條件 193
8.1 在約束優(yōu)化問題中考慮約束條件 194
8.1.1 約束條件對優(yōu)化問題解的影響 194
8.1.2 約束感知的貝葉斯優(yōu)化框架 197
8.2 貝葉斯優(yōu)化中的約束感知決策 198
8.3 練習題1:手動計算約束EI 203
8.4 使用BoTorch實現約束EI 204
8.5 練習題2:飛機設計的約束優(yōu)化 208
8.6 本章小結 210
第9章 通過多保真度優(yōu)化平衡效用和成本 211
9.1 使用低保真度近似來研究成本高昂的現象 212
9.2 高斯過程的多保真度建模 216
9.2.1 格式化多保真度數據集 216
9.2.2 訓練一個多保真度高斯過程 220
9.3 在多保真度優(yōu)化中平衡信息和成本 224
9.3.1 建模不同保真度查詢的成本 225
9.3.2 優(yōu)化每一美元信息量以指導優(yōu)化 226
9.4 在多保真度優(yōu)化中衡量性能 232
9.5 練習題1:可視化多保真度優(yōu)化中的平均性能 236
9.6 練習題2:使用多個低保真近似的多保真度優(yōu)化 238
9.7 本章小結 239
第10章 通過成對比較進行偏好優(yōu)化學習 241
10.1 使用成對比較的黑盒優(yōu)化 243
10.2 制定偏好優(yōu)化問題和格式化成對比較數據 246
10.3 訓練基于偏好的GP 250
10.4 通過山丘之王游戲進行偏好優(yōu)化 254
10.5 本章小結 258
第11章 同時優(yōu)化多個目標 259
11.1 使用BayesOpt平衡多個優(yōu)化目標 260
11.2 尋找最佳數據點的邊界 262
11.3 優(yōu)化最佳數據邊界 269
11.4 練習題:飛機設計的多目標優(yōu)化 275
11.5 本章小結 275
第Ⅳ部分 特殊高斯過程模型
第12章 將高斯過程擴展到大數據集 279
12.1 在大型數據集上訓練GP 280
12.1.1 設置學習任務 281
12.1.2 訓練一個常規(guī)的GP 284
12.1.3 訓練常規(guī)GP時面臨的
問題 286
12.2 從大型數據集中自動
選擇代表性點 289
12.2.1 縮小兩個GP之間的差異 289
12.2.2 小批量訓練模型 291
12.2.3 實現近似模型 293
12.3 通過考慮損失曲面的幾何特性來實現更優(yōu)的優(yōu)化 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 計算兩幅圖像的協(xié)方差 313
13.2.4 在圖像數據上訓練GP 315
13.3 使用神經網絡處理復雜的結構化數據 318
13.3.1 為什么使用神經網絡進行建模 318
13.3.2 在GPyTorch中實現組合模型 320
13.4 本章小結 327
附錄A 練習題實現方案(在線提供)