วิธีการใช้วิธีกำลังสองน้อยที่สุด (IRLS) ที่ได้รับผลตอบแทนซ้ำกับโมเดล LASSO อย่างไร
ฉันมีโปรแกรมถดถอยโลจิสติกโดยใช้อัลกอริทึม 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 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 ในขณะนี้ แน่นอนว่ามีสองขั้นตอนในการทำซ้ำแต่ละครั้งแทนที่จะเป็นเพียงขั้นตอนเดียว: ขั้นตอนแรกเหมือนกับเมื่อก่อน: เราทำการวนซ้ำของอัลกอริทึม (ราวกับว่าในสูตรสำหรับการไล่ระดับสีด้านบน)λ=0λ=0\lambda=0 ขั้นตอนที่สองคือขั้นตอนใหม่: เราใช้ซอฟต์ในแต่ละองค์ประกอบ (ยกเว้น componentซึ่งสอดคล้องกับการสกัดกั้น) ของ vectorได้รับในขั้นตอนแรก นี้เรียกว่าซ้ำอ่อน Thresholding อัลกอริทึมβ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)