引數與超引數

2021-09-10 22:49:48 字數 1481 閱讀 3315

模型引數是模型內部的配置變數,可以用資料估計模型引數的值;模型超引數是模型外部的配置,必須手動設定引數的值。

具體來講,模型引數有以下特徵:

進行模型**時需要模型引數。

模型引數值可以定義模型功能。

模型引數用資料估計或資料學習得到。

模型引數一般不由實踐者手動設定。

模型引數通常作為學習模型的一部分儲存。

通常使用優化演算法估計模型引數,優化演算法是對引數的可能值進行的一種有效搜尋。

模型引數的一些例子包括:

人造神經網路中的權重。

支援向量機中的支援向量。

線性回歸或邏輯回歸中的係數。

超引數,就是機器學習模型裡面的框架引數,比如聚類方法裡面類的個數,或者話題模型裡面話題的個數等等,都稱為超引數。它們跟訓練過程中學習的引數(權重)是不一樣的,超引數通常是手工設定,不斷試錯調整,或者對一系列窮舉出來的引數組合一通列舉(叫做網格搜尋)。所以說,當乙個引數設定為超引數時候,也就意味著它不需要程式學習過程中對於這個引數進行自我優化。

具體特徵有:

模型超引數常應用於估計模型引數的過程中。

模型超引數通常由實踐者直接指定。

模型超引數通常可以使用啟發式方法來設定。

模型超引數通常根據給定的**建模問題而調整。

怎樣得到它的最優值: 對於給定的問題,我們無法知道模型超引數的最優值。但我們可以使用經驗法則來探尋其最優值,或複製用於其他問題的值,也可以通過反覆試驗的方法。

模型超引數的一些例子包括:

訓練神經網路的學習速率。

支援向量機的c和sigma超引數。

k鄰域中的k。

如果在訓練集上學習,那麼超引數總是趨於最大容量而導致過擬合。所以為了平衡控制超引數,我們會設定乙個演算法不可能觀測到的樣本,稱之為驗證集。用於挑選超引數的集合稱之為驗證集。所以在整個訓練樣本中,八成是訓練資料,兩成用於驗證集。通常來說,驗證集的誤差會小於訓練集的誤差。

當資料被分為訓練集和固定的測試集之後,測試集的誤差過小也是乙個問題。因為這意味著在大尺度上的平均測試誤差有更高的統計不確定性,繼而很難判斷不同演算法之間在特定任務上的優劣性。所以我們會做乙個事情叫做交叉驗證。從字面意思上理解,這個驗證是通過基於原始資料上隨機取樣得出的不同資料集來進行重複訓練與測試。當然你可能覺得這樣有什麼效果嗎?當然是有效果的,想想自己,當自己在高中時期老師讓讀完數學課本,然後拿著數學課本上的題來考的時候都會有人不會做,特別是高三總複習那段時期,隨機組合的不同板塊的測試都能讓你緊張。有的人怎麼考都可以,這就是優秀的演算法a,有的人單獨學習時候可以,綜合起來考試就有點懵,這就是一般演算法b,有的人說是看了書,但是一到考試就懵,這就是不好的演算法c。這裡最常見的就是k-折交叉驗證過程,就是說把整個資料分為k個不重合的子集,測試誤差就可以預估為k次計算之後的平均誤差。那麼第i次測試的時候,資料的第i個子集就用於測試集,其餘資料用於訓練集。這樣的操作帶來的好處就是每次都會採用不同的訓練集和測試集,保證資料的充分利用。

引數與超引數

計算機學科裡有太多的術語,而且許多術語的使用並不一致。哪怕是相同的術語,不同學科的人理解一定有所不同。比如說 模型引數 model parameter 和 模型超引數 model hyperparameter 對於初學者來說,這些沒有明確定義的術語肯定很令人困惑。尤其是對於些來自統計學或經濟學領域的...

模型引數與模型超引數

模型引數是模型內部的配置變數,其值可以根據資料進行估計。模型在進行 時需要它們。它們的值定義了可使用的模型。他們是從資料估計或獲悉的。它們通常不由程式設計者手動設定。他們通常被儲存為學習模型的一部分。引數是機器學習演算法的關鍵。它們通常由過去的訓練資料中總結得出。在經典的機器學習文獻中,我們可以將模...

引數和超引數

舉例說明一些機器學習演算法中的普通引數和超引數 機器學習演算法 普通引數舉例 超引數舉例 決策樹在每個節點上選擇的輸入變數 每個節點上選擇的閾值 每個葉節點所應包括的最少資料量,訓練後的剪枝 pruning 策略 隨機森林 同上決策樹的數量,輸入變數的數量 支援向量機 支援向量 support ve...