拉格朗日乘子法求解最优化问题

 

     最近在看机器学习有关SVM的内容,在SVM模型中,我们要求得一个划分超平面,使得相同类别的样本处于同一边,不同类别的样本分开。我们想要找到具有“最大间隔”的划分超平面,即满足以下约束的平面:

拉格朗日乘子法求解最优化问题_第1张图片

求解上式等价于求解:

拉格朗日乘子法求解最优化问题_第2张图片

求解以上带不等式约束的最小值问题,即可获得最优划分超平面。至此引入我们这篇文章讲述的主要内容:“使用拉格朗日乘子法求解最优化问题”,下面我们先从最简单的最优化问题一步步开始讲述。

    (1)无约束条件的最优化问题

     【例1】

拉格朗日乘子法求解最优化问题_第3张图片

       这是最为简单的情况,通常情况我们只需要对变量求导数,令导函数等于0即可获得极值点的位置,再从极值点中找出最值即可。

   (2)带等式约束的最优化问题

   【例2】

拉格朗日乘子法求解最优化问题_第4张图片

     对于这个例子,我们首先使用等高线图来直观地表示目标函数和约束函数,如下图所示:

拉格朗日乘子法求解最优化问题_第5张图片

    观察以上的等高线图,有以下两点注意:

         1、颜色越深的地方的值越小;

         2、同一条等高线上的函数取值相同;

    我们把上面两幅图结合到一起,由于我们只关心g(x,y)= 0 的情况,所以我们只画出x+y-1 = 0的线( 直线x+y-1 = 0也叫作可行域(feasible set) ),如下所示:

拉格朗日乘子法求解最优化问题_第6张图片

   好,那么我们究竟要如何求解上述问题的最优解呢?仔细观察上图,你能不能发现,在约束条件g(x,y) = 0 的条件下,f(x,y)取得最小值的情况是函数 f(x,y) 和函数 g(x,y) 的梯度平行!或许你还不太明白这是什么意思,那请看下面的图:

拉格朗日乘子法求解最优化问题_第7张图片

由上图,可以清楚地看到,当函数 f(x,y) 和函数 g(x,y) 的梯度平行时,函数 f(x,y)取得最小值。到这里我们知道了取得最优解的条件,那么要如何数学化地表示出来呢?请看下面的公式:

上面公式中的λ叫做拉格朗日乘子 ,代表着上述式子取得最优解时并不一定要两个函数的梯度相同,只要平行即可。

 注意,上面的式子等价于:

为求解该最优化问题,我们定义函数 L(x,y,λ) 如下:

其梯度为:

函数L(x,y,λ)具有以下性质:

    1、当x,y均相同时,函数L(x,y,λ)的值等于函数f(x,y)的值(因为减掉的λg(x,y)的值始终为0);

    2、函数L(x,y,λ)的导函数为0的点,即为函数f(x,y)的极值点(根据以上分析可得);

由上,例2的求解方法如下:

拉格朗日乘子法求解最优化问题_第8张图片

拉格朗日乘子法求解最优化问题_第9张图片

所以,求解带等式约束条件的最优解问题,可通过构造对应的拉格朗日函数求解。

(3)带等式约束与不等式约束的最优化问题

对于带等式约束与不等式约束的最优化问题,我们先写出其一般形式:

拉格朗日乘子法求解最优化问题_第10张图片

由(2),我们仍然可以通过令其各变量的偏导数为0来求解最优解,但是这样或许并不是一个很好的解决方案,原因如下:

     1、参数α和β总共k+l个,如果全部求偏导工作量太大,不现实;

     2、此问题可能根本没有最优解;

针对上述情况,我们对问题换一种思路思考,利用对偶的思想,将原问题转化为其对偶问题进行求解。有关对偶问题的讲解将在我的其他博客再行详解讨论,欢迎大家关注我的博客。


谢谢阅读!

你可能感兴趣的:(知识点整理)