為了進行超引數調優,我們一般會採用網格搜尋、隨機搜尋、貝葉斯優化等演算法。在具體介紹演算法之前,需要明確超引數搜尋演算法一般包括哪幾個要素。一是目標函式,即演算法需要最大化/最小化的目標;二是搜尋範圍,一般通過上限和下限來確定;三是演算法的其他引數,如搜尋步長。
網格搜尋可能是最簡單、應用最廣泛的超引數搜尋演算法,它通過查詢搜尋範圍內的所有的點來確定最優值。如果採用較大的搜尋範圍以及較小的步長,網格搜尋有很大概率找到全域性最優值。然而,這種搜尋方案十分消耗計算資源和時間,特別是需要調優的超引數比較多的時候。因此,在實際應用中,網格搜尋法一般會先使用較廣的搜尋範圍和較大的步長,來尋找全域性最優值可能的位置;然後會逐漸縮小搜尋範圍和步長,來尋找更精確的最優值。這種操作方案可以降低所需的時間和計算量,但由於目標函式一般是非凸的,所以很可能會錯過全域性最優值。
隨機搜尋的思想與網格搜尋比較相似,只是不再測試上界和下界之間的所有值,而是在搜尋範圍中隨機選取樣本點。它的理論依據是,如果樣本點集足夠大,那麼通過隨機取樣也能大概率地找到全域性最優值,或其近似值。隨機搜尋一般會比網格搜尋要快一些,但是和網格搜尋的快速版一樣,它的結果也是沒法保證的。
貝葉斯優化演算法在尋找最優最值引數時,採用了與網格搜尋、隨機搜尋完全不同的方法。網格搜尋和隨機搜尋在測試乙個新點時,會忽略前乙個點的資訊;而貝葉斯優化演算法則充分利用了之前的資訊。貝葉斯優化演算法通過對目標函式形狀進行學習,找到使目標函式向全域性最優值提公升的引數。具體來說,它學習目標函式形狀的方法是,首先根據先驗分布,假設乙個蒐集函式;然後,每一次使用新的取樣點來測試目標函式時,利用這個資訊來更新目標函式的先驗分布;最後,演算法測試由後驗分布給出的全域性最值最可能出現的位置的點。對於貝葉斯優化演算法,有乙個需要注意的地方,一旦找到了乙個區域性最優值,它會在該區域不斷取樣,所以很容易陷入區域性最優值。為了彌補這個缺陷,貝葉斯優化演算法會在探索和利用之間找到乙個平衡點,「探索」就是在還未取樣的區域獲取取樣點;而「利用」則是根據後驗分布在最可能出現全域性最值的區域進行取樣。
超引數調優方法
超引數搜尋演算法一般包括以下要素 目標函式,即演算法需要最大化 最小化的目標 搜尋範圍,一般通過上限和下限來確定 演算法的其他引數 最簡單,應用最廣泛的超引數搜尋演算法 通過查詢搜尋範圍內的所有的點來確定最優值 如果採用較大的搜尋範圍以及較小的步長,網格搜尋有很大概率找到全域性最優值 這種搜尋方案十...
超引數調優
使用最廣泛的超引數調優方法 查詢搜尋給定範圍內的所有的點,來確定最優值。理論上,給定較大範圍和較小步長,網格搜尋可以找到全域性最優點。理想用法 對所有需要調優的超引數設定較大範圍和較小步長,對所有引數組合進行網格搜尋,得出全域性最優。缺點 但實際上卻因為資源和時間的極大開銷導致難以實現。實際用法 先...
常見的超引數調優方法
學習器模型中一般有兩類引數,一類是可以從資料中學習估計得到,還有一類引數時無法從資料中估計,只能靠人的經驗進行設計指定,後者成為超引數。比如,支援向量機裡面的c,kernal,game 樸素貝葉斯裡面的alpha等。網格搜尋通過查詢搜尋範圍內的所有的點來確定最優值,如果採用較大的搜尋範圍和較小的步長...