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