在学习SVM的原理时,接触到了等式约束优化与不等式约束优化,下面是根据相关资料自己总结出来的自己的,希望对大家有所帮助,这是第一篇博客。
1.等式约束优化
1.1.问题描述
当目标函数加上等式约束条件之后,原本的非约束优化变成了等式约束优化,如下:
.....................................................................................(1)
............................................................................(2)因为存在约束条件,所以将
的解限定在了一个可行域的区域,此时可能找不到可以使得
为0的点,但是我们的目的是找到可行域范围内
的最小值即可。
1.2.解法
利用拉格朗日乘子法,引入拉格朗日算子
,构建拉格朗日函数如下:
..........................................................(3)然后对拉格朗日函数
求
的偏导,令偏导为0,即:
..............................................................................(4)
对(2)(4)式进行求解即得到此类问题的最优解。
1.3.解释
假设我们的目标函数为二维的,即
,在平面中画出
的等高线,如下图的虚线所示
显而易见,只有当等高线与目标函数的曲线相切时才有可能得到可行解。因此拉格朗日取得极值的必要条件是目标函数与约束函数相切,这时两者的法向量是平行的,即
................................................................(5)所以正好可以得到(3)式,需要注意的是,
仅仅要求不等于0即可,正负号不需要确定。
2.不等式约束优化
2.1.问题描述
不等式约束优化问题为:
...........................................................................................(6)
..................................................................................(7)
2.2.解法
首先构建拉格朗日函数如下:
...............................................................(8)对(8)式关于
求偏导,可得
...................................................................................(9)
另外还有KKT条件如下:
或者
.....................(10)
由(9)(10)两式可以得出最后的最优解。对于(10)式的解释请看2.3节。
2.3.解释
假设我们的目标函数为二维的,下图给出了目标函数的等高线与不等式约束:
根据上图可知,可行解存在于
或者
的区域里取到,存在下列两种情况:
a)当可行解
落在
的区域内,此时约束条件不起作用,直接极小化
即可,所以(1)式
中,只需满足
即可。即上图左侧所示.b)当可行解
落在
的区域内,此时等价于等式约束优化问题。即上图右侧所示。此时目标函数的梯度方向为指向中心位置的反方向,而约束函数
由约束区域指向非约束区域。由下图可以看出,在最优解的位置,约束函数的梯度方向于目标函数的梯度方向正好相反,从而有:
..................................................(11)(11)式其实就是(9)式的变形。当然(11)式有一个限制条件
。