常見的超參數調優方法

學習器模型中一般有兩類參數,一類是可以從數據中學習估計得到,還有一類參數時無法從數據中估計,只能靠人的經驗進行設計指定,後者成爲超參數。比如,支持向量機裏面的C, Kernal, game;樸素貝葉斯里面的alpha等。

網格搜索

網格搜索通過查找搜索範圍內的所有的點來確定最優值,如果採用較大的搜索範圍和較小的步長,網格搜索有很大的概率找到全局最優值。但是隨着超參數的增加這種搜索方法十分消耗計算資源和時間,因此網格搜索一般會先使用較廣的搜索範圍和較大的步長,來尋找全局最優值可能的位置;然後再逐漸縮小搜索範圍和步長,來尋找更精確的最優值。這種操作方案可以降低所需的時間和計算量,但是由於目標函數一般是非凸的,所以很可能會錯過全局最優值。

隨機搜索

隨機搜索的思想與網格搜索比較相似,只是不再測試上界和下界之間的所有值,而是在搜索範圍中隨機選取樣本點,如果樣本點集足夠大,那麼通過隨機採樣也能大概率的找到全局最優值,或與其近似,隨機搜索一般要比網格搜索要快一些,但是和網格搜索的快速版一樣,它的結果也是每辦法保證的。

貝葉斯優化算法

貝葉斯優化算法在尋找最優值參數時,採用了與網格搜索、隨機搜索完全不同的方法。網格搜索和隨機搜索在測試一個新點時,會忽略前一個點的信息,而貝葉斯優化算法則充分利用了之前的信息。貝葉斯優化算法通過對目標函數形狀進行學習,找到使目標函數向全局最優值提升的參數。

貝葉斯優化算法首先根據先驗分佈,假設一個蒐集函數;然後,每一次使用新的採樣點來測試目標函數時,利用這個信息來更新目標函數的先驗分佈;最後,算法測試由後驗分佈給出的全局最值最可能出現的位置的點。

對於貝葉斯優化算法,一旦找到了一個局部最優值,他會在該區域不斷採樣,所以很容易陷入局部最優值,爲了彌補這個缺點,貝葉斯優化算法會在探索和利用之間找到一個平衡點,“探索”指的是在還未取樣的區域獲取採樣點,而“利用”則是根據後驗分佈在最可能出現全局最值的區域進行採樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章