円錐双対性について少し

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

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

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

次のマット...

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


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

 minx inRnf(x)fi(x) leq0、 quad1 leqi leqkhi(x)=0、1 leqi leqm



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


L(x、 lambda、 mu)=f(x)+ sumi=1k lambdaifi(x)+ sumi=1m muihi(x)



g( lambda、 mu)= infxL(x、 lambda、 mu)



 max lambda、 mug( lambda、 mu) lambda geq0



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

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

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

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

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

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

円錐双対性


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

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


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

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

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


L(x、 lambda)=cTx+ lambdaT(Ax+b)



g( lambda)= infxL(x、 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、 nu−bT 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、 nu−bT 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