支持向量机(SVM)与其理论发展(2):对偶学习
来源:互联网 发布:深圳程序员猝死 编辑:程序博客网 时间:2024/05/16 06:56
支持向量机(SVM)与其理论发展(2):对偶学习
一 、对偶理论
对偶(dual)这个词在优化理论中是相当常见的,在基础的数学课上我们学过条件极值的拉格朗日乘子法,在初步的运筹学中有线性规划的对偶算法,这里用到的对偶理论具体地称为拉格朗日对偶,就我看来是综合了分析中的拉格朗日乘子与线性对偶的结果。所谓对偶,就是将原问题变形为所谓的对偶问题,从而得到对原问题优化的估计,比如,最优值的下界,并利用某些性质侧面的得到原问题的解。最大熵模型和支持向量机是两个比较常见的利用对偶原理的例子。
下面我们暂时脱离支持向量机的问题,来看一般的拉格朗日对偶理论:
原始问题:
默认所考虑的定义域
相比较分析学中的条件极值,这里加入了不等式约束,我们仍然构建形式相同的拉格朗日函数:
我们将
接下来引入拉格朗日对偶函数:
对偶函数其实是拉格朗日函数的逐点下确界,它有一些很有用的性质。
拉格朗日对偶函数的一些性质
1.对偶函数在
λ≥0 时构成了原问题最优值p∗ 的下界,也就是∀λ≥0,ν,g(λ,ν)≤p∗ 。
这是容易证明的,对原始问题的任一可行点x∗ ,我们有L(x∗,λ,ν)=f0(x∗)+∑mi=1λifi(x∗)+∑pi=1νihi(x∗) =f0(x∗)+∑mi=1λifi(x∗)≤f0(x∗)
所以g(λ,ν)=infx∈DL(x,λ,ν)≤L(x∗,λ,ν)≤f0(x∗)
也就有g(λ,ν)≤p∗, ∀λ≥0,ν 。2.对偶函数
g(λ,ν) 是凹函数。(注意此时仍然没有要求函数的凹凸性)g(aλ1+(1−a)λ2,aν1+(1−a)ν2)=infx∈DL(x,aλ1+(1−a)λ2,aν1+(1−a)ν2)=infx∈D(f0(x)+∑mi=1(aλ1+(1−a)λ2)ifi(x)+∑pi=1(aν1+(1−a)ν2)ihi(x))≥infx∈Da(f0(x)+∑mi=1λ1ifi(x)+∑pi=1ν1ihi(x))+infx∈D(1−a)(f0(x)+∑mi=1λ2ifi(x)+∑pi=1ν2ihi(x))
最后一个不等号成立按照inf 的定义即可得到。- 3.弱对偶性
拉格朗日对偶问题的最优值d∗ 是原问题最优值的下界,即d∗≤p∗ 。这是第一个性质的直接结论。特别的,对最优值去广义实数∞ 也成立。同时定义差值p∗−d∗ 为原问题的最优对偶间隙。
进一步的,如果等式p∗=d∗
成立,则称有强对偶性。
对于一般情况,强对偶性不成立,但是对于凸问题minx∈Rn f0(x)subject to fi(x)Ax≤0, i=1,⋯,m=b
其中函数fi(x), i=0,⋯,m 是凸函数,此时强对偶性通常(但不总是)成立,已经有很多工作找出了在凸问题下强对偶性成立的条件,这些条件称为约束准则(例如slater条件,这里暂时不详细解释,文章最后会有相关描述,它可以得到线性规划问题中只要有可行解则强对偶性必然成立的结论,也描述了可达性的一些问题)。
最优条件
我们希望在某些条件下可以通过对偶问题来得到原问题的最优解,这时候就需要考虑我们需要的最优条件是什么。
首先我们提出所谓的互补松弛定理:
设原问题和对偶问题最优值均可达并且相等,分别有最优解
x∗ 和(λ∗,ν∗) ,根据定义有f0(x∗)==≤≤g(λ∗,ν∗)infx∈D(f0(x)+∑i=1mλ∗ifi(x)+∑i=1pν∗ihi(x))f0(x∗)+∑i=1mλ∗ifi(x∗)+∑i=1pν∗ihi(x∗)f0(x∗)
因此我们得到两个结论:x∗ 是L(x,λ∗,ν∗) 的最小值点。∑mi=1λ∗ifi(x∗)=0
上述第二个结论就称为互补松弛性,我们可以进一步写为:
KKT(Karush-Juhn-Tucker)最优条件:
首先假设
我们先从必要性入手,如果
综合互补松弛定理,我们得到一下一系列结果:
以上就称为KKT条件。
我们特别地来讨论凸问题中的KKT条件:
此时
由定义
于是我们得到结论:
- 对于可微的凸优化问题,满足KKT条件的点分别是原问题和对偶问题的最优解。
进一步地: - 对于可微的凸优化问题,KKT条件是某一组解为最优解的充分必要条件。
好了,我们已经做完了大部分工作了,但是有一点漏洞:如果最优解根本就不存在,我们将问题转换为对偶问题也就没有意义了,或者问题的最优间隙不为0,同样导致对偶不能充分发挥作用。因此在最后还要介绍一下slater条件
Slater条件
正如我们在前文提到的,Slater条件是一个简单的约束准则。借用wiki中介绍:Slater’s condition (or Slater condition) is a sufficient condition for strong duality to hold for a convex optimization problem。
Slater条件的内容是:
- 对于凸优化问题,若存在一点
x∈relint D (D的相对内点)使得fi(x)<0, i=1,⋯,m, Ax=b
成立,也称为该点严格可行。
则此时强对偶性成立。
如果凸约束
- 对于凸优化问题,若存在一点
x∈relint D 使得fi(x)≤0, i=1,⋯,k fi(x)<0, i=k+1,⋯,m Ax=b
则此时强对偶性成立,其中fi(x) i=1,⋯,k ,是仿射函数,即允许仿射函数约束不严格成立。
关于Slater条件的证明,这篇文章不详细写出,已知的一个证明方法是将
个人博客,请勿转载
- 支持向量机(SVM)与其理论发展(2):对偶学习
- #支持向量机(SVM)与其理论发展(1)
- SVM-支持向量机学习(2):线性可分SVM的对偶型
- 林轩田--机器学习技法--SVM笔记2--对偶支持向量机(dual+SVM)
- 支持向量机SVM中的对偶问题
- Dual SVM (对偶支持向量机)
- SVM——对偶支持向量机
- 学习笔记——支持向量机svm(2)对偶问题
- SVM支持向量机-拉格朗日,对偶算法的初解
- SVM支持向量机-拉格朗日,对偶算法的初解
- SVM支持向量机-拉格朗日,对偶算法的初解
- 支持向量机(SVM)(二)----对偶
- 支持向量机(SVM)中对偶问题的理解
- 最优化理论和支持向量机的对偶问题
- 【机器学习基础】对偶支持向量机
- 【机器学习基础】对偶支持向量机
- 机器学习----支持向量机(对偶)
- 支持向量机SVM 原理、推导与Matlab实现(2)-对偶问题
- Python教程之三-----深入流程控制
- Codeforces 849B
- Python Web开发 之Django框架入门学习笔记(一)——安装和初步使用
- 一个简单的Java反射Demo
- Hadoop Left Join
- 支持向量机(SVM)与其理论发展(2):对偶学习
- Qt5注册全局热键
- Hadoop Left Join2
- Linux下C语言多线程学习之一——线程的创建
- 网页特效代码
- Codeforces
- 使用weka内置算法分析数据(图形界面操作)
- Atitit 个人 企业 政府 等组织 财政收入分类与提升途径attilax总结 v2
- Python(三)