拉格朗日乘子_机器学习算法系列(二):拉格朗日对偶性

在约束最优化问题中,常常会利用到拉格朗日对偶性求解。在常用的机器学习算法中,支持向量机和最大熵模型都使用到该方法求最优解。因为后面将要讲到这两个算法,所以先介绍这种方法作为知识的铺垫。

对于有约束的问题,拉格朗日对偶性是将原始问题转化为最优问题,通过求解对偶问题而得到原始问题的解。

1、 原始问题

假设f(x),ci(x),hj(x)是定义在Rn上的连续可微函数,最优化原始问题为:

4b80cdec0f0b74d0008784347ebaa2e0.png

首先,引进广义拉格朗日函数:

c1c2d124726986bf575c9adc25764ffa.png

其中,α和β是拉格朗日乘子,且α_i≥0。

因为α_i≥0,c_i≤0,h_j等于0,所以L(x,α,β)的第二项小于等于0,第三项等于0,则可以推出:L(x,α,β)≤f(x)。

所以max L(x,α,β)=f(x)。定义:

98ebe1da254ce071470e8a2ce9f28371.png

则最优化原始问题等价于广义拉格朗日问题的极小极大问题:

bff91250e3bdf11f1ac35ccb165ac8e2.png

定义原始问题的最优解为:

5be1d5dcb1cfeba412845bc10a891fd9.png

2、 对偶问题

定义:

a9497a5af882c81ade8d5bae1ad04dd9.png

再考虑极大化上式,即:

535483880fb28d917f6cdaeac173461f.png

这个广义拉格朗日的极大极小问题称为原始问题的对偶问题。

原始问题和对偶问题的关系:

如果原始问题和对偶问题都有最优解,则有:

7e40a276a043442412d8010f7df8e690.png

证明:对任意的α,β和x,有

4933f7f509a8783f64e4458eb8e643a9.png

即:

1bf94fee0bf1312dc82527a746b01f24.png

由于原始问题和对偶问题都有最优值,所以:

bb28be93cea35bf480e01d0d2a5edb07.png

即:

a3140706d1a64ed7c90f3bf4dd9da66d.png

一句话总结就是对于同一个函数L,最小化后的最大值仍然小于或等于最大化后的最小值。

3、 KKT条件

为了使得对偶问题的最优解也是原始问题的最优解,就必须满足KKT条件,也就是说KKT条件是其充分必要条件。接下来我们将讲解为什么要满足以下的KKT条件。

134ca1dcabd4a05e226d85498790b769.png

解释:

要使得对偶问题的最优解也是原始问题的最优解就要满足d_*=p_*,首先前三个条件对各变量求偏导得到他们的极值,这也是为什么要一开始要定义三个函数连续可导。

第四个条件是因为在前面已经提及L(x,α,β)的第二项小于等于0,要使得L等于f(x),就得让第二项等于0,因为α_i≥0,c_i小于等于0,所以要保证第二项等于0,只能是每个α_i*c_i等于0。

第五个条件和第七个条件是原始问题的约束条件,第六个问题是拉格朗日乘子法需要满足的定义。

4、 为什么要通过求解对偶问题来得到原始问题的最优解?

使用对偶问题求解是因为求解对偶问题比求解原始问题更加简单方便。比如在SVM中通过求解对偶问题能够使得求解的算法复杂度降低,方便核函数的引入等好处。具体为什么将在SVM讲解的时候解释。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值