การเขียนโปรแกรมกำลังสองและ Lasso


11

ฉันพยายามทำการ lasso ถดถอยซึ่งมีแบบฟอร์มต่อไปนี้:

ย่อขนาดใน( Y - X w ) ( Y - X w ) + λw(YXw)(YXw)+λ|w|1

ได้รับฉันแนะนำให้หาดีที่สุดด้วยความช่วยเหลือของการเขียนโปรแกรมกำลังสองซึ่งใช้รูปแบบต่อไปนี้:wλw

ย่อในโดยขึ้นอยู่กับ1xx12xQx+cxAxb.

ตอนนี้ฉันรู้แล้วว่าควรเปลี่ยนเป็นเทอมซึ่งค่อนข้างตรงไปตรงมา อย่างไรก็ตามฉันไม่เห็นว่าฉันจะถ่ายโอนเทอมแรกของสมการแรกไปสู่เทอมแรกของสมการที่สองได้อย่างไร ฉันหาอะไรเกี่ยวกับมันไม่ได้ในเน็ตฉันเลยตัดสินใจถามที่นี่A x bλAxb

คำตอบ:


10

โปรดทราบว่าเรากำลังทำงานกับเป็นตัวแปร ' ' ในรูปแบบมาตรฐานขยายและรวบรวมคำศัพท์ในและในและและค่าคงที่x ( Y - X w ) ( Y - X w ) w wx(YXw)(YXw)w ww[something]www

อธิบายว่าทำไมคุณสามารถเพิกเฉยต่อค่าคงที่ได้

อธิบายว่าทำไมคุณสามารถรวมคำศัพท์และ www


เนื่องจาก BananaCode ได้คิดออกมาพร้อมกับผู้นำบางคนตามเส้นทางคุณสามารถเขียนและหรือมากกว่านั้นง่ายๆคุณสามารถเขียนและ (ตั้งแต่และมี argmin เดียวกันสำหรับการใด ๆ )c = - 2 X Y Q = X X c = - X Y f ( x ) k f ( x ) k > 0Q=2XXc=2XY Q=XXc=XYf(x)kf(x)k>0


ค่าคงที่สามารถถูกละเว้นได้เพราะถ้า x_ น้อยที่สุดถึง f (x) ดังนั้น x_ + c คือค่าต่ำสุดของ f (x) + c ดังนั้นเราสามารถละเว้นค่าคงที่ c ฉันจะแก้ไขคำถามของฉันเพื่อแสดงว่าฉันติดอยู่ที่ไหน
spurra

BananaCode คำอธิบายของคุณมีข้อบกพร่องหลายประการ หากโดย "คือค่าต่ำสุดที่ " คุณหมายถึง "คืออาร์กิวเมนต์ที่ย่อขนาดเล็กสุด" คุณพูดบางสิ่งเช่น "คือของ " แต่ข้อสรุปของคุณมีข้อผิดพลาด หากคุณเพิ่มเป็นคุณจะไม่ต้องเพิ่มลงใน argmin f ( x ) x argmin f c f cf(x)f(x)xargminfcfc
Glen_b -Reinstate Monica

ดูว่าฉันเขียนในคำตอบของฉันหรือไม่ อะไรคือสิ่งที่ตอนนี้คุณมีระหว่างและที่ด้านล่างของคำถามของคุณ ?? w ww[something]www
Glen_b -Reinstate Monica

ใช่ฉันหมายถึงเป็นของฉคุณสามารถยกตัวอย่างที่ข้อสรุปของฉันผิดหรือเปล่า? เป็นเมทริกซ์ฉันพยายามที่จะรูปแบบ ถ้าผมขยายฉันได้รับw'X'Y ส่วนแรกจะเป็นตัวแทนของรูปแบบของเมทริกซ์ แต่ฉันไม่สามารถได้รับการกำจัดของระยะที่สอง-w'X'Yxargminf[something]Qw(XXwXY)wXXwwXYQwXY
spurra

1
@ AD.Net ข้อ จำกัด ส่วนใหญ่จะกล่าวถึงในคำตอบอื่น ๆ
Glen_b -Reinstate Monica

11

ฉันต้องการเพิ่มวิธีแก้ปัญหาการแปลงข้อ จำกัดเป็นรูปแบบที่ใช้งานได้สำหรับการเขียนโปรแกรมกำลังสองเนื่องจากมันไม่ตรงไปตรงมาตามที่ฉันคิด มันเป็นไปไม่ได้ที่จะหาเมทริกซ์ตัวจริงซึ่ง .W s Σ | W ฉัน| s|wi|sAAws|wi|s

wiwwi+wiwi=wi+wiwi0wi+=wiwi=0wi=|wi|wi+=0wi+=|wi|+wi2wi=|wi|wi2.wiwi+|wi|=wi++wi

12(w+w)TQ(w+w)+cT(w+w)wi++wis,wi+,wi0

Qc

สิ่งนี้จะต้องถูกแปลงเป็นรูปแบบที่ใช้งานได้เช่นเราต้องการเวกเตอร์หนึ่งอัน วิธีนี้ทำได้ในวิธีต่อไปนี้:

12[w+w]T[QQQQ][w+w]+[cTcT][w+w]

ภายใต้

[IDIDI2D][w+w][sD02D]

IDDsDDs0D2D|wi|=wi++wiswi+,wi0w+wssw=w+w

แหล่งที่มาและการอ่านเพิ่มเติม: การแก้ปัญหาการเขียนโปรแกรมสมการกำลังสองด้วยข้อ จำกัด เชิงเส้นที่มีค่าสัมบูรณ์


2D(w+,w)w+ww0

เมทริกซ์และเวกเตอร์ในนิพจน์สุดท้ายนั้นเรียบง่ายขึ้นและถูกต้องมากขึ้น แทนที่จะเป็น [Id Id] [w + w−] '≤ Sd คุณสามารถใส่ [1 1 .... 1] 1] [w + w-]' ≤ s นี่คืออักษรที่เทียบเท่ากับ ∑ | wi | = ∑ (wi + + wi−) ≤ s
Marko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.