拉格朗日对偶问题与 KKT 条件

在学习支持向量机(SVM)的过程中遇到了拉格朗日对偶问题与 KKT 条件,这里简单介绍一下拉格朗日对偶问题的推导。

拉格朗日对偶

拉格朗日对偶求解的问题为:$$\min_x f(x) \\ \text{s.t.} \quad g_i(x) \le 0 \quad i = 1,2,\dots,m \\ h_j(x) = 0 \quad j = 1,2,\dots,n$$ 其中 $f(x)$ 与 $g_i(x)$ 为凸函数,$h_j(x)$ 为仿射函数。

我们引入两种新的变量 $\alpha_i$ 与 $\beta_j$,构造拉格朗日函数 $$L(x,\alpha,\beta) = f(x) + \sum_{i=1}^m\alpha_i g_i(x) + \sum_{j=1}^n\beta_j h_j(x)$$ 帮助解决问题。接下来的所有式子中,要求 $\alpha_i \ge 0$。

另外,由于 $f(x)$ 与 $g_i(x)$ 都是凸函数,$h_j(x)$ 是仿射函数(当然也是凸的),而凸函数的和仍然是凸函数,所以 $L(x,\alpha,\beta)$ 是关于 $x$ 的凸函数。

原问题与对偶问题

定义原问题(primal problem)为 $$\min_x \max_{\alpha,\beta}L(x,\alpha,\beta) = \min_x\theta_p(x)$$ 给定 $x$ 之后,$\theta_p(x)$ 要做的就是调整 $\alpha$ 与 $\beta$,使函数值最大。

如果有一个 $g_i(x)$ 不符合限制条件(即 $g_i(x) > 0$),那么我们让对应的 $\alpha_i$ 趋近于正无穷,就能让函数值趋近于正无穷;同理,如果有一个 $h_j(x)$ 不符合限制条件(即 $h_j(x) \ne 0$),那么我们让对应的 $\beta_j$ 趋向与其同号的无穷,也可以让函数值趋近于正无穷;如果所有的限制条件都符合,由于 $g_i(x) \le 0$,那么为了让 $\theta_p(x)$ 最大,只好让所有的 $\alpha$ 都取 0,此时 $\theta_p(x) = f(x)$。也就是说,原问题通过新引入的两种变量,去掉了原来的限制条件。

定于对偶问题(dual problem)为 $$\max_{\alpha,\beta} \min_x L(x,\alpha,\beta) = \max_{\alpha,\beta} \theta_d(\alpha,\beta)$$

接下来我们将会证明,如果满足 KKT 条件,则对偶问题的解等于原问题的解。有时对偶问题与原问题相比,有一个更加高效的解决方法,此时我们就可以通过解对偶问题来获得原问题的解。

KKT 条件

KKT 条件陈述如下:如果存在 $x^*$,$\alpha^*$ 与 $\beta^*$ 满足
1. $\forall i = 1,2,\dots,m \quad g_i(x^*) \le 0 $ 以及 $\forall j = 1,2,\dots,n \quad h_j(x^*) = 0 $
2. $\forall i = 1,2,\dots,m \quad \alpha_i^* \ge 0$
3. $\nabla_{x^*}L(x^*,\alpha^*,\beta^*) = 0$
4. $\forall i = 1,2,\dots,m \quad \alpha_i^*g_i(x^*) = 0$
则 $x^*$ 是原问题的解,$\alpha^*$ 与 $\beta^*$ 是对偶问题的解,并且 $\theta_p(x^*) = \theta_d(\alpha^*,\beta^*)$

必要性证明

由于 $x^*$ 是原问题的解,所以满足第 1 条;由于 $\alpha^*$ 与 $\beta^*$ 是对偶问题的解,所以满足第二条。

