KKT(Karush-Kuhn-Tucher)条件理解

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

KKT(Karush-Kuhn-Tucher)条件理解_第1张图片KKT(Karush-Kuhn-Tucher)条件理解_第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

KKT(Karush-Kuhn-Tucher)条件理解_第3张图片

由于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

KKT(Karush-Kuhn-Tucher)条件理解_第4张图片

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称为互补松弛条件

你可能感兴趣的:(机器学习)