拉格朗日法与对偶问题的个人理解

拉格朗日对偶性的个人理解

该部分是svm的理解基础
https://www.cnblogs.com/dreamvibe/p/4349886.html(可参考)
https://zhuanlan.zhihu.com/p/38182879(也可以去参考李航的统计学习方法中的附录部分)
https://www.zhihu.com/question/58584814O(可参考)
https://charlesliuyx.github.io/2017/09/20/拉格朗日乘法和KKT条件/(图和例题)

我们的问题针对的是下面的优化问题,在等式约束和不等式约束的情况下求函数的最小值。
min ⁡ x ∈ R n f ( x )  s.t.  c i ( x ) ≤ 0 , i = 1 , 2 , … , k h j ( x ) = 0 , j = 1 , 2 , … , l \begin{array}{l} \min _{x \in R^{n}} f(x) \\ \text { s.t. } \quad c_{i}(x) \leq 0, \quad i=1,2, \ldots, k \\ \quad h_{j}(x)=0, \quad j=1,2, \ldots, l \end{array} minxRnf(x) s.t. ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l
对于等式约束,简单问题可以直接带入 f ( x ) f(x) f(x)进行求导。但是对于不等式约束,就难以解决了。( c i ( x ) c_{i}(x) ci(x) 通常是小于等于0,不要写成大于等于0,便于之后的公式推导)

最优化中通常采用构造拉格朗日函数的对偶问题来解决上面的问题。构造的拉格朗日函数如下:
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ i = 1 l β i h i ( x ) L(x, \alpha, \beta)=f(x)+\sum_{i=1}^{k} \alpha_{i} c_{i}(x)+\sum_{i=1}^{l} \beta_{i} h_{i}(x) L(x,α,β)=f(x)+i=1kαici(x)+i=1lβihi(x)
该函数把约束条件和目标函数放在了一起,这样我们就可以更方便的进行分析了。但是现在这个问题和我们的目标还不太一样,我们的目标只是求 min ⁡ x f ( x ) \min_xf(x) minxf(x),而现在的 L ( x , α , β ) L(x, \alpha, \beta) L(x,α,β)多了后面的两个约束部分,并不是等价的,那么找个办法让它们等价,也就是让 min ⁡ x L ( x , α , β ) \min_xL(x, \alpha, \beta) minxL(x,α,β)等价于 min ⁡ x f ( x ) \min_xf(x) minxf(x)。直观的来看,如果 ∑ i = 1 m α i c i ( x ) + ∑ i = 1 m β i h i ( x ) \sum_{i=1}^{m} \alpha_{i} c_{i}(x)+\sum_{i=1}^{m} \beta_{i} h_{i}(x) i=1mαici(x)+i=1mβihi(x)等于0,那这个问题岂不就相等了,当然,我们肯定也不能简单的让 α 、 β \alpha、\beta αβ等于0,那我们上面的就没有意义了。$$

现在我们的目标是让 ∑ i = 1 k α i c i ( x ) + ∑ i = 1 l β i h i ( x ) \sum_{i=1}^{k} \alpha_{i} c_{i}(x)+\sum_{i=1}^{l} \beta_{i} h_{i}(x) i=1kαici(x)+i=1lβihi(x)这一坨为0,其实后面的等式约束我们可以暂时不考虑了,反正都等于0嘛。在 ∑ i = 1 m α i c i ( x ) \sum_{i=1}^{m} \alpha_{i} c_{i}(x) i=1mαici(x)中,我们假定 α i ≥ 0 \alpha_i\ge0 αi0,那么 ∑ i = 1 k α i c i ( x ) \sum_{i=1}^{k}\alpha_{i} c_{i}(x) i=1kαici(x)就是小于等于0 ,那么不就是让这一部分取到最大嘛!即:
θ P ( x ) = max ⁡ α , β : α i ⩾ 0 [ f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ] \theta_{P}(x)=\max _{\alpha, \beta: \alpha_{i} \geqslant 0}\left[f(x)+\sum_{i=1}^{k} \alpha_{i} c_{i}(x)+\sum_{j=1}^{l} \beta_{j} h_{j}(x)\right] θP(x)=α,β:αi0max[f(x)+i=1kαici(x)+j=1lβjhj(x)]

