定義
在機器學習的上下文中,超參數是在開始學習過程之前設定值的參數。 相反,其他參數的值通過訓練得出。
超參數:
•定義關於模型的更高層次的概念,如複雜性或學習能力。
•不能直接從標準模型培訓過程中的數據中學習,需要預先定義。
•可以通過設定不同的值,訓練不同的模型和選擇更好的測試值來決定
超參數的一些示例:
•樹的數量或樹的深度
•矩陣分解中潛在因素的數量
•學習率(多種模式)
•深層神經網路隱藏層數
•k均值聚類中的簇數
超參數的最佳化問題
超參數最佳化或模型選擇是為學習算法選擇一組最優超參數時的問題,通常目的是最佳化算法在獨立數據集上的性能的度量。 通常使用交叉驗證來估計這種泛化性能。 超參數最佳化與實際的學習問題形成對比,這些問題通常也被轉化為最佳化問題,但是最佳化了訓練集上的損失函式。 實際上,學習算法學習可以很好地建模/重建輸入的參數,而超參數最佳化則是確保模型不會像通過正則化一樣通過調整來過濾其數據。
格線搜尋
執行超參數最佳化的傳統方法是格線搜尋或參數掃描,這僅僅是通過學習算法的超參數空間的手動指定子集的詳盡搜尋。 格線搜尋算法必須由某些性能度量指導,通常通過訓練集合 上的交叉驗證或對被保留驗證集進行評估來衡量。
由於機器學習者的參數空間可能包括某些參數的實值或無界值空間,因此在套用格線搜尋之前可能需要手動設定邊界和離散化。
貝葉斯最佳化
貝葉斯最佳化包括從超參數值到在驗證集上評估的目標的功能的統計模型。直觀上,該方法假設有一些平滑但嘈雜的功能,作為從超參數到目標的映射。在貝葉斯最佳化中,一個目的是收集觀察結果,以便儘可能少地顯示機器學習模型的次數,同時儘可能多地顯示關於該功能的信息,特別是最佳位置。貝葉斯最佳化依賴於假設一個非常普遍的先驗函式,當與觀察到的超參數值和相應的輸出結合時,產生函式分布。該方法通過疊代地選擇超參數來觀察(實驗運行),以拋售(結果最不確定的超參數)和利用(預期具有良好結果的超參數)的方式。實際上,貝葉斯最佳化已經被證明 ,因為在實驗的質量運行之前,能夠對格線搜尋和隨機搜尋進行更少的實驗獲得更好的結果。
隨機搜尋
由於格線搜尋是一種窮盡且潛在昂貴的方法,因此已經提出了幾種替代方案。 特別地,已經發現,簡單地對參數設定進行固定次數的隨機搜尋,比在窮舉搜尋中的高維空間更有效。 這是因為事實證明,一些超參數不會顯著影響損失。 因此,隨機分散的數據給出了比最終不影響損失的參數的詳盡搜尋更多的“紋理”數據。
基於梯度的最佳化
對於特定的學習算法,可以計算相對於超參數的梯度,然後使用梯度下降最佳化超參數。 這些技術的第一次使用集中在神經網路 從那時起,這些方法已經擴展到其他模型,如支持向量機 或邏輯回歸 。