二次計画法となげなわ


11

以下の形式の投げ縄回帰を実行しようとしています:

を最小化w(YXw)(YXw)+λ|w|1

与えられたとき、次の形式を取る2次計画法の助けを借りて、最適なを見つけるようにアドバイスされました。λw

でを最小化しx12xQx+cxAxb.

項は制約項に変換する必要があることに気付きました。これはかなり単純です。ただし、どういうわけか、最初の方程式の最初の項を2番目の方程式の最初の項に変換する方法がわかりません。ネットではなかなか見つからなかったので、ここで質問することにしました。λAxb

回答:


10

標準形式の「」変数としてを使用していることを念頭に置き、を展開して、用語をとinと、および定数。wx(YXw)(YXw)w[something]www

定数を無視できる理由を説明してください。

と用語を組み合わせることができる理由を説明してください。ww


BananaCodeは、パスに沿っていくつかのリードがあることを理解している、とまたはもっと簡単に、と書くことができます。(とはすべてのに対して同じargminを持っているため)。Q=2XXc=2XY Q=XXc=XYf(x)kf(x)k>0


x_がf(x)の最小値である場合、x_ + cはf(x)+ cの最小値なので、定数は無視できます。したがって、定数cは無視できます。行き詰まった場所がわかるように質問を編集します。
2014年

BananaCodeの説明にはいくつかの欠陥があります。よる場合は、「最小である」もしかして「の引数である最小化された」、あなたが言うようなもの「あるの」。しかし、あなたの結論は間違っています。あなたが追加した場合する、あなたは追加しない argminに。f(x)f(x)xargminfcfc
Glen_b-モニカを2014

私の回答のどこにを書いたかを参照してください。何何かあなたが今持っている間とあなたの質問の下部には?w[something]www
Glen_b-モニカを2014

はい、私はがのであることを意味しました。私の結論が間違っている例を挙げてもらえますか?である、私は形にしようとしているマトリックス。を展開すると、ます。最初の部分は行列の形式を表しますが、2番目の項を取り除くことはできません。xargminf[something]Qw(XXwXY)wXXwwXYQwXY
2014年

1
@ AD.Net制約は主に他の回答でカバーされています。
Glen_b-2015

11

制約の変換を解決する方法を追加したかった、二次計画法に使用できる形式に変換します。これは、思ったほど簡単ではないためです。ような実数行列を見つけることはできません。|wi|sAAws|wi|s

私が使用したアプローチは、ベクトル要素をとに分割して、になるようにすることでした。場合、およびが存在します。それ以外の場合、および。または、より数学的な用語では、およびとはどちらも負でない数値です。数値を分割する背後にある考え方は、wiwwi+wiwi=wi+wiwi0wi+=wiwi=0wi=|wi|wi+=0wi+=|wi|+wi2wi=|wi|wi2.wiwi+|wi|=wi++wi、効果的に絶対値を取り除く。

最適化する関数は次のようになります:、件名to 12(w+w)TQ(w+w)+cT(w+w)wi++wis,wi+,wi0

どこと Glen_bによって上記のように与えられていますQc

これは、使用可能な形式に変換する必要があります。つまり、1つのベクトルが必要です。これは次の方法で行われます。

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

従う

[IDIDI2D][w+w][sD02D]

ここある次元の単位行列、値からのみなる次元ベクトルと次元ゼロベクトル。前半は保証します 、二今では検索するために二次計画を使用するために使用可能な形でだと与えられ、。これが完了すると、に関する最適なパラメーターはます。 D s D D s 0 D 2 D | w i | = W + Iを + wが- Iwは+ Iをwは- I0 ワット+ wが- S S W = W + - W -IDDsDDs0D2D|wi|=wi++wiswi+,wi0w+wssw=w+w

出典および参考文献絶対値を含む線形制約による二次計画問題の解決


最適な次元ベクトルが見つかったとします。とが実際に一部のベクトルの正の部分と負の部分、つまりエントリ位置が一致することを保証するものは何ですか?w +w w + w w 02D(w+,w)w+ww0
Myath 2018

最終的な式の行列とベクトルはより単純で、実際にはより正確です。[Id Id] [w + w−] '≤Sdの代わりに、単純に[1 1 .... 1] [w + w-]'≤sとすることができます。これは文字通り∑ | wi |と同等です = ∑(wi + + wi−)≤s。
マルコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.