$$\theta_p(x^*) = \theta_d(\alpha^*,\beta^*) = \min_xL(x,\alpha^*,\beta^*) \\ = \min_x(f(x) + \sum_{i=1}^m\alpha_i^*g_i(x) + \sum_{j=1}^n\beta_j^*h_j(x)) \\ \le f(x^*) + \sum_{i=1}^m\alpha_i^*g_i(x^*) + \sum_{j=1}^n\beta_j^*h_j(x^*) \\ \le \max_{\alpha,\beta}(f(x^*) + \sum_{i=1}^m\alpha_ig_i(x^*) + \sum_{j=1}^n\beta_jh_j(x^*)) \\ = f(x^*) = \theta_p(x^*)$$ 由于第一项与最后一项相同,中间所有的小等于号都会取等。把第 3 行与第 5 行联系起来,我们有 $$\sum_{i=1}^m\alpha_i^*g_i(x^*) + \sum_{j=1}^n\beta_j^*h_j(x^*) = 0$$ 再联系 KKT 条件第 1 条,我们有 $$\sum_{j=1}^n\beta_j^*h_j(x^*) = 0$$ 即 $$\sum_{i=1}^m\alpha_i^*g_i(x^*) = 0$$ KKT 条件第 4 条得到满足。再由于拉格朗日函数是凸函数,所以要想让 $f(x^*) = \theta_p(x^*)$ 取最小值,必须要让关于 $x$ 的梯度为 0,KKT 条件第 3 条得到满足。

充分性证明

如果没有 $\theta_p(x^*) = \theta_d(\alpha^*,\beta^*)$,我们利用上一节的证明仍然可以得到 $\theta_d(\alpha,\beta) \le \theta_p(x)$。也就是说,对偶问题的值一定不大于原问题的值。

由对偶问题的定义有 $$\theta_d(\alpha^*,\beta^*) = \min_x(f(x) + \sum_{i=1}^m\alpha_i^*g_i(x) + \sum_{j=1}^n\beta_j^*h_j(x))$$ 而由 KKT 条件第 3 条,再加上 $L(x,\alpha,\beta)$ 是凸的,所以 $$\min_x(f(x) + \sum_{i=1}^m\alpha_i^*g_i(x) + \sum_{j=1}^n\beta_j^*h_j(x)) \\ = f(x^*) + \sum_{i=1}^m\alpha_i^*g_i(x^*) + \sum_{j=1}^n\beta_j^*h_j(x^*)$$ 再由 KKT 条件第 4 条有 $$ f(x^*) + \sum_{i=1}^m\alpha_i^*g_i(x^*) + \sum_{j=1}^n\beta_j^*h_j(x^*) = f(x^*) = \theta_p(x^*)$$ 我们发现原问题的解和对偶问题的解竟然相等了,由于 $\theta_d(\alpha,\beta) \le \theta_p(x)$,我们就知道原问题肯定取到了最小值,而对偶问题肯定取到了最大值,说明我们找到了两者的解。

可是说了半天,这个 $x^*$,$\alpha^*$ 和 $\beta^*$ 到底存不存在呢?事实上,这三个东西的存在性仍然要满足一定条件。其中一种条件就是 Slater‘s condition:如果存在一个原问题的可行解 $x$ 满足 $$\forall i = 1,2,\dots,m \quad g_i(x) < 0$$ 那么就存在这样的 $x^*$,$\alpha^*$ 与 $\beta^*$。Slater‘s condition 的证明我还没有仔细思考过,先假定是成立的吧- -

所以在遇到可以用拉格朗日对偶解决的问题时,我们只需要首先检查问题是否能满足 Slater‘s condition,如果满足就可以利用 KKT 条件求出问题的解。

时间: 2024-11-08 22:07:14

拉格朗日对偶问题与 KKT 条件的相关文章

从对偶问题到KKT条件

转自:http://xuehy.github.io/%E4%BC%98%E5%8C%96/2014/04/13/KKT/ 从对偶问题到KKT条件 Apr 13, 2014 对偶问题(Duality) ====== 对偶性是优化问题中一个非常重要的性质,它能够神奇地将许多非凸的优化问题转化成凸的问题,关于这一理论,恐怕又是一个博大精深的横向领域,这里我们一切从简,就从线性规划(LP)问题的对偶问题讲起. 说到对偶,我总是会不自禁地想起射影几何的东西,不过这里的对偶和射影几何无关,我们先来看一个非常

拉格朗日乘法与KKT条件

