最优化问题学习笔记1-对偶理论

      最优化理论是研究函数在给定一组约束条件下的最小值(或者最大值)的数学问题. 一般而言, 一个最优化问题具有如下的基本形式:

mins.t.f0(x)fi(x)0,i=1,,mhi(x)=0,i=1,,p

其中f0(x)为目标函数, fi(x)0,i=1,2,,m 为不等式约束条件, hj(x)=0,k=1,2,,p为等式约束条件.

在很多情况下, 不等式约束条件可以通过引入新的变量而转化为等式约束条件, 因此最优化问题的一般形式可以简化为仅仅包含等式约束条件的形式

min.:f(x)
s.t.:g(x)=0

最优化问题可以根据目标函数和约束条件的类型进行分类:
      最优化问题可以根据目标函数和约束条件的类型进行分类:
      1). 如果目标函数和约束条件都为变量的线性函数, 称该最优化问题为线性规划;
      2). 如果目标函数为变量的二次函数, 约束条件为变量的线性函数, 称该最优化问题为二次规划;
      3). 如果目标函数或者约束条件为变量的非线性函数, 称该最优化问题为非线性规划.
[来自文献3]

线性规划中的对偶问题

       在线性规划早期发展中最重要的发现是对偶问题,即每一个线性规划问题(称为原始问题)有一个与它对应的对偶线性规划问题(称为对偶问题)。 1928年美籍匈牙利数学家 J.von诺伊曼在研究对策论发现线性规划与对策论之间存在着密切的联系。两零和对策可表达成线性规划的原始问题和对偶问题。
      典型的对偶思想如:
      用线性规划的例子入门,也能比较好解释什么是对偶问题。

线性规划中一个经典问题的描述如下:  
某工厂有两种原料A、B,而且能用其生产两种产品: 1、生产第一种产品需要2个A和4个B,能够获利6;
2、生产第二种产品需要3个A和2个B,能够获利4; 此时共有100个A和120个B,问该工厂最多获利多少? 用数学表达式描述如下:
max   6x1+4x2
s.t.    2x1+3x2100
           4x1+2x2120
  工厂除了拿原料生产成产品卖掉这条出路外,还有一种方法是直接将原料卖掉。当然,不管是怎么做都要利益越大话!也就是说,把原料卖掉赚的钱比生产成产品赚的钱多,才去会这样做。那么最低可以接受多少的价格呢?假设资源A和B的单价分别为:y_1和y_2,那么可以用数学表达式描述如下:
min   100w1+120w2
s.t.    2w1+4w26
           3w1+2w24
这两个问题互为对偶问题,分别称之为原问题(P)和对偶问题(D)。[例子来自文献4]

       每一个线性规划问题都存在一个与其对偶的问题,在求出一个问题解的同时,也给出了另一个问题的解。当对偶问题比原始问题有较少约束时,求解对偶规划比求解原始规划要方便得多。
基本形式LP问题(如果对g(λ,ν)和为什么要使用下确界inf不了解,请继续往后面看)
这里写图片描述
在上面的例子中,g(λ,ν)定义为拉格朗日对偶函数,向量向量 λ 和 ν 为对偶变量或者拉格朗日乘子。

g(λ,ν)=infxDL(x,λ,ν)=infxD(f0(x)+i=1mλifi(x)+i=1pνihi(x))

【来自参考文献2】
引入松弛变量,可将一般情形LP问题转换为基本形式LP问题
这里写图片描述
【来自参考文献1】

       但是在机器学习很多算法(比如SVM)中是非线性规划(NP)问题,那么还可以用对偶理论吗?答案是肯定,只是对于一般的问题,定义上需要更加通用一些。
对于任意一个带约束的优化都可以写成这样的形式

mins.t.f0(x)fi(x)0,i=1,,mhi(x)=0,i=1,,p

我们希望把带约束的优化问题转化为无约束的优化问题。为此,我们定义 Lagrangian 如下:
L(x,λ,ν)=f0(x)+i=1mλifi(x)+i=1pνihi(x)
λ0,ν

因为mi=1λifi(x)0, pi=1νihi(x)=0所以:
L(x,λ,ν)f0(x)

自然  max  L(x,λ,ν)f0(x),无论x取定义域内任何值,此式恒成立。
对于原问题的最优解x=pf0(p)为最小值),当然  max  L(p,λ,ν)f0(x)
因此我们可以看到L(p,λ,ν)具有f0(x)下界的特征,进一步来说为下确界(此处非严格的数学证明!!!)
可以定义拉格朗日对偶函数
g(λ,ν)=infxDL(x,λ,ν)=infxD(f0(x)+i=1mλifi(x)+i=1pνihi(x))

最优解满足的条件是什么?

KKT条件(Karush-Kuhn-Tucker)
强对偶性时,假设 x(λ,ν)分别是 原问题 和 对偶问题的极值点,相应的极值为 pd ,首先 p=d ,此时我们可以得到
f0(x)=g(λ,ν)(大白话就是如果一个带约束的原函数有一个可行解,对应的函数值和下确界函数上的一个可行解对应的函数值相同,你说这个值是不是最小值?!)

任何满足 强对偶性(不一定要求是通过 Slater 条件得到,也不一定要求是凸优化问题)的问题都满足 KKT 条件,是 强对偶性的一个必要条件。不过,当原始问题是凸优化问题的时候(当然还要求一应函数是可微的,否则 KKT 条件的最后一个式子就没有意义了),KKT 就可以升级为充要条件。(此处略去充要条件的证明部分)

fi(x)0,hi(x)=0,λi0,λifi(x)=0,f0(x)+mi=1λifi(x)+pi=1νihi(x)=0i=1,,mi=1,,pi=1,,mi=1,,m

前3个等式是约束条件,第4个等式是f0(x)=g(λ,ν)必然要求(很容易看出)。由于g(λ,ν)在(λ^∗,ν^∗)处取得极大值,g(λ,ν)导在x处为0,得到最后一个等式。

参考文献

(1)最优化方法之 对偶理论讲解 http://wenku.baidu.com/link?url=33XanYORmOUHwge5prDC_3nfGElkKkyQuI4hr5YvTlWxprk9qtbEQSIiLBsN4rdE4A3f63PJLCMJ9w3SUk1Y0tVbg4_WTOX0rrM713GoMsy
(2)http://xiaoyc.com/duality-theory-for-optimization/
(3)最优化理论与KKT条件http://blog.csdn.net/loadstar_kun/article/details/25369017
(4)对偶问题 http://www.cnblogs.com/tianchi/archive/2012/09/18/2691492.html
(5)支持向量机:Duality http://blog.pluskid.org/?p=702 写的非常容易理解,重点推荐的好文章

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值