1. 程式人生 > >重磅:KKT條件

重磅:KKT條件

KKT條件主要涉及凸優化問題,學習SVM的時候求解拉格朗日函式的對偶問題時,需要使用KKT條件來得到最終的\alpha ^{\ast },\,\,\,w^{\ast},\,\,\,b^{\ast}

1、對於無約束問題(unconstrained minimization):

                                                      min\,\,\,f(x)

1) 一階必要條件為:

                                     \bigtriangledown _{x}f(x)=0

2) 二階必要條件為:

                                     \bigtriangledown_{x}^{2}f(x) 即Hessian半正定

2、等式約束問題(Equality constraints):

原問題為:

                    min\,\,\,f(x) \,\,\,\,s.t.\,\,\,h(x)=0

f(x)為目標函式,h(x)為約束條件

eg:f(x)=x_{1}+x_{2}\,\,\,h(x)=x_{1}^{2}+x_{2}^{2}-2

\bigtriangledown_{x}f(x)=\mu \bigtriangledown_{x}h(x)時,即\bigtriangledown_{x}f(x)\bigtriangledown_{x}h(x)共線,在此處可到最優解(在約束條件的邊界上)。

1)\bigtriangledown_{x}f(x)=\mu \bigtriangledown_{x}h(x)

2) 優化問題的拉格朗日函式為:

L(x,\mu )=f(x)+\mu h(x)

3) 存在最優解的條件為:

\left\{\begin{matrix} & &\bigtriangledown _{x}L(x^{\ast},\mu ^{\ast})=0 \\ & & \bigtriangledown _{\mu}L(x^{\mu},\mu^{\ast})=0\\ & & y^{T}\bigtriangledown _{xx}^{2}L(x^{\ast},\mu^{\ast})y\geq 0\,.\,\,\forall y\,\,s.t.\,\,\bigtriangledown _{x}h(x^{\ast})^{T}y=0\\ \end{matrix}\right.等價於\left\{\begin{matrix} & &\bigtriangledown _{x}f(x^{\ast})=\mu^{\ast}\bigtriangledown _{x}h(x^{\ast})\\ & & h(x^{\ast})=0\\ & & y^{T}\bigtriangledown _{xx}^{2}L(x^{\ast},\mu ^{\ast})y\geq 0\ \end{matrix}\right.

3、不等式約束問題(Inequality constraints):

原問題:

               min\,\,\,f(x) \,\,\,\,s.t.\,\,\,g(x)\leq 0

對於不等式約束來說有兩種情況:

1)第一種情況是約束條件的影象在f(x)內部:

eg:f(x)=x_{1}^{2}+x_{2}^{2}\,\,\,\,\,g(x)=x_{1}^{2}+x_{2}^{2}-1

由於g(x)f(x)的內部,此時最優解在他們的原點,這種情況可看成是無約束問題

\left\{\begin{matrix} \bigtriangledown_{x}f(x)=0 & & \\ y^{T}\bigtriangledown_{xx}^{2}f(x)y\geq 0& & \end{matrix}\right.

2)第二種情況為:約束條件的區域與f(x)重疊

eg:f(x)=(x_{1}-1.1)^{2}+(x_{2}-1.1)^{2}\,\,\,\,\,\,g(x)=x_{1}^{2}+x_{2}^{2}-1

f(x)g(x)影象有重疊,最終的最優解在約束條件的邊界上取得

原問題的拉格朗日函式為:

            L(x,\lambda )=f(x)+\lambda g(x)

因此有:

\left\{\begin{matrix} g(x^{\ast})=0\\ -\bigtriangledown _{x}f(x^{\ast})=\lambda -\bigtriangledown _{x}g(x^{\ast}),\,\,\lambda> 0\\ y^{T}-\bigtriangledown _{xx}^{2}L(x^{\ast})y\ge0\\ \end{matrix}\right.

綜上可得到KKT條件為:

\left\{\begin{matrix} \bigtriangledown _{x}L(x^{\ast},\lambda^{\ast})=0\\ \lambda^{\ast}\ge0\\ \lambda^{\ast}g(x^{\ast})=0\\ g(x^{\ast})=0\\ y^{T}\bigtriangledown _{xx}^{2}L(x^{\ast},\lambda^{\ast})y\ge0\\ \end{matrix}\right.

注:\lambda^{\ast}g(x^{\ast})=0稱為互補鬆弛條件