问题的引出 给定一个函数\(f\),以及一堆约束函数\(g_1,g_2,...,g_m\)和\(h_1,h_2,...,h_l\).带约束的优化问题可以表示为 \[ \min_{X \in R^n}f(X) \quad s.t. \; g_i(X) \leq 0 \; , \;h_j(X) = 0 \] 下面我们将来讨论具有上述问题的解,一共可以分为四种情况: 无约束条件 只有等式约束条件 只有不等式约束条件 同时有等式和不等式约束条件 无约束条件 我们先来复习一下多元函数取得极值的条件.设\(

关于KKT条件在约束边界的物理意义的思考

学习笔记性质的博文,随时发现错误和疏漏随时修改. 对于有不等式约束的拉格朗日对偶问题,KKT条件可以总结成:约束条件(原始约束和引入拉格朗日乘子后的约束).对x偏导为0.对偶互补条件 进一步可以理解为: ①对于无约束的变量偏导为0 ②对于有约束的变量,在约束边界偏导可以不为0,不在约束边界偏导必为0 其中,不在约束边界的情况提供了函数值的伸缩性,使其取值为一个空间而不是一个点. 对偶互补条件就是对②的数学描述: 其中是原始约束. 对偶互补条件的在约束边界的物理意义: 当不位于原始边界时,它在各个

拉格朗日乘数法与KKT条件

关于拉格朗日乘数法和KKT条件的一些思考 从我开始接触拉格朗日乘数法到现在已经将近有四个月了,但似乎直到今天我对其的理解才开始渐渐清晰,相信很多人在科研初期也会对一些基础的算法困惑不解,而一篇好的教程则可以大大缩短困惑的时间,从而把更多时间用在开创性的工作上去.经过近几日的搜索,我发现网上还是有一些说明是很不错得,英文较好的同学可以直接去阅读Hugo的介绍(http://www.onmyphd.com/?p=lagrange.multipliers).下面是我近几日学下来的一些见解,看下来如果有

带约束优化问题 拉格朗日 对偶问题 KKT条件

转自:七月算法社区http://ask.julyedu.com/question/276 咨询:带约束优化问题 拉格朗日 对偶问题 KKT条件 关注 | 22 ... 咨询下各位,在机器学习相关内容中,每次看到带约束优化问题,总是看到先用拉格朗日函数变成无约束问题,然后转成求拉格朗日对偶问题,然后有凸函数假设,满足KKT条件时原问题最优解和对偶问题最优解等价. 每次看到这个,总不是很理解为什么要这么做?为什么首先转为无约束问题(这个相对好理解一点,因为容易处理)为什么拉格朗日函数无约束问题要转变

机器学习笔记——拉格朗日乘子法和KKT条件

拉格朗日乘子法是一种寻找多元函数在一组约束下的极值方法,通过引入拉格朗日乘子,可将有m个变量和n个约束条件的最优化问题转化为具有m+n个变量的无约束优化问题.在介绍拉格朗日乘子法之前,先简要的介绍一些前置知识,然后就拉格朗日乘子法谈一下自己的理解. 一 前置知识 1.梯度  梯度是一个与方向导数有关的概念,它是一个向量.在二元函数的情形,设函数f(x,y)在平面区域D内具有一阶连续偏导,则对于每一点P(x0,y0)∈D,都可以定义出一个向量:fx(x0,y0)i+fy(x0,y0)j ,称该向量

SVM(二)拉格朗日对偶问题

2 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用来表示算子,得到拉格朗日公式为 L是等式约束的个数. 然后分别对w和求偏导,使得偏导数等于0,然后解出w和.至于为什么引入拉格朗日算子可以求出极值,原因是f(w)的dw变化方向受其他不等式的约束,dw的变化方向与f(w)的梯度垂直时才能获得极值,而且在极值处,f(w)的梯度与其他等式梯度

关于拉格朗日乘子法与KKT条件

关于拉格朗日乘子法与KKT条件 关于拉格朗日乘子法与KKT条件 目录 拉格朗日乘子法的数学基础 共轭函数 拉格朗日函数 拉格朗日对偶函数 目标函数最优值的下界 拉格朗日对偶函数与共轭函数的联系 拉格朗日对偶问题 如何显式的表述拉格朗日对偶问题 由定义消去下确界 隐式求解约束 共轭函数法 弱对偶 强对偶 原始问题与对偶问题的关系 最优条件 互补松弛条件 KKT条件 一般问题的KKT条件 凸问题的KKT条件 KKT条件的用途 拉格朗日乘数法的形象化解读 等式约束的拉格朗日乘子法 含有不等约束的情况

关于拉格朗日乘子法和KKT条件

解密SVM系列(一):关于拉格朗日乘子法和KKT条件 标签: svm算法支持向量机 2015-08-17 18:53 1214人阅读 评论(0) 收藏 举报  分类: 模式识别&机器学习(42)  版权声明:本文为博主原创文章,未经博主允许不得转载. 原文链接 :http://blog.csdn.net/on2way/article/details/47729419 写在之前 支持向量机(SVM),一个神秘而众知的名字,在其出来就受到了莫大的追捧,号称最优秀的分类算法之一,以其简单的理论构造了复