AI新人必看 | 參數(shù)和超參數(shù)還分不清楚嗎?
計算機(jī)學(xué)科里有太多的術(shù)語,而且許多術(shù)語的使用并不一致。哪怕是相同的術(shù)語,不同學(xué)科的人理解一定有所不同。
比如說:“模型參數(shù)(model parameter)”和“模型超參數(shù)(model Hyperparameter)”。
對于初學(xué)者來說,這些沒有明確定義的術(shù)語肯定很令人困惑。尤其是對于些來自統(tǒng)計學(xué)或經(jīng)濟(jì)學(xué)領(lǐng)域的人。
我們來仔細(xì)研究一下這些條款。
什么是模型參數(shù)?
模型參數(shù)是模型內(nèi)部的配置變量,其值可以根據(jù)數(shù)據(jù)進(jìn)行估計。
- 模型在進(jìn)行預(yù)測時需要它們。
- 它們的值定義了可使用的模型。
- 他們是從數(shù)據(jù)估計或獲悉的。
- 它們通常不由編程者手動設(shè)置。
- 他們通常被保存為學(xué)習(xí)模型的一部分。
參數(shù)是機(jī)器學(xué)習(xí)算法的關(guān)鍵。它們通常由過去的訓(xùn)練數(shù)據(jù)中總結(jié)得出。
在經(jīng)典的機(jī)器學(xué)習(xí)文獻(xiàn)中,我們可以將模型看作假設(shè),將參數(shù)視為對特定數(shù)據(jù)集的量身打造的假設(shè)。
***化算法是估計模型參數(shù)的有效工具。
- 統(tǒng)計:在統(tǒng)計學(xué)中,您可以假設(shè)一個變量的分布,如高斯分布。高斯分布的兩個參數(shù)是平均值(μ)和標(biāo)準(zhǔn)偏差(西格瑪)。這適用于機(jī)器學(xué)習(xí),其中這些參數(shù)可以從數(shù)據(jù)中估算出來并用作預(yù)測模型的一部分。
- 編程:在編程中,您可以將參數(shù)傳遞給函數(shù)。在這種情況下,參數(shù)是一個函數(shù)參數(shù),它可能具有一個值范圍之一。在機(jī)器學(xué)習(xí)中,您使用的特定模型是函數(shù),需要參數(shù)才能對新數(shù)據(jù)進(jìn)行預(yù)測。
模型是否具有固定或可變數(shù)量的參數(shù)決定了它是否可以被稱為“參數(shù)”或“非參數(shù)”。
模型參數(shù)的一些示例包括:
- 神經(jīng)網(wǎng)絡(luò)中的權(quán)重。
- 支持向量機(jī)中的支持向量。
- 線性回歸或邏輯回歸中的系數(shù)。
什么是模型超參數(shù)?
模型超參數(shù)是模型外部的配置,其值無法從數(shù)據(jù)中估計。
- 它們通常用于幫助估計模型參數(shù)。
- 它們通常由人工指定。
- 他們通常可以使用啟發(fā)式設(shè)置。
- 他們經(jīng)常被調(diào)整為給定的預(yù)測建模問題。
我們雖然無法知道給定問題的模型超參數(shù)的***值,但是我們可以使用經(jīng)驗法則,在其他問題上使用復(fù)制值,或通過反復(fù)試驗來搜索***值。
當(dāng)機(jī)器學(xué)習(xí)算法針對特定問題進(jìn)行調(diào)整時(例如,使用網(wǎng)格搜索或隨機(jī)搜索時),那么正在調(diào)整模型的超參數(shù)或順序以發(fā)現(xiàn)導(dǎo)致最熟練的模型的參數(shù)預(yù)測。
- “許多模型有不能從數(shù)據(jù)直接估計的重要參數(shù)。例如,在K近鄰分類模型中......因為沒有可用于計算適當(dāng)值的分析公式,這種類型的模型參數(shù)被稱為調(diào)整參數(shù)。”
- 第64-65頁,《應(yīng)用預(yù)測模型》,2013
如果模型超參數(shù)被稱為模型參數(shù),會造成很多混淆。克服這種困惑的一個經(jīng)驗法則如下:
如果必須手動指定模型參數(shù),那么它可能是一個模型超參數(shù)。
模型超參數(shù)的一些例子包括:
- 訓(xùn)練神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率。
- 用于支持向量機(jī)的C和sigma超參數(shù)。
- K最近鄰的K。
總之,模型參數(shù)是根據(jù)數(shù)據(jù)自動估算的。但模型超參數(shù)是手動設(shè)置的,并且在過程中用于幫助估計模型參數(shù)。
模型超參數(shù)通常被稱為參數(shù),因為它們是必須手動設(shè)置和調(diào)整的機(jī)器學(xué)習(xí)的一部分。