拉格朗日乘子法(自己总结一些要点)

主要是研究SVM算法的时候涉及到了拉格朗日乘子法,由于是大学数学的内容,开始看懂,也不高兴认真去看。后来发现绕不开,于是打算认真去研究下。主要还是百度百科(https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E5%AD%90%E6%B3%95/1946079)的解释提点到了我,而且我发现这些公式如果不想深究的话,只需按照公式的使用方法去处理计算即可,而不必深究公式是如何得出的。

       基本的拉格朗日乘子法就是求函数f(x1,x2,...)在约束条件g(x1,x2,...)=0下的极值的方法。其主要思想是将约束条件函数与原函数联立,从而求出使原函数取得极值的各个变量的解。

        对于具有l个等式约束的n维优化问题,把原目标函数 改造成为如下形式的新的目标函数:(为什么可以这么改造可以不用管,就是拉格朗日规定这么做的)

                                                                         

式中的  就是原目标函数  的等式约束条件,而待定系数  称为拉格朗日乘子。这种方法称为拉格朗日乘子法。在极值点处,有 和  ,共有n+l个方程,足以算出这n+l个变量,此法也称为升维法。 

       拉格朗日乘子法是一种经典的求解条件极值的解析方法,可将所有约束的优化模型问题转化为无约束极值问题的求解。一般带不等式约束的最优化问题求解如下式:

                                                                                

拉格朗日乘子法是用于变量无关的是常数  分别乘各约束函数 并与目标函数相加得到如下的拉格朗日函数:

                                                                           

,式中:  为自变量; 为拉格朗日乘子量;  为松弛变量。则 

 处取极值的必要条件为:(即对每个变量求偏导,令导数=0

                                                                            

,依据上式求得  即为最优解。

主要计算过程:

1.假设需要求极值的目标函数(objective function)为f(x,y),限制条件为φ(x,y)=M

2.设

3.定义一个新函数

4.用偏导数方法列出方程

5.求出上述导数=0时,x,y,λ的值,代入即可得到目标函数的极值。

举一个例子:来自https://blog.csdn.net/lijil168/article/details/69395023

 一般情况下,最优化问题会碰到一下三种情况:

(1)无约束条件

  这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。

(2)等式约束条件

      设目标函数为f(x),约束条件为h_k(x),形如:

        s.t. 表示subject to ,“受限于”的意思,l表示有l个约束条件。

        

   则解决方法是消元法或者拉格朗日法。消元法比较简单不在赘述,这里主要讲拉格朗日法,因为后面提到的KKT条件是对拉格朗日乘子法的一种泛化。

   例如给定椭球:

               

    求这个椭球的内接长方体的最大体积。这个问题实际上就是条件极值问题,即在条件      下,求的最大值。

    当然这个问题实际可以先根据条件消去 z (消元法),然后带入转化为无条件极值问题来处理。但是有时候这样做很困难,甚至是做不到的,这时候就需要用拉格朗日乘数法了。  

    首先定义拉格朗日函数F(x):

          ( 其中λk是各个约束条件的待定系数。)                                                           

        然后解变量的偏导方程:

          ......,

   如果有l个约束条件,就应该有l+1个方程。求出的方程组的解就可能是最优化值(高等数学中提到的极值),将结果带回原方程验证就可得到解。

   回到上面的题目,通过拉格朗日乘数法将问题转化为

         

   对求偏导得到

          

   联立前面三个方程得到,带入第四个方程解之

          

   带入解得最大体积为:

          

  (3)不等式约束条件

看原文

发布了49 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/figo8875/article/details/88980608