對于很多算法工程師來說,超參數(shù)調(diào)優(yōu)是件非常頭疼的事,這項工作比較玄學。除了根據(jù)經(jīng)驗設(shè)定所謂的“合理值”之外,一般很難找到合理的方法去尋找超參數(shù)的最優(yōu)值。而與此同時,超參數(shù)對于模型效果的影響又至關(guān)重要。那么有沒有一些可行的辦法進行超參數(shù)調(diào)優(yōu)呢?
超參數(shù)調(diào)優(yōu)的方法
為了進行超參數(shù)調(diào)優(yōu),我們一般會采用網(wǎng)格搜索、隨機搜索以及貝葉斯等算法。在具體介紹算法之前,需要明確超參數(shù)搜索算法一般包括哪幾個要素。一是目標函數(shù),即算法需要最大化/最小化的目標;二是搜索范圍,一般通過上限和下限來確定;三是算法的其它參數(shù),如搜索步長等。
1. 網(wǎng)格搜索
網(wǎng)格搜索可能是最簡單、應(yīng)用最廣泛的超參數(shù)搜索算法,它通過查找搜索范圍內(nèi)的所有的點來確定最優(yōu)值。如果采用較大的搜索范圍以及較小的步長,網(wǎng)格搜索有很大的概率找到全局最優(yōu)值。然而,這種搜索方法十分消耗計算資源和時間,特別是需要調(diào)優(yōu)的超參數(shù)比較多的時候。因此,在實際應(yīng)用中,網(wǎng)格搜索法一般會先使用較廣的搜索范圍和較大的步長,來尋找全局最優(yōu)值可能的位置;然后會逐漸縮小搜索范圍和步長,來尋找更精確的最優(yōu)值。這種操作方案可以降低所需的時間和計算量,但由于目標函數(shù)一般是非凸的,所以很可能會錯過全局最優(yōu)值。
2. 隨機搜索
隨機搜索的思想與網(wǎng)格搜索比較相似,只是不再測試上界和下界之間的所有值,而是在搜索范圍中隨機選取樣本點。它的理論依據(jù)是,如果樣本點集足夠大,那么通過隨機采樣也能大概率地找到全局最優(yōu)值或其近似值。隨機搜索一般會比網(wǎng)格搜索要快一些,但是和網(wǎng)格搜索的快速版一樣,它的結(jié)果也是沒法保證的。
3. 貝葉斯優(yōu)化算法
貝葉斯優(yōu)化算法在尋找最優(yōu)最值參數(shù)時,采用了與網(wǎng)格搜索、隨機搜索完全不同的方法。網(wǎng)格搜索和隨機搜索在測試一個新點時,會忽略前一個點的信息;而貝葉斯優(yōu)化算法則充分利用了之前的信息。貝葉斯優(yōu)化算法通過對目標函數(shù)形狀進行學習,找到使目標函數(shù)向全局最優(yōu)值提升的參數(shù)。具體來說,它學習目標函數(shù)形狀的方法是,首先根據(jù)先驗分布,假設(shè)一個搜索函數(shù);然后,每一次使用新的采樣點來測試目標函數(shù)時,利用這個信息來更新目標函數(shù)的先驗分布;最后,算法測試由后驗分布給出的全局最值最可能出現(xiàn)的位置的點。對于貝葉斯優(yōu)化算法,有一個需要注意的地方,一旦找到一個局部最優(yōu)值,它會在該區(qū)域不斷采樣,所以很容易陷入局部最優(yōu)值。為了彌補這個缺陷,貝葉斯優(yōu)化算法會在探索和利用之間找到一個平衡點,“探索”就是在還未取樣的區(qū)域獲取采樣點;而“利用”則是根據(jù)后驗分布在最可能出現(xiàn)全局最值的區(qū)域進行采樣。
-
機器學習
+關(guān)注
關(guān)注
66文章
8499瀏覽量
134315
發(fā)布評論請先 登錄
手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)
Kaggle知識點:7種超參數(shù)搜索方法

xgboost超參數(shù)調(diào)優(yōu)技巧 xgboost在圖像分類中的應(yīng)用
cmp在機器學習中的作用 如何使用cmp進行數(shù)據(jù)對比
MCF8316A調(diào)優(yōu)指南

MCT8316A調(diào)優(yōu)指南

MCT8315A調(diào)優(yōu)指南

TDA3xx ISS調(diào)優(yōu)和調(diào)試基礎(chǔ)設(shè)施

智能調(diào)優(yōu),使步進電機安靜而高效地運行

MMC SW調(diào)優(yōu)算法

TAS58xx系列通用調(diào)優(yōu)指南

AM6xA ISP調(diào)優(yōu)指南

OSPI控制器PHY調(diào)優(yōu)算法

評論