最好的解释:https://www.quora.com/What-is-an-intuitive-explanation-of-the-KKT-conditions#
链接:https://www.zhihu.com/question/38586401/answer/105273125
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
拉格朗日乘数法(Lagrange multiplier)有很直观的几何意义。
举个2维的例子来说明:
假设有自变量x和y,给定约束条件g(x,y)=c,要求f(x,y)在约束g下的极值。
我们可以画出f的等高线图,如下图。此时,约束g=c由于只有一个自由度,因此也是图中的一条曲线(红色曲线所示)。显然地,当约束曲线g=c与某一条等高线f=d1相切时,函数f取得极值。
两曲线相切等价于两曲线在切点处拥有共线的法向量。因此可得函数f(x,y)与g(x,y)在切点处的梯度(gradient)成正比。
于是我们便可以列出方程组求解切点的坐标(x,y),进而得到函数f的极值。
(一直怀疑这个图画错了,但是没有证据,为什么g(x,y)的梯度和f(x,y)的方向不一样呢?我感觉应该一样啊,因为梯度方向是数值增大的方向,问题纠结的地方就是那里是大?貌似又没有错误,因为仅仅从等高线上看,是分辨不出来山峰和盆地的等高线的,好乱,我已经糊涂了……)
KKT条件边界意义
对于有不等式约束的拉格朗日对偶问题,KKT条件可以总结成:约束条件(原始约束和引入拉格朗日乘子后的约束)、对x偏导为0、对偶互补条件
进一步可以理解为:
①对于无约束的变量偏导为0
②对于有约束的变量,在约束边界偏导可以不为0,不在约束边界偏导必为0
其中,不在约束边界的情况提供了函数值的伸缩性,使其取值为一个空间而不是一个点。
对偶互补条件就是对②的数学描述:
其中是原始约束。
对偶互补条件的在约束边界的物理意义:
当不位于原始边界时,它在各个方向是“自由”的,若此时他的偏导不为0,那么它沿着原始问题中的负梯度方向移动时,可取的函数值变小,那么就不可能是解。所以,当不在约束边界时,它必须在极值点上,即:小于0时必为0
当位于原始边界,即等于0时,它在边界上的移动不会改变函数值,所以它的偏导取合适的值来进一步减小函数值,即它的偏导可取大于0的值。
通过物理意义来理解KKT在边界的行为,会显得比较直观。
由此,SVM中的硬间隔最大化可由物理意义来直观的理解:
硬间隔最大化问题中,不等式约束为点的函数距离大于等于1。位于间隔边界的点(支持向量),相当于位于约束边界,他们的偏导可以不为0。而位于间隔边界之后的点,它们不在约束边界上,此时要想使间隔最大化,必须使的偏导为0,否则在负梯度方向上查找必能找到更优解。
对于SVM的软间隔最大化,由于支持向量不光是间隔边界上的点,还包括间隔平面之间的点,此时松弛变量的偏导同时也由惩罚参数决定,松弛变量的偏导的符号转换为与的大小关系。通过分析,以下结论不难得到: