機器學習填坑:你知道模型參數和超參數之間的區別嗎?
導語
機器學習中的模型參數和模型超參數在作用、來源等方面都有所不同,而模型超參數常被稱為模型參數,這樣,很容易對初學者造成混淆。本文給出了模型參數和模型超參數的定義,并進行了對比,指出了二者本質上的區別:模型參數是模型內部的配置變量,可以用數據估計模型參數的值;模型超參數是模型外部的配置,必須手動設置參數的值。
我們在做研究的時候,會碰到很多術語。有時,在不同的研究領域還會出現同樣名稱的術語。比如,統計學、經濟學中經常使用的“模型參數”和“模型超參數”,在機器學習中也同樣存在。
機器學習領域中的“模型參數”“模型超參數”在作用、來源等方面都有所不同,初學者如果對二者沒有明確的認識,學習起來往往會比較吃力,尤其是那些來自統計學和經濟學領域的初學者們。
為了讓大家在應用機器學習時,對“參數模型”和“超參數模型”有一個清晰的界定,在這篇文章中,我們將具體討論這兩個術語。
首先,我們來看一下“參數”是什么?
參數作為模型從歷史訓練數據中學到的一部分,是機器學習算法的關鍵。
統計學中的“參數”:
在統計學中,你可以假設一個變量的分布,比如高斯分布。高斯分布的兩個參數分別是平均值(μ)和標準差(sigma)。這在機器學習中是有效的,其中這些參數可以用數據估計得到并用作預測模型的一部分。
編程中的“參數”:
編程中可以將參數傳遞給函數。在這種情況下,參數是一個函數參數,可以有一個值范圍。在機器學習中,您正在使用的具體模型就是函數,需要參數才能對新數據進行預測。
“參數”和“模型”有什么關系?
根據經典的機器學習文獻,可以將模型看作假設,而參數是根據特定的數據集對假設進行的具體調整。
模型是否具有固定或可變數量的參數,決定了模型是“參數”模型或“非參”模型。
什么是模型參數?
簡單來說,模型參數就是模型內部的配置變量,可以用數據估計它的值。
具體來講,模型參數有以下特征:
- 進行模型預測時需要模型參數。
- 模型參數值可以定義模型功能。
- 模型參數用數據估計或數據學習得到。
- 模型參數一般不由實踐者手動設置。
- 模型參數通常作為學習模型的一部分保存。
通常使用優化算法估計模型參數,優化算法是對參數的可能值進行的一種有效搜索。
模型參數的一些例子包括:
- 人造神經網絡中的權重。
- 支持向量機中的支持向量。
- 線性回歸或邏輯回歸中的系數。
什么是模型超參數?
模型超參數是模型外部的配置,其值不能從數據估計得到。
具體特征有:
- 模型超參數常應用于估計模型參數的過程中。
- 模型超參數通常由實踐者直接指定。
- 模型超參數通常可以使用啟發式方法來設置。
- 模型超參數通常根據給定的預測建模問題而調整。
怎樣得到它的***值:對于給定的問題,我們無法知道模型超參數的***值。但我們可以使用經驗法則來探尋其***值,或復制用于其他問題的值,也可以通過反復試驗的方法。
模型超參數的一些例子包括:
- 訓練神經網絡的學習速率。
- 支持向量機的C和sigma超參數。
- k鄰域中的k。
“模型參數”和“模型超參數”
二者的聯系:
當針對特定問題調整機器學習算法時,例如在使用網格搜索或隨機搜索時,你將調整模型或命令的超參數,以發現一個可以使模型預測最熟練的模型參數。許多模型中重要的參數無法直接從數據中估計得到。例如,在K近鄰分類模型中…這種類型的模型參數被稱為調整參數,因為沒有可用的分析公式來為其計算一個合適的值。
– 第64-65頁,應用預測建模,2013
區分:
模型超參數通常被稱為模型參數,這種叫法很容易讓人產生誤解。解決這個問題的一個很好的經驗法則如下:如果你必須手動指定一個“模型參數”,那么它可能就是一個模型超參數。
總結
讀完這篇文章可以了解模型參數和模型超參數的明確定義和區別。
總而言之,模型參數是從數據中自動估計的,而模型超參數是手動設置的,并用于估計模型參數的過程。