支持向量机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
支持向量机
support vector machine
SVM
支持向量机
•SVM从线性可分情况下的最优分类面发展而来。
•最优分类面就是要求分类线不但能将两类正确分开(训练错误率为0),且使分类间隔最大。
•SVM考虑寻找一个满足分类要求的超平面,并且使边缘最大。
•过两类样本中离分类面最近的点且平行于最优分类面的超平面上的训练样本就叫做支持向量。
三大部分:
1.线性支持向量机:可分情况
2.线性支持向量机:不可分情况
3.非线性支持向量机
为了解释SVM的基本思想,首先介绍最大边缘超平面的概念以及选择它的基本原理。
然后,描述在线性可分的数据上怎样训练一个线性的SVM,从而明确的找到最大边缘超平面。
最后,介绍如何将SVM方法扩展到非线性可分的数据上。
超平面:平面中的直线在高维空间中的推广;数据集是线性可分的;
决策边界;
边缘:一对超平面之间的间距;
最大边缘超平面:边缘最大。
最大边缘超平面表示+1
表示-1
表示+1
表示-1
表示-1
最大间隔
表示+1
表示-1
决策边界
超平面边缘
B1是训练样本的最大边缘超平面
最大边缘的基本原理
边缘比较小时,决策边界任何轻微的扰动都可能对分类产生显著的影响;
决策边界边缘较小的分类器对模型的过分拟合更加敏感,从而泛化误差较大;
具有较大边缘的决策边界具有更好的泛化误差。
结构风险最小化理论:
结构风险=置信区间+经
验风险
支持向量机的理论基础
3.VC维
定义:对一个指示函数集,如果存在h个样本能够被函数集中的函数按所有可能的2h种形式分开,则称函数集能够把h个样本打散;函数集的VC维就是它能打散的最大样本数目h.若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大.
V C维反映了函数集的学习能力,V C维越大则学习机器越复杂(容量越大).学习能力越强。
结构风险最小化(SRM)理论:
分类器的训练误差、训练样本N 和模型的复
杂度h (能力),给出了分类器泛化误差的一个上界R 。
具体的说,在概率下,
e R η-1)4ln )12(ln (8η
+++≤h N h N R R e 体现了训练误差和模型复杂度的折中。
线性支持向量机:可分情况
目的:寻求具有最大边缘的超平面。
分三部分来学习:
1.线性决策边界
2.线性分类器的边缘
3.线性SVM模型
1.线性决策边界
形式:
x
w
⋅b
(=
)
+
W的方向垂直于决策边界
线性支持向量机:可分情况
1.线性决策边界
对于任何位于决策边界上方的方块,有
s X k b s =+⋅)(x w 0
>k 对于任何位于决策边界上方的方块,有
c X ')(k b c =+⋅x w 0
'<k 预测任何测试样本Z 的类标号y :
⎩⎨⎧-=11y 0
)z (>+⋅b w 0
)z (<+⋅b w
2.线性分类器的边缘
考虑距离决策边界最近的方块和圆圈。
调整决策边界的参数w 和b ,两个平行的超平面和可以表示如下:
1i b 2i b 1
)(:1=+⋅b b i x w 1
-)(:2=+⋅b b i x w 可得到边缘d 的公式:
w 2=d
3.线性SVM 模型
最大化边缘等价于最小化下面的目标函数:
2
w min
2
w
2
w )w (2
=
f (),1x w ≥+⋅b y i i N
i ,Λ,2,1=SVM 的学习任务可以形式化的描述为以下被约束的优化问题:
受限于
3.线性SVM 模型
该问题是凸优化问题,可以通过拉格朗日乘子方法来解。
拉格朗日函数:
∑=-+⋅-=N
i i i i p b y L 1
2
)
1)x w ((w 21λ对关于w 和b 求偏导,并令它们等于零:
p L ∑==⇒=∂∂N
i i
i i p y L 1
x w 0w λ∑==⇒=∂∂N
i i i p y b
L 1
0λ
3.线性SVM 模型
∑==⇒=∂∂N
i i
i i p y L 1
x w 0w λ∑==⇒=∂∂N
i i i p y b
L 1
0λ此时不能得到w 和b 的解。
若只包含等式约束,则我们可利用从该等式约束中得到的N 个方程和上述两个方程就可得到w ,b 和的可行解。
i λ(5-39)
(5-40)
3.线性SVM 模型
KKT 条件:限制拉格朗日乘子非负,把不等式约束变换成等式约束。
得到:
)1)x w ((=-+⋅b y i i i λ0
≥i λ那些的训练实例位于超平面和上,称为支持向量。
不在这些超平面上的实例可定满足。
定义决策边界的参数w 和b 仅依赖于这些支持向量。
0>i λ1i b 2
i b 0=i λ(5-41)(5-42)
3.线性SVM 模型
将拉格朗日函数变换成仅包含拉格朗日乘子的函数(称为对偶问题),可以简化该问题。
该优化问题的对偶公式为:
∑∑⋅-==j i j
i j i j i N
i i D y y L ,1
x x 21
max
λλλ求出的值后,就可以通过公式(5-39)和
(5-40)来求得w 和b 的可行解。
i λ(5-43)
∑==N
i i
i i y 1x w λi
i x y b ⋅-=w 不唯一,取平均值。
3.线性SVM 模型
决策边界可表示为:
∑==+⋅N
i i i i y 10
b x )x (λ(5-44)
检验实例z 就可以按以下的公式来分类:
)
z x ()z w ()z (1
∑=+⋅=+⋅=N
i i i i b y sign b sign f λ
线性支持向量机:可分情况
算法:
①设已知训练集②构造并求解凸二次规划
)}
,(),,{(11N N y x y x T Λ=2
w min
2
w
(),1x w ≥+⋅b y i i N
i ,Λ,2,1=s.t.
得解:和。
构造分化超平面
由此求得决策函数*
w *
b 0
=+⋅b x w )
x w ()z (*
*
b sign f +⋅=
线性支持向量机:不可分情况
尽管决策边界B1误分类了新样本,
而B2正确分类了它们,但B1可能
比B2更可取,因为它具有较宽的
边缘,对过分拟合不太敏感。
线性支持向量机:不可分情况
用软边缘的方法修正已给的SVM公式,允许一定训练错误的决策边界。
下面给出的方法允许SVM在一些类线性不可分的情况下构造线性的决策边界(注意考虑边缘的宽度与线性决策边界允许的训练错误数目之间的折中)。
线性支持向量机:不可分情况
放松不等式的约束,以适应非线性可分数据,通过引入正值的松弛变量来实现:
ξi
i b ξ+≤+⋅1-x w i i b ξ-1≥+⋅x w 如果1=i y 如果1
-=i y 其中,。
0:>∀i i ξ
线性支持向量机:不可分情况
由于在决策边界误分样本的数量上没有限制,学习算法可能会找到这样得到决策边界,它的边缘很宽,但是误分了许多训练实例。
线性支持向量机:不可分情况
为了避免这个问题,必须修改目标函数,以惩罚松弛变量值很大的决策边界。
修改后的目标函数如下:
k
N i i C f )
(2w
)w (min 12∑=+=ξ其中C 和k 是用户指定得到参数,表示对误分训练实例的惩罚。
为了简化该问题,以下假定k =1。
线性支持向量机:不可分情况由此,拉格朗日函数为:
∑∑∑===-+-+⋅-+=N i i i N i i i i i N i i p b y C L 1112}1)x w ({w 21ξμξλξKKT 条件:
}1)x w ({=+-+⋅i i i i b y ξλ0
00≥≥≥i i i μλξ,,0
=i i ξμ
线性支持向量机:不可分情况
令L 关于w ,b 和的一阶导数为零,得到如下公式:
i ξ∑==
⇒=∂∂N
i ij i i p y L 1
j j x w 0w λ∑==⇒=∂∂N
i i i p y b L 1
0λC
L i i p
=+⇒=∂∂μλξ0i
即可求得。
线性支持向量机:不可分情况或利用对偶拉格朗日函数求解:
∑∑⋅-==j i j i j i j i N
i i D y y L ,1x x 21λλλ与线性可分数据上的对偶拉格朗日函数相同。
不同之处在于,线性可分情况下,线性不可分情况下。
0≥i λC i ≤≤λ0然后使用二次规划技术,求对偶问题的数值解,得到拉格朗日乘子,进而求得决策边
界的参数。
i λ
非线性支持向量机
非线性SVM 的思想:
通过一个非线性映射把原始数据变换到新的高维特征空间上:
()()()()()x x x x x 21s ΦΦΦ=Φ,,,Λα在新的空间上设计线性SVM 分类器。
非线性支持向量机
下面分四部分介绍:
1.属性变换;
2.学习非线性SVM模型;
3.核技术;
4.Mercer定理。
1.
属性变换
⎪⎩⎪⎨⎧>-+-=否则如果1
-2.0)5.0()5.0(1),(222121x x x x y
1.属性变换数据集的决策边界:
2.0)5.0()5.0(2
221=-+-x x 进一步简化为:
46.0--222
12
1-=+x x x x 假定选择下面的变换:
)1,2,2,2(),(212122
2
121x x x x x x x x ,,:→Φ在变换后的空间中,我们找到参数),,(w 510w w w ,Λ=02220211221322
42
15=+++++w x x w x w x w x w x w
1.属性变换以和为坐标绘图,可构建一个线性的决策边界如下:121-x x 222-x x
2.学习非线性SVM 模型
为了解释属性变换方法存在的实现问题,并考察处理它们的方法,假定存在一个合适的函数,在变换后的空间中,线性决策边界具有以下形式:)(x Φ0
)(=+Φ⋅b x w 优化任务:
2w min 2
w (),
1)x (w ≥+Φ⋅b y i i N i ,Λ,2,1=s.t.
2.学习非线性SVM 模型对偶拉格朗日函数:
∑∑Φ⋅Φ-==j i j i j i j i N
i i D y y L ,1)x ()(x 21λλλ∑=Φ=N
i i i i y 1)
(x w λ使用二次规划技术得到后,可通过下面的
方程得到参数w 和b :
i λ0
}1))x ()(x ({=-+Φ⋅Φ∑b y y j
j i j j i i λλ
2.学习非线性SVM 模型
得到决策函数:
)
z)()(x ()z)(w ()z (1∑=+Φ⋅Φ=+Φ⋅=n
i i i i b y sign b sign f λ公式都涉及计算变换后的空间中向量对之间的
点积(即相似度),该运算相当麻烦,可能导致维数灾难,一种突破性解决方案是核技术。
()()j
i x x Φ⋅Φ
3.核技术
核技术是一种使用原属性集计算变换后的空间中的相似度的方法。
)
1,2,2,2()1,2,2,2()v ()u (2121222121212221v v v v v v u u u u u u ,,,,⋅=Φ⋅Φ2
)1v u (+⋅=变换后的空间中的点积可以用原空间中的相似度函数表示:
()()()
21v u v u )v ,u (+⋅=Φ⋅Φ=K 这个在原空间中计算相似度的函数K 称为核函数。
3.核技术
核技术有助于处理如下问题:
①不需要知道映射函数的确切形式;
②相对于使用变换后的属性集,使用核技术计算点积的开销更小;
③在原空间上计算,可避免维数灾难。
3.核技术
检验实例z 可以通过下式分类:
)1)z (x ()
z),(x ()
z)()x (()z (1
2
1
1∑∑∑===++⋅=+=+Φ⋅Φ=n i i i i n
i i i i i i n
i i b y sign b K y sign b y sign f λλλ
4.Mercer 定理
核函数K 可以表示为:
()()
v u )v ,u (Φ⋅Φ=K 当且仅当对于任意满足为有限值的函数g(x),
则⎰dx x g 2)
(⎰
≥0)()(),(dxdy y g x g y x K 满足该定理的核函数称为正定核函数。
支持向量机的主要特点
支持向量机方法的几个主要优点有:
1、它是专门针对有限样本情况的,其目标是得到现有信息下的最优解而不仅仅是样本数趋于无穷大时的最优值;
2、算法最终将转化成为一个二次型寻优问题,从理论上说,得到的将是全局最优点,解决了在神经网络方法中无法避免的局部极值问题;
3、通过引用核函数,算法将实际问题通过非线性变换转换到高维的特征空间(Feature Space),在高维空间中构造线性判别函数来实现原空间中的非线性判别函数,特殊性质能保证机器有较好的推广能力,同时它巧妙地解决了维数问题,其算法复杂度与样本维数无关;
对支持向量机的研究主要集中在对SVM本身性质的研究以及加大支持向量机应用研究的深度和广度两方面。
SVM训练算法:
传统的利用标准二次型优化技术解决对偶问题的方法,是SVM训练算法慢及受到训练样本集规模制约的主要原因。
目前已提出了许多解决方法和改进算法,主要是从如何处理大规模样本集的训练问题、提高训练算法收敛速度等方面改进。
主要有:分解方法、修改优化问题法、增量学习法、几何方法等分别讨论。
SVM分类算法
训练好SVM分类器后,得到的支持向量被用来构成决策分类面。
对于大规模样本集问题,SVM训练得到的支持向量数目很大,则进行分类决策时的计算代价就是一个值得考虑的问题。
解决方法如:缩减集(Reduced Set) SVM方法,采用缩减集代替支持向量集,缩减集中的向量不是支持向量,数目比支持向量少,但它们在分类决策函数中的形式与支持向量相同。
对支持向量机的研究主要集中在对SVM本身性质的研究以及加大支持向量机应用研究的深度和广度两方面。
SVM训练算法:
传统的利用标准二次型优化技术解决对偶问题的方法,是SVM训练算法慢及受到训练样本集规模制约的主要原因。
目前已提出了许多解决方法和改进算法,主要是从如何处理大规模样本集的训练问题、提高训练算法收敛速度等方面改进。
主要有:分解方法、修改优化问题法、增量学习法、几何方法等分别讨论。
SVM分类算法
训练好SVM分类器后,得到的支持向量被用来构成决策分类面。
对于大规模样本集问题,SVM训练得到的支持向量数目很大,则进行分类决策时的计算代价就是一个值得考虑的问题。
解决方法如:缩减集(Reduced Set) SVM方法,采用缩减集代替支持向量集,缩减集中的向量不是支持向量,数目比支持向量少,但它们在分类决策函数中的形式与支持向量相同。