拉格朗日乘子法的证明
在学习支持向量机的时候,计算对偶问题时用到了拉格朗日乘子法((Lagrange multiplier method)),回想起高中时使用拉格朗日乘子法求不等式约束条件下的最优化问题时的困惑,虽然一直知道用,但是却不知道为什么拉格朗日乘子法能够用。知其然更应知其所以然,本文就来扒一扒“拉格朗日乘子法”的来龙去脉。
等式约束下的最优化问题
给定一个不等式约束条件下的最优化问题,
$$\begin{array} {I}\mathop {\min }\limits_x \quad f(x) \ s.t.\quad g(x) = 0\end{array}\quad\quad (1)$$
此处假定$f(x)$为凸函数,需要找到的是在约束条件$g(x)=0$的条件下,使得目标函数$f(x)$最小的$x$值(注:$x$为一个n维向量)。一般情况下,对于一个凸函数的极值问题,我们只需要找到令目标函数的导数${f_x^{'}}=0$的点$x$即可。然而,由于此处存在的等式约束条件,使得目标函数导数等于0的点不一定能够满足约束条件。
从几何的角度看,这个问题的目标是在由方程$g(x)=0$所确定的$d-1$维曲面上,找到能使得目标函数$f(x)$最小化的$d$维点。我们以下图中二维空间为例:求函数$f(x,y)$在约束条件$g(x,y)=0$下的最小值。我们想象$f(x,y)$是一座“山”,$x$与$y$分别是其经纬度,$f(x,y)$为其海拔,图中的椭圆为这座"山"的等高线;约束条件$g(x,y)=0$为海拔为0的平面上的一条曲线。我们在这座"山"上乱逛,想要找到一个最高的点(最大与最小问题是相对的),