Lasso
在 LASSO 中選擇正則化參數的範圍和網格密度
與此同時,我正在研究LASSO(最小絕對收縮和選擇算子)。我看到可以通過交叉驗證選擇正則化參數的最佳值。我還在嶺回歸和許多應用正則化的方法中看到,我們可以使用 CV 來找到最佳正則化參數(比如懲罰)。現在我的問題是關於參數上限和下限的初始值以及如何確定序列的長度。
具體來說,假設我們有一個 LASSO 問題
我們想找到懲罰的最佳值,. 那麼我們如何選擇下限和上限? 以及這兩個值之間的分割數?
該方法在 glmnet 論文Regularization Paths for Generalized Linear Models via Coordinate Descent中進行了描述。雖然這裡的方法是針對兩者的一般情況和正則化,它應該適用於 LASSO(僅) 也是如此。
最大的解決方案在第 2.5 節中給出。
什麼時候,我們從(5)中看到如果. 因此
也就是說,我們觀察到 beta 的更新規則強制所有參數估計為零如上所述。
的確定並且網格點的數量似乎不太有原則。在 glmnet 他們設置,然後選擇一個網格對數刻度上的等距點。
這在實踐中效果很好,在我廣泛使用 glmnet 時,我從未發現這個網格太粗糙。
在套索 () 僅在情況下效果更好,因為LARS方法為各種預測變量何時進入模型提供了精確計算。真正的 LARS 不會進行網格搜索,而是為係數的解路徑生成精確表達式。 下面詳細介紹了兩個預測變量情況下係數路徑的精確計算。
非線性模型(即邏輯、泊松)的情況更加困難。在高層次上,首先在初始參數處獲得損失函數的二次近似, 然後用上面的計算來確定. 在這些情況下,無法精確計算參數路徑,即使僅當提供了正則化,因此網格搜索是唯一的選擇。
樣品重量也使情況復雜化,必須在適當的地方用稱重的內積替換內積。