拉格朗日乘子法 和对偶问题

拉格朗日乘数法就是求条件极值转化为非条件极值

嗯哼哼  首先看下条件极值为一个等式的情况

拉格朗日乘子法 和对偶问题_第1张图片

将条件转化为


带入z 

就变成简单的一元函数求极值了

拉格朗日乘子法 和对偶问题_第2张图片拉格朗日乘子法 和对偶问题_第3张图片


嗯哼

多变量也同样如此

拉格朗日乘子法 和对偶问题_第4张图片

现在看看不等式约束

嗯哼哼

重要的数学思想来了 

像条件极值转化为非条件极值

我们能不能将不等式约束转化为等式约束 然后就依样画葫芦了

嗯哼哼 引入松弛变量 

what 什么是松弛变量

比如X1<= 4 

定义松弛变量 X2 = 4 - X1 故约束X1<= 4 

X1 + X2 = 4且 X2 >= 0 完全等价

故原来的约束 X1 - 4<= 0

变成 X1 + X2 - 4 = 0

然后就和等式条件的拉格朗日乘子法一样

因为 X2要求大于零 又是一个新的不等式约束 故我们可以把变量写成 一个数的平方

栗子如下


引入松弛变量


然后对其求偏导

拉格朗日乘子法 和对偶问题_第5张图片

第五个是一个重要的条件

来说下 

什么是KKT条件

就是说满足一定条件后不等式约束下的 拉格朗日乘子法 

就可以完成对偶的变换

嗯哼哼  先来看看 不等式约束


其中 是不等式约束 

再来看不等式约束要满足什么条件 可以发生转换  为什么

当其满足以下条件是 就是所谓的KKT条件








故在满足的条件下 

可转化为其对偶问题

拉格朗日乘子法 和对偶问题_第6张图片


再说说 为什么受约束条件的求极值能能通过拉格朗日乘子式

嗯哼哼 拉格朗日这大牛YY了一个惩罚因子  使L()只能走在约束区内

拉格朗日乘子法 和对偶问题_第7张图片

通过改变使得其中 X暂看作常量,记作



一旦X 违反约束条件

 



其惩罚因子都会 


使得

拉格朗日乘子法 和对偶问题_第8张图片

拉格朗日乘子法 和对偶问题_第9张图片

拉格朗日乘子法 和对偶问题_第10张图片

对偶问题


就是看作常量 ,改变X的值使得函数最小


拉格朗日乘子法 和对偶问题_第11张图片

证明


而加上上述的KKT条件就是  强对偶问题了





你可能感兴趣的:(机器学习)