閉じた形のなげなわ解の導出


52

投げ縄の問題については そのように\ベータ\ | | \ _1 \当量トン。ソフトしきい値の結果が頻繁に表示されます \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn}(\ beta ^ {\ text {LS}} _ j)(| \ beta_j ^ {\ text {LS}} | -\ gamma)^ + 正規直交Xの場合。ソリューションがそのように「簡単に示される」ことができると主張されていますが、有効なソリューションを見たことはありません。誰かが1つを見た、またはおそらく派生させたことがありますか?minβ(YXβ)T(YXβ)β1t

βjlasso=sgn(βjLS)(|βjLS|γ)+
X

これは少し混乱しているようです。最初に制約tを仮定tし、ソリューションではパラメーター\ gammaを導入しますγ。これら2つの問題は、二重の問題を介して関連していると思われますが、探しているものを明確にできるかもしれません。
枢機

2
@cardinalに部分的に応答し、(YX \ beta) '(YX \ beta)を最小化するβを見つけることは、\ | \ beta \ | _1 \ leq tの対象になり、(YX \ beta)を最小化する\ betaを見つけることと同じです。(YX \ beta)+ \ gamma \ sum_j | \ beta_j | t\ gammaの間には1対1の関係があります。ソフトしきい値の結果がそうなる理由を「簡単に」見るために、2番目の式を解くことをお勧めします(私のコメント)。(YXβ)(YXβ)β1tβ(YXβ)(YXβ)+γj|βj|tγ

2
別のノート、発見βその最小化(YXβ)(YXβ)+γj|βj|、問題をβj>0βj<0、および\ beta = 0のケースに分割しますβ=0

2
@cardinalああ、1-1は間違っています。修正:すべてのt0について、\ gamma \ geq 0を見つけることができますγ0

3
素晴らしい議論をありがとう!コースラでこのビデオに出会いました- 投げ縄座標降下更新の導出は、この議論に非常に関連があり、ソリューションを非常にエレガントに説明します。将来の訪問者に役立つかもしれません:
zorbar

回答:


64

これは、Karush–Kuhn–Tucker条件を介したかなり経済的なアプローチなど、さまざまな方法で攻撃できます。

以下は非常に基本的な代替引数です。

直交設計の最小二乗ソリューション

仮定直交列で構成されています。そして、最小二乗解は X

β^LS=(XTX)1XTy=XTy.

いくつかの同等の問題

ラグランジアン形式を介して、質問で考慮される問題と同等の問題がであることがわかります

minβ12yXβ22+γβ1.

最初の項を展開すると、られ、は何も含まれていません興味のある変数のうち、それを破棄して、さらに別の同等の問題、 12yTyyTXβ+12βTβyTy

minβ(yTXβ+12β2)+γβ1.

注目その、以前の問題を書き換えることができるよう β^LS=XTy

minβi=1pβ^iLSβi+12βi2+γ|βi|.

現在、目的関数は目的の合計であり、それぞれが別個の変数に対応しているため、それぞれを個別に解くことができます。βi

全体はその部分の合計に等しい

特定の修正します。次に、を最小化します i

Li=β^iLSβi+12βi2+γ|βi|.

場合、が必要ですそうでない場合は、符号を反転させて目的関数の値を小さくすることができます。同様に、場合、選択する必要があります。β^iLS>0βi0β^iLS<0βi0

ケース1:。以降、 及びに関して、この微分、ゼロに等しく設定します、、これは右辺が負でない場合にのみ実行可能であるため、この場合、実際の解は β^iLS>0βi0

Li=β^iLSβi+12βi2+γβi,
βiβi=β^iLSγ
β^ilasso=(β^iLSγ)+=sgn(β^iLS)(|β^iLS|γ)+.

ケース2:。これは、が必要であるため、 なければならないことを意味し に関して微分し、ゼロに設定すると、ます。ただし、これを確実に実行するには、が必要ですこれは、 β^iLS0βi0

Li=β^iLSβi+12βi2γβi.
βiβi=β^iLS+γ=sgn(β^iLS)(|β^iLS|γ)βi0
β^ilasso=sgn(β^iLS)(|β^iLS|γ)+.

どちらの場合も、目的のフォームが得られたので、完了です。

最後の挨拶

なおとしての各その後増加し、必然的に減少するため、も減少します。場合、OLSソリューションを回復し、、すべてのについてを取得します。γ|β^ilasso|β^lasso1γ=0γ>maxi|β^iLS|β^ilasso=0i


2
素晴らしい記事@cardinal!
ゲイリー

9
+1後半全体は、目的関数がに頂点を持つ2つの凸放物線の部分の結合。ここで、場合は負の符号が、そうでない場合は正の符号が使用されます。この式は、下の頂点を選択するための派手な方法です。β12β2+(±γβ^)β±γβ^β<0
whuber

可能であれば、KKT最適条件を使用して派生を確認したいと思います。この結果を導き出す他の方法はありますか?
user1137731

5
@枢機inal:素晴らしい派生に感謝します。1つの観察。思い出すと、直交列の行列は、直交(別名正規直交)行列と同じではありません。次に、対角行列(必ずしも恒等行列ではない)。(元の質問にあるように)直交行列の仮定では、あり、すべてが素晴らしく見えます:)XX=DDXX=I
Oleg Melnikov

@cardinal「そうでなければサインを反転させて目的関数の値を下げることができるので」と言う理由がわかりません。目的関数の導関数を使用しています。目的関数がより高いか低い場合、だれが気にかけますか。私たちが関心を持っているのは、微分がゼロに設定されていることです。定数だけ高いか低いかは、argminに影響しません。
user13985

7

の列である共変量も、なるように標準化されていると仮定します。これは後の便宜のためだけですは対角線にすぎないので、表記が重くなるだけです。さらに、と仮定します。これは、結果を保持するために必要な前提です。最小二乗推定器定義します。次に、(ラグランジュ形の)なげなわ推定器 xjXRn×pXTX=IXTXnpβ^OLS=argminβyXβ22

(defn.)β^λ=argminβ12nyXβ22+λβ1(OLS is projection)=argminβ12nXβ^OLSXβ22+λβ1(XTX=I)=argminβ12nβ^OLSβ22+λβ1(algebra)=argminβ12β^OLSβ22+nλβ1(defn.)=proxnλ1(β^OLS)(takes some work)=Snλ(β^OLS),
\ end {align *} ここで、は関数およびソフトしきい値の量で、proxffSαα

これは、Cardinalが解決する近位演算子の詳細な派生をスキップする派生ですが、閉じたフォームを可能にする主な手順を明確にしたいと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.