[机器学习]超参数优化---贝叶斯优化(Bayesian Optimization) 理解
背景
很多算法工程師戲謔自己是調(diào)參工程師,因為他們需要在繁雜的算法參數(shù)中找到最優(yōu)的組合,往往在調(diào)參的過程中痛苦而漫長的度過一天。如果有一種方式可以幫助工程師找到最優(yōu)的參數(shù)組合,那一定大有裨益,貝葉斯超參優(yōu)化就是其中的一種。如果是單單羅列公式,可能會顯得乏味,就用一些思考帶上公式為大家分享。
目前在研究Automated Machine Learning, 其中有一個子領(lǐng)域是實現(xiàn)網(wǎng)絡(luò)超參數(shù)自動化搜索,而常見的搜索方法有Grid Search、Random Search以及貝葉斯優(yōu)化搜索。前兩者很好理解,這里不會詳細介紹。
我們希望找到最佳的超參數(shù)配置,幫助我們在驗證/測試集的關(guān)鍵度量上得到最佳分數(shù)。
在計算力、金錢和時間資源有限的情況下,每個科學家和研究員都希望獲得最佳模型。但是我們?nèi)鄙儆行У某瑓?shù)搜索來實現(xiàn)這一目標。
?
Grid Search & Random Search
我們都知道神經(jīng)網(wǎng)絡(luò)訓練是由許多超參數(shù)決定的,例如網(wǎng)絡(luò)深度,學習率,卷積核大小等等。所以為了找到一個最好的超參數(shù)組合,最直觀的的想法就是Grid Search,其實也就是窮舉搜索,示意圖如下。
但是我們都知道機器學習訓練模型是一個非常耗時的過程,而且現(xiàn)如今隨著網(wǎng)絡(luò)越來越復(fù)雜,超參數(shù)也越來越多,以如今計算力而言要想將每種可能的超參數(shù)組合都實驗一遍(即Grid Search)明顯不現(xiàn)實,所以一般就是事先限定若干種可能,但是這樣搜索仍然不高效。
所以為了提高搜索效率,人們提出隨機搜索,示意圖如下。雖然隨機搜索得到的結(jié)果互相之間差異較大,但是實驗證明隨機搜索的確比網(wǎng)格搜索效果要好。
高斯過程
首先要知道什么是高斯過程,高斯過程也是正態(tài)分布,我們可以理解為一般世界的很多隨機事件都是遵循這樣的一個原則。比如買了1000次彩票,中獎的概率是多少,這就是一個典型的隨機過程。比如在20樓向下扔皮球,砸中美女的概率也是一個隨機過程。
在貝葉斯調(diào)參過程中,假設(shè)一組超參數(shù)組合是X=x1,x2,...,xn(xn表示某一個超參數(shù)的值),而這組超參數(shù)與最后我們需要優(yōu)化的損失函數(shù)存在一個函數(shù)關(guān)系,最終的評估結(jié)果為Y,通過什么樣的X可以取得最優(yōu)的Y,我們假設(shè)是f(X), Y=F(X)
而目前機器學習其實是一個黑盒子(black box),即我們只知道input和output,所以上面的函數(shù)f(x)很難確定。所以我們需要將注意力轉(zhuǎn)移到一個我們可以解決的函數(shù)上去.
?
?
于是可以假設(shè)這個尋找最優(yōu)化參數(shù)的過程是一個高斯過程。高斯過程有個特點,就是當隨機遍歷一定的數(shù)據(jù)點并拿到結(jié)果之后,可以大致繪制出整個數(shù)據(jù)的分布曲線。
?
上圖是一個高斯過程的圖,就像人生的曲線,起起伏伏,命運造化弄人,需要不斷地嘗試才能知道最終的結(jié)果。所以如果要找到完整的人生的曲線,需要不停地在每一個單點嘗試,直到真?zhèn)€曲線清晰。就知道做什么樣的事情,可以到達高谷,好比在超參優(yōu)化中就是什么樣的參數(shù)可以得到好的結(jié)果。
貝葉斯優(yōu)化的重要基礎(chǔ)理論就是不斷通過先驗點去預(yù)測后驗知識。
貝葉斯優(yōu)化理論
?
還是這張圖,把橫軸看作是參數(shù)組合X,縱軸看作是這個參數(shù)的結(jié)果Y。可以通過已經(jīng)構(gòu)建的曲線,找到曲線上升的方向,從而在這個方向上繼續(xù)探索,這樣就可以大概率拿到更好的結(jié)果。在生活的軌跡上,如果找到一條明確通往幸福的路,可以繼續(xù)向前探索,因為大概率可以成功,但也許也有會錯過更好的機會,陷入局部最優(yōu)解。請看上圖中的五角星,如果我們處于它的位置,繼續(xù)向上走會迎來一個高峰,但是如果后退,在下降一段時間之后可能會迎來更高的波峰,你該如何選擇。
于是,在參數(shù)的探索中要掌握一個平衡:
??? 開發(fā):在明確的曲線上揚方向繼續(xù)走,大概率獲得更好的結(jié)果,但是容易陷入局部最優(yōu)。
??? 探索:除了在曲線上揚的方向,在其它的區(qū)域也不忘尋找
總結(jié)一下,貝葉斯超參優(yōu)化跟生活很像,面對順境選擇繼續(xù)向前,還是勇敢的跳出現(xiàn)狀尋找更大的突破,這需要一個策略,在調(diào)參中這個策略可以自己定義一些方法去實現(xiàn)。把參數(shù)組合對結(jié)果的影響看作是一個高斯過程,把開發(fā)和探索的策略作為一個自定義函數(shù)去權(quán)衡,這就是貝葉斯超參帶給我們的啟迪。
?
?
參考:
https://blog.csdn.net/buptgshengod/article/details/81906225
總結(jié)
以上是生活随笔為你收集整理的[机器学习]超参数优化---贝叶斯优化(Bayesian Optimization) 理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主播用脑电波玩《艾尔登法环》,成功击败接
- 下一篇: 工信部等八部门组织开展全国范围内公共领域