機(jī)器學(xué)習(xí)超參調(diào)優(yōu):常用八種方法
機(jī)器學(xué)習(xí)算法需要用戶定義的輸入來實(shí)現(xiàn)準(zhǔn)確性和通用性之間的平衡。這個(gè)過程稱為超參數(shù)調(diào)整。有多種工具和方法可用于調(diào)整超參數(shù)。
我們整理了一份用于調(diào)整機(jī)器學(xué)習(xí)模型超參數(shù)的前八種方法的列表。
1.貝葉斯優(yōu)化
貝葉斯優(yōu)化已成為機(jī)器學(xué)習(xí)算法超參數(shù)調(diào)整的有效工具,更具體地說,適用于深度神經(jīng)網(wǎng)絡(luò)等復(fù)雜模型。它提供了一個(gè)有效的框架來優(yōu)化昂貴的黑盒功能,而無需知道它的形式。它已應(yīng)用于多個(gè)領(lǐng)域,包括學(xué)習(xí)最優(yōu)機(jī)器人力學(xué)、序列實(shí)驗(yàn)設(shè)計(jì)和合成基因設(shè)計(jì)。
2.遺傳算法
遺傳算法 (EA) 是一種優(yōu)化算法,它通過根據(jù)稱為算子的某些規(guī)則修改一組候選解決方案(種群)來工作。EA 的主要優(yōu)勢(shì)之一是它們的通用性:這意味著 EA 可以在廣泛的條件下使用,因?yàn)樗鼈兒?jiǎn)單且獨(dú)立于潛在問題。在超參數(shù)調(diào)整問題中,遺傳算法已被證明比基于精度/速度的網(wǎng)格搜索技術(shù)表現(xiàn)更好。
3.基于梯度的優(yōu)化
基于梯度的優(yōu)化是一種優(yōu)化多個(gè)超參數(shù)的方法,基于機(jī)器學(xué)習(xí)模型選擇標(biāo)準(zhǔn)相對(duì)于超參數(shù)的梯度計(jì)算。當(dāng)滿足訓(xùn)練標(biāo)準(zhǔn)的一些可微性和連續(xù)性條件時(shí),可以應(yīng)用這種超參數(shù)調(diào)整方法。
4.網(wǎng)格搜索
網(wǎng)格搜索是超參數(shù)調(diào)優(yōu)的基本方法。它對(duì)用戶指定的超參數(shù)集執(zhí)行詳盡的搜索。這種方法是最直接的導(dǎo)致最準(zhǔn)確的預(yù)測(cè)。使用這種調(diào)優(yōu)方法,用戶可以找到最佳組合。網(wǎng)格搜索適用于幾個(gè)超參數(shù),但是搜索空間有限。
5.Keras Tuner
Keras Tuner是一個(gè)庫,允許用戶為機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型找到最佳超參數(shù)。該庫有助于查找內(nèi)核大小、優(yōu)化學(xué)習(xí)率和不同的超參數(shù)。Keras Tuner可用于為各種深度學(xué)習(xí)模型獲取最佳參數(shù),以實(shí)現(xiàn)最高精度。
6.基于種群的優(yōu)化
基于種群的方法本質(zhì)上是一系列基于隨機(jī)搜索(如遺傳算法)的方法。最廣泛使用的基于種群的方法之一是 DeepMind 提出的基于種群的訓(xùn)練(PBT)。PBT在兩個(gè)方面,是一種獨(dú)特的方法:
- 它允許在訓(xùn)練期間使用自適應(yīng)超參數(shù)
- 它結(jié)合了并行搜索和順序優(yōu)化
7.ParamILS
ParamILS(參數(shù)配置空間中的迭代局部搜索)是一種用于自動(dòng)算法配置的通用隨機(jī)局部搜索方法。ParamILS 是一種自動(dòng)算法配置方法,有助于開發(fā)高性能算法及其應(yīng)用程序。
ParamILS 使用默認(rèn)和隨機(jī)設(shè)置進(jìn)行初始化,并采用迭代第一改進(jìn)作為輔助本地搜索過程。它還使用固定數(shù)量的隨機(jī)移動(dòng)來進(jìn)行擾動(dòng),并且總是接受更好或同樣好的參數(shù)配置,但會(huì)隨機(jī)重新初始化搜索。
8.隨機(jī)搜索
隨機(jī)搜索可以說是對(duì)網(wǎng)格搜索的基本改進(jìn)。該方法是指對(duì)可能參數(shù)值的某些分布的超參數(shù)進(jìn)行隨機(jī)搜索。搜索過程繼續(xù)進(jìn)行,直到達(dá)到所需的精度。隨機(jī)搜索類似于網(wǎng)格搜索,但已證明比后者創(chuàng)建更好的結(jié)果。該方法通常被用作 HPO 的基線來衡量新設(shè)計(jì)算法的效率。盡管隨機(jī)搜索比網(wǎng)格搜索更有效,但它仍然是一種計(jì)算密集型方法。