Hyperparameters

2022-06-23 15:33:37 字數 1934 閱讀 5759

引數是機器學習演算法的關鍵。它們通常由過去的訓練資料中總結得出。在經典的機器學習文獻中,我們可以將模型看作假設,將引數視為對特定資料集的量身打造的假設。

模型是否具有固定或可變數量的引數決定了它是否可以被稱為“引數”或“非引數”。

模型引數是根據資料自動估算的。但模型超引數是手動設定的,並且在過程中用於幫助估計模型引數。

我們雖然無法知道給定問題的模型超引數的最佳值,但是我們可以使用經驗法則,在其他問題上使用複製值,或通過反覆試驗來搜尋最佳值。

如果必須手動指定模型引數,那麼它可能是一個模型超引數。

在機器學習的上下文中,超引數是在開始學習過程之前設定值的引數。 相反,其他引數的值通過訓練得出。通常情況下,需要對超引數進行優化,給學習機選擇一組最優超引數,以提高學習的效能和效果。

超引數:定義關於模型的更高層次的概念,如複雜性或學習能力。

不能直接從標準模型培訓過程中的資料中學習,需要預先定義。

可以通過設定不同的值,訓練不同的模型和選擇更好的測試值來決定

超引數的一些示例:

超引數優化或模型選擇是為學習演算法選擇一組最優超引數時的問題,通常目的是優化演算法在獨立資料集上的效能的度量。 通常使用交叉驗證來估計這種泛化效能。

超引數優化與實際的學習問題形成對比,這些問題通常也被轉化為優化問題,但是優化了訓練集上的損失函式。

實際上,學習演算法學習可以很好地建模/重建輸入的引數,而超引數優化則是確保模型不會像通過正則化一樣通過調整來過濾其資料。

執行超引數優化的傳統方法是網格搜尋或引數掃描,這僅僅是通過學習演算法的超引數空間的手動指定子集的詳盡搜尋。 網格搜尋演算法必須由某些效能度量指導,通常通過訓練集合上的交叉驗證或對被保留驗證集進行評估來衡量。

由於機器學習者的引數空間可能包括某些引數的實值或無界值空間,因此在應用網格搜尋之前可能需要手動設定邊界和離散化。

貝葉斯優化包括從超引數值到在驗證集上評估的目標的功能的統計模型。直觀上,該方法假設有一些平滑但嘈雜的功能,作為從超引數到目標的對映。在貝葉斯優化中,一個目的是收集觀察結果,以便儘可能少地顯示機器學習模型的次數,同時儘可能多地顯示關於該功能的資訊,特別是最佳位置。貝葉斯優化依賴於假設一個非常普遍的先驗函式,當與觀察到的超引數值和相應的輸出結合時,產生函式分佈。該方法通過迭代地選擇超引數來觀察(實驗執行),以拋售(結果最不確定的超引數)和利用(預期具有良好結果的超引數)的方式。實際上,貝葉斯優化已經被證明 ,因為在實驗的質量執行之前,能夠對網格搜尋和隨機搜尋進行更少的實驗獲得更好的結果。

對於特定的學習演算法,可以計算相對於超引數的梯度,然後使用梯度下降優化超引數。 這些技術的第一次使用集中在神經網路。從那時起,這些方法已經擴充套件到其他模型,如支援向量機或邏輯迴歸 。

首先,需要說明一點的是,訓練集(training set)、驗證集(validation set)和測試集(test set)本質上並無區別,都是把一個資料集分成三個部分而已,都是(feature,label)造型。尤其是訓練集與驗證集,更無本質區別。

測試集可能會有一些區別,比如在一些權威計算機視覺比賽中,測試集的標籤是private的,也就是參賽者看不到測試集的標籤,可以把**的標籤交給大賽組委會,他們根據你提交的**標籤來評估參賽者模式識別系統的好壞,以防作弊。

【訓練集】:每個樣本都是(feature,label)造型,用來訓練模式識別系統。

【驗證集】:在訓練集上訓練好系統後,有些引數是不可學習的,需要人為設定的,比如支援向量機svm中的超引數鬆弛引數c。但是人為設定可能不是最優的,怎樣尋找最優的這個引數呢?這就需要驗證集。在驗證集上不斷除錯這個人為設定的超引數,直到在驗證集上得到的結果滿意為止,這一步通常採用驗證集上的交叉驗證來確定最優超引數。需要人為設定的超引數確定後,到此這個系統的所有引數都確定了,然後看一下這個系統在測試集上的效果怎麼樣。

【測試集】:用來最終評估模式識別系統的效能。

需要注意的是,當整個模式識別系統中沒有需要人為設定的超引數,所有引數都是通過學習得到的,則不需要驗證集,訓練集和測試集就夠了。

參考:

超引數 hyperparameters

超引數的定義 在機器學習的上下文中,超引數是在開始學習過程之前設定值的引數,而不是通過訓練得到的引數資料。通常情況下,需要對超引數進行優化,給學習機選擇一組最優超引數,以提高學習的效能和效果。 理解 超引數也是一個引數,是一個未知變數,但是它不同於在訓練過程中的引數,它是可以對訓練得到的引數有影響的...