θ P ( x ) = { f ( x ) , x  满足原始问题约束  + ∞ ,  其他  \theta_{P}(x)=\left\{\begin{array}{ll} f(x), & x \text { 满足原始问题约束 } \\ +\infty, & \text { 其他 } \end{array}\right. θP(x)={f(x),+,x 满足原始问题约束  其他 

原始问题可表示为:
min ⁡ x θ P ( x ) = min ⁡ x max ⁡ α , β : α i ⩾ 0 L ( x , α , β ) \min _{x} \theta_{P}(x)=\min _{x} \max _{\alpha, \beta: \alpha_{i} \geqslant 0} L(x, \alpha, \beta) xminθP(x)=xminα,β:αi0maxL(x,α,β)
但是写成这种形式对x不能求导,所以我们需要转换成max min的形式,这时候,x就在里面了,这样就能对x求导了(这句话我并没有真正理解,抄自于https://www.cnblogs.com/huangshiyu13/p/6580892.html),也就是
max ⁡ α , β ; α i ≥ 0 θ D ( α , β ) = max ⁡ α , β ; α i ≥ 0 min ⁡ x L ( x , α , β ) \max _{\alpha, \beta ; \alpha_{i} \geq 0} \theta_{D}(\alpha, \beta)=\max _{\alpha, \beta ; \alpha_{i} \geq 0} \min _{x} L(x, \alpha, \beta) α,β;αi0maxθD(α,β)=α,β;αi0maxxminL(x,α,β)
该问题就称之为原始问题的对偶问题。转化成这种形式后就可以先对x进行求导,然后再求 α \alpha α的最大值了。(待补充例题)

该问题在一定条件(KKT条件)下是相等的(强对偶)。具体来说
d ∗ = max ⁡ α , β ; α i ≥ 0 min ⁡ x L ( x , α , β ) ≤ min ⁡ x max ⁡ α , β ; α i ≥ 0 L ( x , α , β ) = p ∗ d^{*}=\max _{\alpha, \beta ; \alpha_{i} \geq 0} \min _{x} L(x, \alpha, \beta) \leq \min _{x} \max _{\alpha, \beta ; \alpha_{i} \geq 0} L(x, \alpha, \beta)=p^{*} d=α,β;αi0maxxminL(x,α,β)xminα,β;αi0maxL(x,α,β)=p
当满足一定条件时, d ∗ = p ∗ d^{*}=p^{*} d=p,体现出强对偶性。这里的条件就有SVM中的KKT条件:

对于原始问题及其对偶问题,假设函数 f ( x ) f(x) f(x) c i ( x ) c_i(x) ci(x) 是凸函数, h i ( x ) h_i(x) hi(x)是仿射函数,且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,即存在 x x x,对所有 i i i c i ( x ) < 0 c_i(x)<0 ci(x)<0 , 则存在 x ∗ , α ∗ , β ∗ x^{*}, \alpha^{*}, \beta^{*} x,α,β,使 x ∗ x^{*} x是原始问题的解, α ∗ , β ∗ \alpha^{*}, \beta^{*} α,β是对偶问题的解的充分必要条件是 x ∗ , α ∗ , β ∗ x^{*}, \alpha^{*}, \beta^{*} x,α,β满足下面的**Karush-Kuhn-Tucker(KKT)**条件:
∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , ⋯   , k c i ( x ∗ ) ≤ 0 , i = 1 , 2 , ⋯   , k α i ∗ ≥ 0 , i = 1 , 2 , ⋯   , k h j ( x ∗ ) = 0 , j = 1 , 2 , ⋯   , l \begin{array}{l} \nabla_{x} L\left(x^{*}, \alpha^{*}, \beta^{*}\right)=0 \\ \alpha_{i}^{*} c_{i}\left(x^{*}\right)=0, \quad i=1,2, \cdots, k \\ c_{i}\left(x^{*}\right) \leq 0, \quad i=1,2, \cdots, k \\ \alpha_{i}^{*} \geq 0, \quad i=1,2, \cdots, k \\ h_{j}\left(x^{*}\right)=0, \quad j=1,2, \cdots, l \end{array} xL(x,α,β)=0αici(x)=0,i=1,2,,kci(x)0,i=1,2,,kαi0,i=1,2,,khj(x)=0,j=1,2,,l
总的来说就是说任何满足强对偶性的优化问题,只要其目标函数与约束函数可微,任一对原始问题与对偶问题的解都是满足 KKT 条件的。即满足强对偶性的优化问题中,若 x ∗ x^{*} x为原始问题的最优解, α ∗ , β ∗ \alpha^{*}, \beta^{*} α,β为对偶问题的最优解,则可得 x ∗ , α ∗ , β ∗ x^{*}, \alpha^{*}, \beta^{*} x,α,β满足KKT条件.

除此之外还有Slater条件:对于原始问题及其对偶问题,假设函数 f ( x ) f(x) f(x) c i ( x ) c_i(x) ci(x) 是凸函数, h i ( x ) h_i(x) hi(x)是仿射函数,且假设不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,即存在 x x x,对所有 i i i c i ( x ) < 0 c_i(x)<0 ci(x)<0 , 则存在 x ∗ , α ∗ , β ∗ x^{*}, \alpha^{*}, \beta^{*} x,α,β,使 x ∗ x^{*} x是原始问题的解, α ∗ , β ∗ \alpha^{*}, \beta^{*} α,β是对偶问题的解,并且
p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^{*}=d^{*}=L\left(x^{*}, \alpha^{*}, \beta^{*}\right) p=d=L(x,α,β)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值