Ein bisschen ĂŒber konische DualitĂ€t

Beim Studium theoretischer Kurse in maschinellem Lernen (Mathematik, Wirtschaft, Optimierung, Finanzen usw.) wird hĂ€ufig das Konzept eines „dualen Problems“ gefunden.

Doppelte Aufgaben werden hĂ€ufig verwendet, um niedrigere (oder obere) SchĂ€tzungen fĂŒr die Zielfunktion bei Optimierungsproblemen zu erhalten. DarĂŒber hinaus hat das Doppelproblem fĂŒr fast jede aussagekrĂ€ftige Aussage des Optimierungsproblems eine aussagekrĂ€ftige Interpretation. Das heißt, wenn Sie mit einem wichtigen Optimierungsproblem konfrontiert sind, ist höchstwahrscheinlich auch das doppelte Problem wichtig.

In diesem Artikel werde ich ĂŒber konische DualitĂ€t sprechen. Diese Art der Konstruktion doppelter Aufgaben wird meiner Meinung nach zu Unrecht der Aufmerksamkeit beraubt ...

NĂ€chste matan ...

Wie werden normalerweise doppelte Aufgaben aufgebaut?


Es sei ein Optimierungsproblem angegeben:

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



Die Doppelaufgabe ist nach folgendem Schema aufgebaut:

  • Baue Lagrangian

L(x, lambda, mu)=f(x)+ sumki=1 lambdaifi(x)+ summi=1 muihi(x)


  • Bauen Sie eine Doppelfunktion auf

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


  • Holen Sie sich eine doppelte Aufgabe

 max lambda, mug( lambda, mu) lambda geq0



Die Hauptschwierigkeit in diesem Schema wird im Suchschritt verdrahtet  infxL(x, lambda, mu) .

Wenn das Problem nicht konvex ist, ist dies ein Sarg - im allgemeinen Fall kann es nicht in Polynomzeit gelöst werden (wenn P neqNP ) und solche Probleme in diesem Artikel werden wir in Zukunft nicht mehr ansprechen.

Angenommen, das Problem ist konvex, was dann?

Wenn das Problem glatt ist, können wir die OptimalitĂ€tsbedingung erster Ordnung verwenden  nablaxL(x, lambda, mu)=0 . Wenn aus dieser Bedingung alles in Ordnung ist, ergibt sich daraus oder x( lambda, mu)= arg minxL(x, lambda, mu) und g( lambda, mu)=L(x( lambda, mu), lambda, mu) oder direkt funktionieren g( lambda, mu) .

Wenn das Problem nicht glatt ist, könnten wir ein Analogon der Bedingung erster Ordnung verwenden 0 in partiellexL(x, lambda, mu) (hier  partiellexL(x, lambda, mu) bezeichnet eine Subdifferenz einer Funktion L(x, lambda, mu) ) ist dieses Verfahren jedoch in der Regel viel komplizierter.

Manchmal gibt es ein Ă€quivalentes "reibungsloses" Optimierungsproblem, und man kann ein duales dafĂŒr konstruieren. FĂŒr die Verbesserung der Struktur (von nicht glatt zu glatt) mĂŒssen Sie jedoch in der Regel immer eine Erhöhung der Abmessung zahlen.

Konische DualitÀt


Es gibt einige Optimierungsaufgaben (Beispiele unten), die die folgende Darstellung zulassen:

 minx inRncTxAx+b inK


wo A - Matrix b - Vektor K - nicht entarteter konvexer Kegel.

In diesem Fall kann die Doppelaufgabe nach dem folgenden Schema konstruiert werden:

Die Doppelaufgabe ist nach folgendem Schema aufgebaut:

  • Baue Lagrangian

L(x, Lambda)=cTx+ LambdaT(Ax+b)


  • Bauen Sie eine Doppelfunktion auf

g( lambda)= infxL(x, lambda)= beginFĂ€lle lambdaTb, quadc+AT lambda=0− infty, quadc+A.T lambda neq0 endFĂ€lle


  • Holen Sie sich eine doppelte Aufgabe

 max lambdabT lambdac+AT lambda=0− lambda inK∗


Wo ist der konjugierte Kegel? K∗ fĂŒr Kegel K definiert als K ^ * = \ left \ {y \ in R ^ k | z ^ T y \ geq 0, \ quad \ forall z \ in K \ right \} .

Wie wir sehen, wurde die gesamte KomplexitĂ€t der Konstruktion des Doppelproblems auf die Konstruktion des Doppelkegels ĂŒbertragen. Aber die Freude ist, dass es einen guten KalkĂŒl fĂŒr die Konstruktion von Doppelkegeln gibt und sehr oft ein Doppelkegel sofort ausgeschrieben werden kann.

Beispiel


Angenommen, wir mĂŒssen ein duales Optimierungsproblem fĂŒr das Problem konstruieren:

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



Hier  |x |1= sumni=1|xi| ,  |x |2= sqrt sumni=1x2i

Das Erste, was Sie bemerken können: Die Zielfunktion kann immer linear gemacht werden!

Vielmehr gibt es bei einer linearen Zielfunktion immer ein Àquivalentes Problem:

 minx inRn,y inR,z inRy+z |x |2 leqy |x |1 leqzAx geqb



Jetzt mĂŒssen Sie ein wenig geheimes Wissen verwenden: viele

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

und

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

sind konvexe Zapfen.

So kommen wir zur Àquivalenten Notation des Problems:

 minx inRn,y inR,z inRy+zIn+1 beginpmatrixxy endpmatrix+0n+1 inK2In+1 beginpmatrixxz endpmatrix+0n+1 inK1Ax−b inRk+



Jetzt können wir sofort ein doppeltes Problem aufschreiben:

 max lambda, mu, nu−bT nu lambdai+ mui+[AT nu]i=0, quad1 leqi leqn lambdan+1+1=0 mun+1+1=0− lambda inK∗2(=K2)− mu inK∗1(=K infty)− nu inRk+


oder, um ein wenig zu vereinfachen,

 max lambda, mu, nu−bT nu lambda+ mu+AT nu=0 | lambda |2 leq1 | mu | infty leq1− nu inRk+



wo  | mu | infty= maxi| mui| .

Links fĂŒr weitere Studien:

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


All Articles