投げ縄問題には閉じた形式のソリューションがあります:\ beta_j ^ {\ text {lasso}} = \ mathrm {sgn}(\ beta ^ {\ text {LS}} _ j)(| \ beta_j ^ {\ text {LS }} |-\ alpha)^ + Xに正規直交列がある
場合。これは、このスレッドに示された:閉じた形投げ縄ソリューションの導出を。
βlasso=argminβ∥y−Xβ∥22+α∥β∥1
βlassoj=sgn(βLSj)(|βLSj|−α)+
X
ただし、一般に閉じた形式のソリューションがない理由はわかりません。亜微分を使用して、以下を取得しました。
(Xはn×p行列です)
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
(
Xiは
Xの i番目の行です
X)
=∑i=1ny2i−2∑i=1nyiXiβ+∑i=1nβTXTiXiβ+α∑j=1p|βj|
⇒∂f∂βj=−2∑i=1nyiXij+2∑i=1nX2ijβj+∂∂βj(α|βj|)
=⎧⎩⎨⎪⎪−2∑ni=1yiXij+2∑ni=1X2ijβj+α for βj>0−2∑ni=1yiXij+2∑ni=1X2ijβj−α for βj<0[−2∑ni=1yiXij−α,−2∑ni=1yiXij+α] for βj=0
と
∂f∂βj=0我々 GET
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
誰が私が間違った場所を見たのですか?
回答:
行列の観点から問題を書くと、X ^ TX = Iの正規直交の場合にのみ閉形式の解が存在する理由が非常に簡単にわかりますXTX=I。
f(β)=∥y−Xβ∥22+α∥β∥1
=yTy−2βTXTy+βTXTXβ+α∥β∥1
⇒∇f(β)=−2XTy+2XTXβ+∇(α|β∥1)
(ここで一度に多くのステップを踏んだ。しかし、この時点までは、これは最小二乗解の導出に完全に類似しています。したがって、そこに欠けているステップを見つけることができるはずです。)
⇒∂f∂βj=−2XTjy+2(XTX)jβ+∂∂βj(α|βj|)
∂f∂βj=0我々が得ます
2(XTX)jβ=2XTjy−∂∂βj(α|βj|)
⇔2(XTX)jjβj=2XTjy−∂∂βj(α|βj|)−2∑i=1,i≠jp(XTX)jiβi
これで、1つのに対するソリューションが他のすべての依存していることがわかりますしたがって、ここから先に進む方法は明確ではありません。が正規直交の場合、なるため、この場合は閉じた形式のソリューションが必ず存在します。βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
GuðmundurEinarssonの回答に感謝します。ここで詳しく説明します。今回は正しいことを願っています:-)