Logistic

如何將迭代重加權最小二乘 (IRLS) 方法應用於 LASSO 模型?

  • October 12, 2010

我已經使用IRLS 算法編寫了邏輯回歸。我想應用LASSO 懲罰以自動選擇正確的功能。在每次迭代中,解決以下問題:

讓是一個非負實數。我沒有像The Elements of 中建議的那樣懲罰攔截。統計學習。同樣適用於已經為零的係數。否則,我從右側減去一個術語:

但是,我不確定 IRLS 算法的修改。這是正確的做法嗎?


編輯:雖然我對此沒有信心,但這是我最終想出的解決方案之一。有趣的是這個解決方案對應於我現在對 LASSO 的理解。每次迭代確實有兩個步驟,而不僅僅是一個:

  • 第一步與之前相同:我們對算法進行迭代(好像在上面的梯度公式中),
  • 第二步是新的:我們對每個組件應用一個軟閾值(除了組件,對應於向量的截距)第一步獲得。這稱為迭代軟閾值算法

這個問題通常通過坐標下降擬合來解決(見這裡)。這種方法在數值上更安全更有效,在算法上更容易實現並且適用於更通用的模型陣列(也包括 Cox 回歸)。R包**glmnet**中提供了 R 實現。這些代碼是開源的(部分在 C 中,部分在 R 中),因此您可以將它們用作藍圖。

引用自:https://stats.stackexchange.com/questions/3511

comments powered by Disqus