前段时间学了拉格朗日乘子法,学会了构造拉格朗日函数,也就是学会了把带约束(等式或不等式)的优化问题转化为无约束优化问题,私以为这部分就学完了到此为止了,没想到今天推导SVM的数学模型,要推原问题的对偶问题,愣是艰难地卡了大半天,一直没明白对偶问题的含义,原来拉格朗日函数得到以后还要进一步往下推出拉格朗日对偶函数,对偶函数的极值问题就是原问题的对偶问题,本文专门梳理和总结一下,以作学习记录。
本文是此文的续集,需要补充前面的知识可去逛逛,本文有的地方没仔细解释。
对偶理论,1947年提出,最早出现在线性规划中,所以现在的最优化课本里讲对偶问题都是从线性规划开始的,注意初学者看了线性规划里的对偶问题,很容易误以为对偶问题就是原问题的一个等价问题,其实这么想是不正确不严密的,对偶和等价是不同的概念。
本文只讨论拉格朗日对偶问题,线性规划的先不考虑。
考虑最优化模型:
min f ( x ) s . t . h k ( x ) = 0 , g j ( x ) ≤ 0 j = 1 , 2 … , n ; k = 1 , 2 … , l \min f(x) \quad s.t.\quad h_k(x)=0\quad,\quad g_j(x)\leq0\quad j=1,2\ldots,n;k=1,2\ldots,l minf(x)s.t.hk(x)=0,gj(x)≤0j=1,2…,n;k=1,2…,l
L ( x , λ , μ ) = f ( x ) + ∑ k = 1 l λ k h k ( x ) + ∑ j = 1 n μ j g j ( x ) , μ j ≥ 0 \boldsymbol L(x,\boldsymbol \lambda,\boldsymbol\mu)=f(x)+\sum_{k=1}^l\lambda_kh_k(x)+\sum_{j=1}^n\mu_jg_j(x),\mu_j\geq0 L(x,λ,μ)=f(x)+k=1∑lλkhk(x)+j=1∑nμjgj(x),μj≥0
g ( λ , μ ) = inf x ( L ( x , λ , μ ) ) g(\boldsymbol\lambda,\boldsymbol\mu)=\inf_{x}(\boldsymbol L(x,\boldsymbol\lambda,\boldsymbol\mu)) g(λ,μ)=xinf(L(x,λ,μ))
inf 表示下确界,infimum(sup,上确界,supremum)
它只是 λ , μ \boldsymbol\lambda,\boldsymbol\mu λ,μ的函数,与 x x x无关。
它一定是凹函数。这里有证明。
原问题是最小化 f ( x ) f(x) f(x),显然, f ( x ) ≥ L ( x , λ , μ ) f(x)\geq \boldsymbol L(x,\boldsymbol\lambda,\boldsymbol\mu) f(x)≥L(x,λ,μ)
假设 f ∗ f^* f∗是满足原问题约束下的最优解,则
f ∗ = min f ( x ) ≥ min L ( x , λ , μ ) ≥ g ( λ , μ ) , μ i ≥ 0 f^*=\min f(x)\geq\min \boldsymbol L(x,\boldsymbol\lambda,\boldsymbol\mu)\geq g(\boldsymbol\lambda,\boldsymbol\mu) ,\mu_i\geq0 f∗=minf(x)≥minL(x,λ,μ)≥g(λ,μ),μi≥0
所以 g ( λ , μ ) g(\boldsymbol\lambda,\boldsymbol\mu) g(λ,μ)是原问题最优解的下界。
找下界当然是要找最大的下界,所以导出拉格朗日对偶问题
max g ( λ , μ ) , s . t . μ i ≥ 0 \max g(\boldsymbol\lambda,\boldsymbol\mu), s.t.\quad\mu_i\geq0 maxg(λ,μ),s.t.μi≥0
由于 g ( λ , μ ) g(\boldsymbol\lambda,\boldsymbol\mu) g(λ,μ)一定是凹函数,所以拉格朗日对偶问题一定是凸优化问题。
原问题的关于 x x x的最小化转化为了对偶问题关于 λ , μ \boldsymbol\lambda,\boldsymbol\mu λ,μ的最大化。
设 d ∗ d^* d∗是拉格朗日对偶问题的最优解,则不管原问题是不是凸优化问题,都一定有
d ∗ = f ∗ d^*= f^* d∗=f∗
则强对偶成立。这时对偶函数是原问题的紧致下界。
d ∗ ≤ f ∗ d^*\leq f^* d∗≤f∗
则弱对偶成立。
能不能取到强对偶条件取决于目标函数和约束条件的性质。如果满足原问题是凸优化问题,并且至少存在一个绝对可行点(Slater’s condition)(一个可以让所有不等式约束都不取等号的可行点),那么就具有强对偶性。
slater条件:存在x,使得所以不等式约束 g ( x ) ≤ 0 g(x)\leq0 g(x)≤0严格成立(即严格小于)。
slater条件性质: slater条件是原问题P可以等价于对偶问题Q的一个充分条件,该条件确保了鞍点的存在。