知方号

知方号

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

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

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

该部分是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 egin{array}{l} min _{x in R^{n}} f(x) \ ext { 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} minx∈Rn​f(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, eta)=f(x)+sum_{i=1}^{k} alpha_{i} c_{i}(x)+sum_{i=1}^{l} eta_{i} h_{i}(x) L(x,α,β)=f(x)+i=1∑k​αi​ci​(x)+i=1∑l​βi​hi​(x) 该函数把约束条件和目标函数放在了一起,这样我们就可以更方便的进行分析了。但是现在这个问题和我们的目标还不太一样,我们的目标只是求 min ⁡ x f ( x ) min_xf(x) minx​f(x),而现在的 L ( x , α , β ) L(x, alpha, eta) L(x,α,β)多了后面的两个约束部分,并不是等价的,那么找个办法让它们等价,也就是让 min ⁡ x L ( x , α , β ) min_xL(x, alpha, eta) minx​L(x,α,β)等价于 min ⁡ x f ( x ) min_xf(x) minx​f(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} eta_{i} h_{i}(x) ∑i=1m​αi​ci​(x)+∑i=1m​βi​hi​(x)等于0,那这个问题岂不就相等了,当然,我们肯定也不能简单的让 α 、 β alpha、eta α、β等于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} eta_{i} h_{i}(x) ∑i=1k​αi​ci​(x)+∑i=1l​βi​hi​(x)这一坨为0,其实后面的等式约束我们可以暂时不考虑了,反正都等于0嘛。在 ∑ i = 1 m α i c i ( x ) sum_{i=1}^{m} alpha_{i} c_{i}(x) ∑i=1m​αi​ci​(x)中,我们假定 α i ≥ 0 alpha_ige0 αi​≥0,那么 ∑ i = 1 k α i c i ( x ) sum_{i=1}^{k}alpha_{i} c_{i}(x) ∑i=1k​αi​ci​(x)就是小于等于0 ,那么不就是让这一部分取到最大嘛!即: θ P ( x ) = max ⁡ α , β : α i ⩾ 0 [ f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ] heta_{P}(x)=max _{alpha, eta: alpha_{i} geqslant 0}left[f(x)+sum_{i=1}^{k} alpha_{i} c_{i}(x)+sum_{j=1}^{l} eta_{j} h_{j}(x) ight] θP​(x)=α,β:αi​⩾0max​[f(x)+i=1∑k​αi​ci​(x)+j=1∑l​βj​hj​(x)]

θ P ( x ) = { f ( x ) , x  满足原始问题约束  + ∞ ,  其他  heta_{P}(x)=left{egin{array}{ll} f(x), & x ext { 满足原始问题约束 } \ +infty, & ext { 其他 } end{array} ight. θP​(x)={f(x),+∞,​x 满足原始问题约束  其他 ​

原始问题可表示为: min ⁡ x θ P ( x ) = min ⁡ x max ⁡ α , β : α i ⩾ 0 L ( x , α , β ) min _{x} heta_{P}(x)=min _{x} max _{alpha, eta: alpha_{i} geqslant 0} L(x, alpha, eta) xmin​θP​(x)=xmin​α,β:αi​⩾0max​L(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, eta ; alpha_{i} geq 0} heta_{D}(alpha, eta)=max _{alpha, eta ; alpha_{i} geq 0} min _{x} L(x, alpha, eta) α,β;αi​≥0max​θD​(α,β)=α,β;αi​≥0max​xmin​L(x,α,β) 该问题就称之为原始问题的对偶问题。转化成这种形式后就可以先对x进行求导,然后再求 α alpha α的最大值了。(待补充例题)

该问题在一定条件(KKT条件)下是相等的(强对偶)。具体来说 d ∗ = max ⁡ α , β ; α i ≥ 0 min ⁡ x L ( x , α , β ) ≤ min ⁡ x max ⁡ α , β ; α i ≥ 0 L ( x , α , β ) = p ∗ d^{*}=max _{alpha, eta ; alpha_{i} geq 0} min _{x} L(x, alpha, eta) leq min _{x} max _{alpha, eta ; alpha_{i} geq 0} L(x, alpha, eta)=p^{*} d∗=α,β;αi​≥0max​xmin​L(x,α,β)≤xmin​α,β;αi​≥0max​L(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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。