LASSOモデルに反復再加重最小二乗法(IRLS)を適用する方法は?
IRLSアルゴリズムを使用してロジスティック回帰をプログラムしました。適切な機能を自動的に選択するために、LASSOペナルティを適用したいと思います。各反復で、以下が解決されます。 (XTWX)δβ^=XT(y−p)(XTWX)δβ^=XT(y−p)\mathbf{\left(X^TWX\right) \delta\hat\beta=X^T\left(y-p\right)} してみましょうλλ\lambda非負実数であること。The Elementsで提案されているように、インターセプトにペナルティを課していません。統計学習。すでにゼロの係数についても同様です。そうでなければ、右側から項を引きます: XT(y−p)−λ×sign(β^)XT(y−p)−λ×sign(β^)\mathbf{X^T\left(y-p\right)-\lambda\times \mathrm{sign}\left(\hat\beta\right)} ただし、IRLSアルゴリズムの変更については不明です。それは正しい方法ですか? 編集:私はそれについて自信がありませんでしたが、ここで私がついに思いついた解決策の一つです。興味深いのは、このソリューションがLASSOについて私が今理解していることに対応していることです。実際、各反復には1つではなく2つのステップがあります。 最初のステップは以前と同じです:アルゴリズムの反復を行います(上の勾配の式でように)、λ=0λ=0\lambda=0 第二のステップは、新しいものである:我々は、(成分以外の各構成要素に軟判定閾値を適用ベクトルの切片に相当)β第一工程で得られました。これは、反復ソフトしきい値アルゴリズムと呼ばれます。β0β0\beta_0ββ\beta ∀i≥1,βi←sign(βi)×max(0,|βi|−λ)∀i≥1,βi←sign(βi)×max(0,|βi|−λ)\forall i \geq 1, \beta_{i}\leftarrow\mathrm{sign}\left(\beta_{i}\right)\times\max\left(0,\,\left|\beta_{i}\right|-\lambda\right)