ปัญหา lassoมีรูปแบบการปิด: \ 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
อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมไม่มีโซลูชันแบบปิดโดยทั่วไป ใช้ subifferentials ฉันได้รับดังต่อไปนี้
( Xคือn×pเมทริกซ์)
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
(
Xiคือ i-TH แถวของ
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เราได้รับแล้ว
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
ไม่มีใครเห็นที่ฉันทำผิดไปหรือเปล่า?
ตอบ:
ถ้าเราเขียนปัญหาในรูปของเมทริกซ์เราจะเห็นได้ง่ายมากว่าทำไมสารละลายแบบปิดมีอยู่เฉพาะในกรณี orthonormal ด้วย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
เราสามารถเห็นได้แล้วว่าโซลูชันของเราสำหรับขึ้นอยู่กับอีกดังนั้นจึงไม่ชัดเจนว่าจะดำเนินการอย่างไรจากที่นี่ ถ้าเป็น orthonormal เรามีดังนั้นจึงมีวิธีแก้ปัญหาแบบปิดในกรณีนี้βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
ขอบคุณGuðmundur Einarsson สำหรับคำตอบของเขาซึ่งฉันได้อธิบายที่นี่ ฉันหวังว่าคราวนี้มันถูกต้อง :-)