Karesel Programlama ve Kement


11

Aşağıdaki formu olan bir kement regresyon gerçekleştirmek için çalışıyorum:

Minimize olarak( Y - X w ) ′ ( Y - X w ) + λw(Y−Xw)′(Y−Xw)+λ|w|1

Bir verildiğinde , aşağıdaki formu alan ikinci dereceden programlama yardımıyla en uygun w'yi bulmam tavsiye edildi :wλw

Minimize x de 12x′Qx+c′x , hastanın Ax≤b.

Şimdi λ teriminin , oldukça basit olan Ax \ le b kısıtlama terimine dönüştürülmesi gerektiğini anlıyorum Ax≤b. Ancak, bir şekilde ilk denklemin ilk terimini ikincinin ilk terimine nasıl aktarabileceğimi göremiyorum. Bu konuda net bulamadım, bu yüzden burada sormaya karar verdim.

Yanıtlar:


11

Standart formda ' ' değişkeni olarak ile çalıştığımızı unutmayın, genişletin ve ve ve ve sabitler.x ( Y - X g ) ′ ( Y - X g ) w ′wx(Y−Xw)′(Y−Xw)w ′ ww′[something]ww′w

Sabitleri neden görmezden gelebileceğinizi açıklayın.

ve terimlerini neden birleştirebileceğinizi açıklayın . ww′w


BananaCode şimdiye kadar yol boyunca önde gelen bazılarıyla anlaşıldığından, ve veya daha basit bir şekilde yazabilirsiniz, sadece ve (çünkü ve herhangi bir için aynı argine'ye sahiptir ).c = - 2 X ′ Y Q = X ′ X c = - X ′ Y f ( x ) k f ( x ) k > 0Q=2X′Xc=−2X′Y Q=X′Xc=−X′Yf(x)kf(x)k>0


Sabitler göz ardı edilebilir, çünkü eğer x_ f (x) için minimum ise, x_ + c f (x) + c için minimumdur, dolayısıyla c sabitini göz ardı edebiliriz. Sıkıştığım yeri göstermek için sorumu düzenleyeceğim.
— spurra

BananaCode açıklamanızın birkaç kusuru var. Tarafından ise "için minimum " Şunu "da argümanı en aza indirilir" demenin gibi bir şey " olduğunu ait ". Ama varılan sonuç yanlış. Eğer eklerseniz için , sen katmayan argmin için. f ( x ) x ∗ argmin f c f cf(x)f(x)x∗argminfcfc
— Glen_b

Cevabımda yazdığımı gördünüz mü? Ne var şey artık arasında var ve sorunuzun altındaki ?? w ′ ww′[something]ww′w
— Glen_b

Evet, demek olan ait . Sonucumun yanlış olduğu bir örnek verebilir misiniz? olan I biçim çalışıyorum matrix. Ben genişletirseniz Ben olsun . İlk kısım matrisinin biçimini temsil eder , ancak ikinci terim . a r g m i n f [ s o m e t h i n g ] Q wx∗argminf[something]Qw ′ X ′ X w - w ′ Xw′(X′Xw−X′Y)Q - w ′ X ′ Yw′X′Xw−w′X′YQ−w′X′Y
— spurra

1
@ AD.Net Kısıtlamalar çoğunlukla diğer cevapta ele alınmaktadır.
— Glen_b

11

Kısıtlamaları dönüştürmeyi nasıl çözeceğimizi eklemek istedim kuadratik programlama için kullanılabilir bir forma, ben sandığı kadar basit değil gibi. Gerçek bir matris bulmak mümkün değildir öyle ki .A A w ≤ s ↔ ∑ | w i | ≤ s∑|wi|≤sAAw≤s↔∑|wi|≤s

Ben kullanılan yaklaşım elemanlarının bölünmüş olduğunu vektörün içine ve , böylece . Eğer , sahip ve , başka varve . Veya daha matematiksel olarak, veHem hem de negatif olmayan sayılardır. Sayıları bölmenin arkasındaki fikir, şimdi sahip olduğunuz w w +wiw w - i wi=w + i -w - i wi≥0w + i =wiw - i =0w - i =| wi| w + i =0w + i =| wi| +wiwi+wi−wi=wi+−wi−wi≥0wi+=wiwi−=0wi−=|wi|wi+=0 w - i =| wi| -wbenwi+=|wi|+wi2w - i w + i | wi| =w + i +w - iwi−=|wi|−wi2.wi−wi+|wi|=wi++wi−mutlak değerlerden etkili bir şekilde kurtulmaktır.

Optimize etme işlevi şu : , konu için w + i + w - i ≤ s ,12(w+−w−)TQ(w+−w−)+cT(w+−w−)wi++wi−≤s,wi+,wi−≥0

Burada ve Glen_b göre yukarıda belirtildiği gibi, verilencQc

Bunun kullanılabilir bir forma dönüştürülmesi gerekiyor, yani bir vektöre ihtiyacımız var. Bu aşağıdaki şekilde yapılır:

12[w+w−]T[Q−Q−QQ][w+w−]+[cT−cT][w+w−]

tabi

[IDID−I2D][w+w−]≤[sD02D]

Burada olan boyutlu birim matris, bir tek değer oluşan boyutlu vektör ve bir boyutlu sıfır vektör. İlk yarı , ikinci kullanılabilir bir formu aramak için kuadratik programlama kullanmak için Şimdi ise ve , verilen . Bu işlem tamamlandıktan sonra, ile ilgili olarak optimum bir parametre olduğu . D s D D s 0 D 2 ∗ D | w i | = wIDDsDDs0D2∗Dw + i ,w - i ≥0w+w-ssw=w+-w-|wi|=wi++wi−≤swi+,wi−≥0w+w−ssw=w+−w−

Kaynak ve ek okuma: Mutlak değerler içeren doğrusal kısıtlamalarla ikinci dereceden programlama problemini çözme


İdeal bir boyutlu vektör bulduğumuzu varsayalım . Ne olmasını sağlar ve pozitif parça ve bazı vektör olumsuz parçalar aslında yani onların, giriş pozisyonları örtüşüyor mu? ( w + , w - ) w + w - w 02D(w+,w−)w+w−w0
— Myath

Son ifadedeki matris ve vektör daha basit ve aslında daha doğru olabilir. [Id Id] [w + w−] '≤ Sd yerine [1 1 .... 1] [w + w-]' ≤ s koyabilirsiniz. Bu kelimenin tam anlamıyla ∑ | wi | = ∑ (wi + + wi−) ≤ s.
— Marko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.