円錐双対性について少し

機械学習の理論コース(数学、経済学、最適化、財務など)を勉強するとき、「二重問題」の概念がよく見られます。

デュアルタスクは、最適化問題のターゲット関数の低い(または高い)推定値を取得するためによく使用されます。 さらに、最適化問題のほとんどすべての意味のあるステートメントについて、二重問題には意味のある解釈があります。 つまり、重要な最適化の問題に直面している場合、その二重の問題もおそらく最も重要です。

この記事では、円錐双対性について説明します。 私の意見では、デュアルタスクを構築するこの方法は、当然のことながら注目を奪われています...

次のマット...

通常、デュアルタスクはどのように構築されますか?


いくつかの最適化問題を与えましょう:

 minx inRnfxfix leq0 quad1 leqi leqkhix=01 leqi leqm



デュアルタスクは、次のスキームに従って構築されます。


Lx lambda mu=fx+ sumi=1k lambdaifix+ sumi=1m muihix



g lambda mu= infxLx lambda mu



 max lambda mug lambda mu lambda geq0



このスキームの主な難点は、検索ステップで配線されています  infxLx lambda mu

問題が凸でない場合、これはcoです-一般に、多項式時間で解決することはできません( P neqNP)およびこの記事のこのような問題については、今後触れません。

問題が凸であると仮定します、それでは何ですか?

問題が滑らかな場合、1次の最適条件を使用できます  nablaxLx lambda mu=0。 この条件から、すべてが正常であれば、推測または x lambda mu= arg minxLx lambda muそして g lambda mu=Lx lambda mu lambda muまたは直接機能する g\ラ mu

問題がスムーズでない場合は、1次条件のアナログを使用できます 0 in partialxLx lambda mu(こちら  partialxLx lambda mu関数の微微分を示します Lx lambda mu)ただし、この手順は通常はるかに複雑です。

場合によっては、同等の「滑らかな」最適化問題があり、それに対して二重の問題を構築できます。 ただし、構造を改善するために(非滑らかから滑らかに)、原則として、常に次元の増加を支払う必要があります。

円錐双対性


次の表現を可能にする最適化タスク(以下の例)がかなりあります。

\ min_ {R ^ nのx \} c ^ Tx \\ Ax + b \ in K


どこで A-マトリックス b-ベクトル K-非縮退凸コーン。

この場合、デュアルタスクは次のスキームに従って構築できます。

デュアルタスクは、次のスキームに従って構築されます。


Lx lambda=cTx+ lambdaTAx+b



g lambda= infxLx lambda= begincases lambdaTb quadc+AT lambda=0 infty quadc+AT lambda neq0 endcases



 max lambdabT lambdac+AT lambda=0 lambda inK


共役円錐はどこですか Kコーン用 Kとして定義される K ^ * = \左\ {y \ in R ^ k | z ^ T y \ geq 0、\ quad \ forall z \ in K \ right \}

ご覧のように、二重問題の構築の複雑さ全体が二重円錐の構築に移されました。 しかし、喜びは、デュアルコーンを構築するための優れた計算法があり、非常に頻繁にデュアルコーンをすぐに書き出すことができることです。


問題の二重最適化問題を構築する必要があると仮定します。

 minx inRn |x |2+ |x |1Ax geqb



ここに  |x |1= sumi=1n|xi| |x |2= sqrt sumi=1nxi2

最初に気づくことができます:目的関数は常に線形にすることができます!

むしろ、線形目的関数には常に同等の問題があります。

\ min_ {Rのn \ ^ n、Rのy \、Rのz \} y + z \\ \ | x \ | _2 \ leq y \\ \ | x \ | _1 \ leq z \\ Ax \ geq b



今、あなたは少し秘密の知識を使用する必要があります:多くの

K_1 = \ {(x、t)\ in R ^ n \ times R | \ quad \ | x \ | _1 \ leq t \}

そして

K_2 = \ {(x、t)\ in R ^ n \ times R | \ quad \ | x \ | _2 \ leq t \}

凸コーンです。

したがって、問題の同等の表記法に到達します。

\ min_ {R ^ nのx \、Rのy \、Rのz \} y + z \\ I_ {n + 1} \ begin {pmatrix} x \\ y \ end {pmatrix} + 0_ {n +1} \ K_2 \\ I_ {n + 1} \ begin {pmatrix} x \\ z \ end {pmatrix} + 0_ {n + 1} \ K_1 \\ Ax-b \ in R _ + ^ k



これで、二重の問題をすぐに書き出すことができます。

 max lambda mu nubT nu lambdai+ mui+[AT nu]i=0 quad1 leqi leqn lambdan+1+1=0 mun+1+1=0 lambda inK2=K2 mu inK1=K infty nu inR+k


または、少し簡単にするために、

 max lambda mu nubT nu lambda+ mu+AT nu=0 | lambda |2 leq1 | mu | infty leq1 nu inR+k



どこで  | mu | infty= maxi| mui|

さらなる研究のためのリンク:

Source: https://habr.com/ru/post/J431756/


All Articles