KKT en bref graphiquement


13

Objectif

Confirmez si la compréhension de KKT est correcte ou non. Cherchez plus d'explications et de confirmations sur KKT.

Contexte

Essayer de comprendre les conditions KKT, en particulier la condition complémentaire, qui apparaît toujours à l'improviste dans les articles SVM. Je n'ai pas besoin d'une liste de formules abstraites mais j'ai besoin d'une explication concrète, intuitive et graphique.

Question

Si P, qui minimise la fonction de coût f (X), est à l'intérieur de la contrainte (g (P)> = 0), c'est la solution. Il semble que KKT ne soit pas pertinent dans ce cas.

entrez la description de l'image ici

Il semble que KKT indique que si P n'est pas à l'intérieur de la contrainte, alors la solution X devrait satisfaire ci-dessous dans l'image. S'agit-il de KKT ou est-ce que je manque d'autres aspects importants?

entrez la description de l'image ici

Autres clarifications

  1. F (x) doit-il être convexe pour que KKT s'applique?
  2. G (x) doit-il être linéaire pour que KKT s'applique?
  3. Faut-il que λ soit nécessaire dans λ * g (X) = 0? Pourquoi g (X) = 0 ou g (Xi) = 0 ne suffit pas?

Les références


Mise à jour 1

Merci pour les réponses mais j'ai encore du mal à comprendre. Concentrez-vous sur la nécessité uniquement ici:

La condition (2) dans la réponse de Matthew Gunn sur le point non optimal (dans le cercle vert) et KKT ne sera-t-elle pas satisfaite là-bas? Et le point serait identifié en regardant Hessian comme dans la réponse de Mark L. Stone?

Je suppose qu'une autre situation concerne les points de selle, mais la même chose s'applique?

entrez la description de l'image ici

entrez la description de l'image ici user23658


1
Cette question peut attirer plus d'attention sur le site de mathématiques; Les conditions KKT ne sont pas nécessairement "statistiques". Les statisticiens empruntent ces résultats et d'autres à l'analyse numérique pour résoudre des problèmes statistiques intéressants, mais il s'agit davantage d'une question mathématique.
user23658

1
(1) Si les contraintes ne se lient pas, le problème d'optimisation avec les contraintes a la même solution que le problème d'optimisation sans les contraintes. (2) Il n'est pas nécessaire que soit convexe ni g linéaire pour que les conditions KKT soient nécessaires à un optimum. (3) Vous avez besoin de conditions spéciales (par exemple, un problème convexe où la condition Slater tient) pour que les conditions KKT soient suffisantes pour un optimum. fg
Matthew Gunn

2
L'idée de base de la condition de relâchement complémentaire (c'est-à-dire g ( x ) 0 est une contrainte) est que si la contrainte est lâche (c'est-à-dire g ( x ) < 0 ) au x optimal , alors la pénalité λ pour le resserrement de la contrainte est 0. Et s'il y a une pénalité positive λ pour le resserrement de la contrainte, alors la contrainte doit être contraignante (ie g ( x ) =λg(x)=0g(x)0g(x)<0xλλg(x)=0). Si la circulation est fluide, le péage du pont pour une autre voiture est nul. Et si le pont a un péage λ > 0 , alors le pont doit être à la limite de capacité. λλ>0
Matthew Gunn

1
Le théorème de base de KKT dit que si les conditions de KKT ne sont pas satisfaites à un point , alors le point x n'est pas optimal. Les conditions KKT sontnécessairespour un fonctionnement optimal mais passuffisant. (Par exemple, si la fonction a des points de selle, des minima locaux, etc ... les conditions KKT peuvent être satisfaites mais le point n'est pas optimal!) Pour certaines classes de problèmes (par exemple, problème convexe où la condition de Slater tient), le KKT les conditions deviennentdesconditionssuffisantes. xx
Matthew Gunn

Réponses:


8

L'idée de base des conditions KKT en tant que conditions nécessaires pour un optimum est que si elles ne tiennent pas à un point faisable , alors il existe une direction δ qui améliorera l'objectif f sans augmenter (et donc éventuellement violer) les contraintes. (Si les conditions KKT ne tiennent pas à x, alors x ne peut pas être un optimum, donc les conditions KKT sont nécessaires pour qu'un point soit optimal.)xδfxx

Imaginez que vous ayez le problème d'optimisation:

minimize (over x)f(x)subject toj{1k}gj(x)0

et kxRnk contraintes.

Conditions KKT et lemme de Farkas

Laisser un vecteur colonne indiquant le gradient de f évalué à xf(x)fx .

Appliqué à cette situation, le lemme de Farkas déclare que pour tout point exactement unxRn des affirmations suivantes est vraie:

  1. Il existe tel que k j = 1 λ jg j ( x ) = - f ( x ) et λ 0λRkj=1kλjgj(x)=f(x)λ0
  2. Il existe tel que j δ g j ( x ) 0 et δ f ( x ) < 0δRnjδgj(x)0δf(x)<0

Qu'est-ce que ça veut dire? Cela signifie que pour tout point réalisable , soit:x

  • La condition (1) est vérifiée et les conditions KKT sont remplies.
  • La condition (2) est vérifiée et il existe une direction réalisable qui améliore la fonction objectif f sans augmenter les contraintes g j . (par exemple, vous pouvez améliorer f en passant de x à x + ϵ δ )δfgjfxx+ϵδ

La condition (1) indique qu'il existe des multiplicateurs non négatifs tels que les conditions KKT sont satisfaites au point x . (Géométriquement, on dit que le - f se situe dans le cône convexe défini par les gradients des contraintes.)λxf

La condition (2) indique qu'au point , il existe une direction δ pour se déplacer (localement) telle que:xδ

  • Le déplacement dans la direction réduit la fonction objectif (car le produit scalaire de f ( x ) et δδf(x)δ est inférieur à zéro).
  • Le déplacement dans la direction n'augmente pas la valeur des contraintes (car le produit scalaire de g j ( xδ et δ est inférieur ou égal à zéro pour toutes les contraintes j ).gj(x)δj

(Géométriquement, la direction réalisable définit un hyperplan de séparation entre le vecteur - f ( x )δf(x) et le cône convexe défini par les vecteurs gj(x) .)

(Remarque: pour cartographier cela dans le lemme de Farkas , définir la matrice )A=[g1,g2,,gk]

Cet argument vous donne la nécessité (mais pas la suffisance) des conditions KKT à un optimum. Si les conditions KKT ne sont pas remplies (et que les qualifications de contrainte sont satisfaites), il est possible d'améliorer l'objectif sans violer les contraintes.

Le rôle des qualifications de contraintes

Qu'est-ce qui peut mal tourner? Vous pouvez obtenir des situations dégénérées où les gradients des contraintes ne décrivent pas avec précision les directions possibles pour se déplacer.

Il existe une multitude de qualifications de contraintes différentes à choisir qui permettront à l'argument ci-dessus de fonctionner.

L'interprétation min, max (à mon humble avis la plus intuitive)

Former le lagrangien

L(x,λ)=f(x)+j=1kλjgj(x)

Au lieu de minimiser soumis aux contraintes g j , imaginez que vous essayez de minimiser L pendant qu'un adversaire essaie de le maximiser. Vous pouvez interpréter les multiplicateurs λ i comme des pénalités (choisies par certains adversaires) pour avoir violé les contraintes. fgjLλi

La solution au problème d'optimisation d'origine équivaut à:

minxmaxλL(x,λ)

C'est:

  1. Vous choisissez d'abord pour minimiser le L lagrangien , sachant que ...xL
  2. Je vais ensuite choisir pour maximiser le lagrangien (après avoir observé votre choix x ).λx

Par exemple, si vous violez la contrainte , je peux vous pénaliser en mettant λ 2g2λ2 à l'infini!

Faible dualité

Pour toute fonction observez que:f(x,y)

x^,y^minxf(x,y^)f(x^,y^)maxyf(x^,y)

x^y^

maxyminxf(x,y)minxmaxyf(x,y)

maxλminxL(x,λ)minxmaxλL(x,λ) is known as weak duality.

The dual problem maxλminxL(x,λ) gives you a lower bound on the solution

Strong duality

Under certain special conditions (eg. convex problem where Slater condition holds), you have strong duality (i.e. the saddle point property).

maxλminxL(x,λ)=minxmaxλL(x,λ)

This beautiful result implies you can reverse the order of the problem.

  1. I first pick penalties λ to maximize the Lagrangian.

  2. You then pick x to minimize the Lagrangian L.

The λ set in this process are prices for violating the constraints, and the prices are set such that you will never violate the constraints.


Appreciate the information and the links to fill the gaps of understanding. Allow me to confirm. Condition(1) means that KKT says for a point X to be a solution, it needs to satisfy λ*g(X) = 0, λ >=0, and the length of the gradient of g(X) is λ times of that of f(X), otherwise we will find the gradient of f(X) points direction where smaller f(X') can be found?
mon

3
Slater condition is (just) a constraint qualification which can be applied to convex optimization problems, i.e. makes KKT necessary. Convexity makes KKT sufficient. So Slater condition for convex optimization problem in which objective function and constraints are convex and continuously differentiable makes KKT necessary and sufficient for global minimum. Slater condition is that there is at least one feasible point (i.e., satisfying all constraints) which is in the strict interior of all the nonlinear constraints (anything goes with linear constraints, as long as feasible).
Mark L. Stone

5

f(x) being convex is necessary for KKT to be sufficient for x to be local minimum. If f(x) or -g(x) are not convex, x satisfying KKT could be either local minimum, saddlepoint, or local maximum.

g(x) being linear, together with f(x) being continuously differentiable is sufficient for KKT conditions to be necessary for local minimum. g(x) being linear means that the Linearity constraint qualification for KKT to be nessary for local minimum is satisfied. However, there are other less restrictive constraint qualifications which are sufficient for KKT conditions to be necessary for local minimum. See the Regularity conditions (or constraint qualifications) section of https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions .

If a local minimum has no "active" constraints (so in the case of only an inequality constraint, that constraint is not satisfied with equality), Lagrange multipliers associated with such constraints must be zero, in which case, KKT reduces to the condition that the gradient of the objective = 0. In such case, there is zero "cost" to the optimal objective value of an epsilon tightening of the constraint.

Further info:

Objective function and constraints are convex and continuously differentiable implies KKT is sufficient for global minimum.

If objective function and constraints are continuously differentiable and constraints satisfy a constraint qualification, KKT is necessary for a local minimum.

If objective function and constraints are continuously differentiable, convex, and constraints satisfy a constraint qualification, KKT is necessary and sufficient for a global minimum.

The above discussion actually pertains only to 1st order KKT conditions. There are also 2nd order KKT conditions, which can be stated as: A point satisfying 1st order KKT conditions and for which objective function and constraints are twice continuously differentiable is (sufficient for) a local minimum if the the Hessian of the Lagrangian projected into the nullspace of the Jacobian of active constraints is positive semidefinite. (I'll let you look up the terminology used in the preceding sentence.) Letting Z be a basis for the nullspace of the Jacobian of active constraints, 2nd order KKT condition is that ZTHZ is positive semi-definite, where H is the Hessian of the Lagrangian. Active constraints consist of all equality constraints plus all inequality constraints which are satisfied with equality at the point under consideration. If no constraints are active at the 1st order KKT point under consideration, the identity matrix is a nullspace basis Z, and all Lagrange multipliers must be zero, therefore, the 2nd order necessary condition for a local minimum reduces to the familiar condition from unconstrained optimization that the Hessian of the objective function is positive semi-definite. If all constraints are linear, the Hessian of the Lagrangian = Hessian of objective function because the 2nd derivative of a linear function = 0.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.