支持向量机及支持向量回归简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.支持向量机(回归)
3.1.1 支持向量机
支持向量机(SVM )是美国Vapnik 教授于1990年代提出的,2000年代后成为了很受欢迎的机器学习方法。

它将输入样本集合变换到高维空间使得其分离性状况得到改善。

它的结构酷似三层感知器,是构造分类规则的通用方法。

SVM 方法的贡献在于,它使得人们可以在非常高维的空间中构造出好的分类规则,为分类算法提供了统一的理论框架。

作为副产品,SVM 从理论上解释了多层感知器的隐蔽层数目和隐节点数目的作用,因此,将神经网络的学习算法纳入了核技巧范畴。

所谓核技巧,就是找一个核函数(,)K x y 使其满足(,)((),())K x y x y φφ=,代替在特征空间中内积(),())x y φφ(的计算。

因为对于非线性分类,一般是先找一个非线性映射φ将输入数据映射到高维特征空间,使之分离性状况得到很大改观,此时在该特征空间中进行分类,然后再返会原空间,就得到了原输入空间的非线性分类。

由于内积运算量相当大,核技巧就是为了降低计算量而生的。

特别, 对特征空间H 为Hilbert 空间的情形,设(,)K x y 是定义在输入空间
n R 上的二元函数,设H 中的规范正交基为12(),(),...,(),...n x x x φφφ。

如果
221
(,)((),()),
{}k k k k k K x y a x y a l φφ∞
==∈∑,
那么取1
()()k k k x a x φφ∞
==∑即为所求的非线性嵌入映射。

由于核函数(,)K x y 的定义
域是原来的输入空间,而不是高维的特征空间。

因此,巧妙地避开了计算高维内

(),())x y φφ(所需付出的计算代价。

实际计算中,我们只要选定一个(,)K x y ,
并不去重构嵌入映射1()()k k k x a x φφ∞
==∑。

所以寻找核函数(,)K x y (对称且非负)
就是主要任务了。

满足以上条件的核函数很多,例如
● 可以取为d-阶多项式:(,)(1)d K x y x y =+,其中y 为固定元素。

● 可以取为径向函数:()22(,)exp ||||/K x y x y σ=-,其中y 为固定元素。

● 可以取为神经网络惯用的核函数:()12(,)tanh ()K x y c x y c =+,其中y 为固
定元素。

一般地,核函数的存在性只依赖于如何寻找一个平方收敛的非负序列{}k a 。

这样的序列在2l 空间的正锥{}{}22|0,k k l a l a k +=∈≥∀中的序列都满足。

但哪一个最佳还有待于进一步讨论。

经验表明,分类问题对于核函数不太敏感。

当然,重新构造一个核函数也不是一个简单的事。

因此,实际操作中往往就在上述三类中挑出一个来使用就可以了。

支持向量机的结构示意图可以表示如下:
图1 支持向量机结构示意图
其中输入层是为了存贮输入数据,并不作任何加工运算;中间层是通过对样本集的学习,选择(,),1,2,3,...,i K x x i L =;最后一层就是构造分类函数
1
sgn((,))L
i i i i y y a K x x b ==+∑
整个过程等价于在特征空间中构造一个最优超平面。

支持向量机的作用之一就是分类。

根据分类的任务,可以划分为一分类,二分类以及多分类。

对于多类分类问题,可以用若干种手法将其分解为若干个二分类问题叠加。

因此,为了实现支持向量机分类的算法,我们只要针对二分类,从头来给出它的数学原理。

3.1.2 支持向量机分类的数学原理
设样本集为{}{}(,)|;1,1,1,...,n i i i i x y x R y i I ∈∈-+=,我们的目的是寻找一个最优超平面H 使得标签为+1 和-1的两类点不仅分开且分得间隔最大。

当在n 维欧几里德空间中就可以实现线性分离时,也即存在超平面将样本集
按照标签-1与+1分在两边。

由于超平面在n 维欧几里德空间中的数学表达
式是一个线性方程 ,0w x b <>+=,其中,w 为系数向量,x 为n 维变量,
,w x <>内积,b 为常数。

空间中点i x 到超平面L 的距离
|,|(,)||||i i w x b d x L w <>+=。

欲使得(,)i d x H 最大,等价于21
||||2
w 最小。

于是,
得到一个在约束条件下的极值问题
21min ||||2(,)1,1,2,...,i i w y w x b i I



⎪<>+≥=⎩ 引入Lagrange 乘子12(,,...,)I αααα=,可以解得关于该参变量的方程
12
1,1
(),I
I
i i
j
i j i j i i j Q y y x x αααα
===-
<>∑∑
称之为Lagrange 对偶函数。

其约束条件为
,1
0,0,1,2,...,I
i
i
i i j y
i I αα==≥=∑
在此约束条件之下, 使得()Q α达到最大值的α的许多分量为0,不为0的i α 所对应的样本i x 就称为支持向量。

这就是支持向量的来历。

当在输入空间不能实现线性分离,假设我们找到了非线性映射φ将样本集
{}{}(,)|;1,1,1,...,n
i
i
i
i
x y x R y i I ∈∈-+=映射到高维特征空间H 中,此时我们
考虑在H 中的集合{}{}((),)|;1,1,1,...,n i i i i x y x R y i I φ∈∈-+=的线性分类,即在H 中构造超平面,其权系数w 满足类似的极值问题。

由于允许部分点可以例外,那么可以引入松弛项,即改写为:
2
1
1min ||||2(,)1,0,1,2,...,L
i
i i
i i i w C y w x b i I
ξξξ=⎧+⎪⎨⎪<>+≥-≥=⎩∑ 最终转化为一个二次型在约束条件下的二次规划问题:
''
'11min 20,0(,...,)(,...,)T T I
D c y A C C αααα
αααα⎧+⎪⎨
⎪=≤=≤=⎩ 其中,1(,...,)T I y y y =,(1,...,1)T c =--,()1,(,)i j i j i j I D K x x y y ≤≤=为矩阵。

(,)K x s 是核函数。

一分类问题是一个极端情形但却又是非常有用的,它可以表示为如下数学模型:设{}|,1,...,n i i x x R i I ∈=为空间n R 的有限观测点,找一个以a 为心,以R 为半径的包含这些点的最小球体。

因此,一分类是对于求一个化合物成分的最小包络曲面的最佳方法。

与前面完全相同的手法,设φ是由某个核函数(,)K x s 导出的从输入空间到特征空间中的嵌入映射,最后可以得到二次规划问题
'''11min 20,0(,...,)(,...,)T T I
D c y A C C α
ααααααα⎧
+⎪⎨
⎪=≤=≤=⎩ 其中,1(,...,)T I y y y =, (1,...,1)T c =--, ()1,(,)i j i j i j I D K x x y y ≤≤=为矩阵。

(,)K x s 是核函数。

此时
1
1
1
()(,)2(,)(,)L L
L
i i i
j
i
j
i j i f x K x x K x x K x x ααα====-+∑∑

此时几乎所有的点满足2()f x R ≤。

参数C 起着控制落在球外点的数目,变化区间为:1/1L C <<.
3.1.3基于线性规划的SVM 分类
由于分类问题的自然推理过程都会归结到二次规划求解,计算复杂度相对较高。

如果能将其简化为线性规划而且没有较大的误差, 那么计算量将急速减少。

于是提出了基于线性规划的SVM 分类。

此方法经过数学严格推理,是合理的(因为涉及泛函的知识较多,推理过程放在附录中)。

因此产生了基于线性规划一分类、二分类、多分类。

此处,我们仅给出基于线性规划的SVM 分类的最终形式:
11
1
min .(,),1,...,;1;,0
L
i i L
L
i i j j i
i i i i C s t K x x j L ρξαρξα
αξ===⎧⎛⎫-+⎪
⎪⎝⎭⎪⎪
⎨⎪⎪≥-==≥⎪⎩∑∑∑
解出α与ρ则得出决策函数1()(,)L
i i j i f x K x x α==∑以及阈值。

参数C 控制着满足条
件()f x ρ≥的样本数量。

特别核函数取为径向函数时,参数2σ越小,精度越高。

另外,要提醒注意的是,在求解大规模分类问题得SVM 算法实现时,需要以下辅助手段:
停机准则:由于分类问题等价于求对偶问题在约束条件下的极值
1111max (,)
..0,0,1,2,...,L L L
i i j i j i j i i j L
i i i j y y K x x s t y C i L ααααα====⎧
-⎪⎪
⎨⎪=≤≤=⎪⎩
∑∑∑∑ 而KKT 条件
[(,())1]0
()0,1,2,...,i i i i i i y w x b C i L αφξαξ<>+-+=⎧⎨
-==⎩
是收敛的充分必要条件。

因此通过监控KKT 条件来得到停机条件
110,0,1,2,...,1,0,((,))1,0,1,,L
i i i j i L
i i i i j i
j i y C i L i y y K x x b C i
C i αααααα==⎧=≤≤=⎪⎪⎪
≥=∀⎧⎨⎪⎪+=<<∀⎨⎪⎪⎪≤=∀⎩⎩
∑∑ 这个条件中的不等式不必严格成立,只要在一定误差条件下成立就可以用了。

选块算法+分解法
1. 给定参数0M >,0ε>, 0k =。

选取初始工作集0W T ⊂,记其对应的样
本点的下标集为0J 。

令k W T ⊂第k 次更新的工作集,其对应的样本点的下标集为k J 。

2. 基于工作集k W T ⊂, 由优化问题
1111max (,)
..0,0,L L L
i i j i j i j i i j L
i i i k j y y K x x s t y C i J ααααα====⎧
-⎪⎪
⎨⎪=≤≤∈⎪⎩
∑∑∑∑ 求出最优解ˆ{,}j k a
j J ∈,构造 1(,...,)k k k
L ααα=按照如下方式:
ˆ,0,
k j
k k j
k
j J j J αα⎧∈⎪=⎨∉⎪⎩
3. 如果k α已经在精度ε内满足停机准则,那么以此权系数构造决策函数即可。

否则继续下一步。

4. 在\k T W 中找出M 个最严重破坏条件
11,0,((,))1,0,1,,i L
i i i i j i j i i y y K x x b C i C i
αααα=≥=∀⎧⎪
+=<<∀⎨⎪≤=∀⎩
∑ 加入k W 得出新的工作集1k W +,相应的下标集记为1k J +。

5. 重复2)-3),直到样本集耗完为止。

序列最小优化算法(SMO )
Input: the observed dataset {}11(,),...,(,)|,n l l i j S x y x y x R y R =∈∈, 输入精度
要求0ε>及指定核函数(,)K x y ,初始化00α=,0k =。

Output: the classification of these samples Step1. 由更新公式
12211
111222()
k k k k k k y y αααααα+++=+
=+-
Step2. 如果第k 步时达到停机要求,取近似解ˆk α
α=,否则继续迭代,直到满足停机为止,取为近似解。

3.2 支持向量回归(SVR )模型
对于分类,支持向量机相当于导师样本为有限集的情形。

考虑导师集合为不可数的情形,例如训练集可以为形如
{}11(,),...,(,)|,n l l i j S x y x y x R y R =∈∈
的情形,则演化出支持向量回归概念。

支持向量回归也分为线性回归和非线性回归两种,但不是统计学中的线性或者非线性回归了,而是根据是否需要嵌入到高维空间来划分的,我们简述如下:
● 对于给定的样本集S , 以及任意给定的0ε>,如果在原始空间n R 存在超平
面(),,
,n f x w x b w R b R =<>+∈∈ 使得 |()|,
(,)i i i i y f x x y S ε-≤∀∈,则
称(),f x w x b =<>+是样本集合S 的ε-线性回归。

与初等代数类似,|()|,
(,)i i i i y f x x y S ε-≤∀∈等价于S 中任何点(,)i i x y 到超
平面(),f x w x b =<>+。

由于我们是分类,所以希望
调整超平面的斜率w 使得与S 中任点(,)i i x y
距离都尽可能大。

也即使得
{}2min ||||w 。

于是,ε-线性回归问题转化
为优化问题:
2
12min ||||..
|,|,1,2,...,i i w s t w x b y i l ε⎧⎪⎨<>+-≤=⎪⎩ 于是,引入松弛变量,并使用Lagrange 乘子法,得到优化问题的对偶形式:
****,111**1
1min ()(),()()2..()0,0,,1,2,...,l l l
i i j j i j i i i i i i j i i l i i i i i x x y s t C i l ααααααααεαααα====---<>+--+-=≤≤=⎧⎧⎫⎨⎬⎪⎪⎩⎭⎨⎪⎪⎩∑∑∑∑
● 对于不可能在原始空间n R 就可以线性分离的样本集S ,先用一个非线性映射
φ将数据S 映射到一个高维特征空间中,
使得()S φ在特征空间H 中具有很好的线性回归特征,先在该特征空间中进行线性回归,然后返回到原始空间n R 中。

这就是支持向量非线性回归。

于是,支持向量非线性回归的对偶优化问题如下:
****,111**1
1min ()()(,(()()2..()0,0,,1,2,...,))l l l
i i j j i j i i i i i i j i i l i i i i i x x y s t C i l ααααφφααααεαααα====---<>+--+-=≤≤=⎧⎧⎫⎨⎬⎪⎪⎩⎭⎨⎪⎪⎩∑∑∑∑
于是,非线性回归问题的实施步骤为:
1.寻找一个核函数(,)K s t 使得(,)(),()i j i j K x x x x φφ=<>,
2.求优化问题
****,111**1
1min ()()(,)()()2..()0,0,,1,2,...,l l l
i i j j i j i i i i i i j i i l
i i i i i K x x y s t C i l ααααααααεαααα====---+--+-=≤≤=⎧⎧⎫⎨⎬⎪⎪⎩⎭⎨
⎪⎪⎩∑∑∑∑ 的解*,i i αα。

3. 计算
*,1*,1*
()(,),()(,),0)
0)
l
i i j i i i j l
i i j i i j j j i
K x x K x x y C b y C ααααααεε==--⎧+-∈⎪⎪=⎨⎪--∈⎪⎩
∑∑当当(,(,
4.构造非线性函数
*1()()(,),
,l
n i i j i i f x K x x b x R b R αα==-+∈∈∑。

3.2.2支持向量机分类与支持向量回归的关系
支持向量机用以分类和回归,两者到底是什么关系?为了建立回归与分类的关系,我们在特征空间中考虑如下的上下移动集合:
{}(((),1)|(,)i i i i D x y x y S φε+=++∈,{}(((),1)|(,)i i i i D x y x y S φε-=--∈ 对于充分大的ε,D +与D -是线性可分离的。

于是得出关于D +与D -分类。

引入松弛变量ξ,由SVM 分类方法得到
2
11ˆmin ||||2ˆˆ..,)1,,,)1,,0,1,2,...,L
i
i i i i i i i i w
C s t w z b z
D w z b z D i l ξξξξ=+-⎧+⎪⎨
⎪<>+-≤-∈<>++≥∈≥=⎩
∑ 将目标函数中的ˆw
改写为12ˆˆˆ(,),w w w = 特别令2ˆ1w =-, 那么上式变成 21
121
111ˆmin ||||2ˆ..,()11,ˆ,()11,0,1,2,...,L
i
i i i i i i i i w
C s t w x y b w x y b i l ξφεξφεξξ=⎧++⎪⎪⎪<>---+-≤-⎨⎪<>-++++≤⎪
≥=⎪⎩

而基于观测集{}11(,),...,(,)|,n l l i j S x y x y x R y R =∈∈,在特征空间中寻找单参数约束下的回归函数(),()f x w x b φ=<>+的问题等价于
2
1
1min ||||2..,(),,(),0,1,2,...,L
i
i i i i i i i i w C s t y w x b w x y b i l ξφξεφξεξ=⎧+⎪⎪⎪
-<>-≤+⎨⎪<>-+≤+⎪
≥=⎪⎩

也就是说,回归问题可以通过分类的算法来实现。

附录:基于线性规划的分类的合理性
设输入向量的空间为n R , 记(),1,p n L R p ≤≤∞为n R 上一切p -绝对值可积函数g (即 一切可测且满足|()|()n p R
g x d x μ<+∞⎰)
,按照通常的加法和数乘,构成的线性空间。

一般地,我们偏好选则一个非线性映射φ将n R 嵌入到2()n L R 空间。

因为在该Hilbert 空间中,任意闭子空间的正交补子空间存在问题是一个已解决了的问题,而在(),2,p n L R p ≠还是一个没有被完全解决的问题。

如前所述,在此空间中得到的结果,特别是诱导出的核函数是一个非常好的亮点。

在有限维空间中,任何距离都是等价的。

这一特征也是有限维空间独有的。

类似于上面所述,我们可以在有限维空间n R 上赋予p L 范数:
11||||||n p
p p i i x x =⎛⎫= ⎪
⎝⎭

p 取遍区间 [1,]+∞,
特别,L ∞范数就是通常的最大值范数:1||||max ||i n i x x ∞≤≤=,1L 范数就是通常的绝对值求和范数,2L 范数就是通常的欧式范数。

如果用
,w x <>表示内积,那么由Holder 不等式,我们得|,|||||||||q p w x w x <>≤,其中
111p q +=是[1,]+∞中的一对共轭数。

假设一对平行的超平面为:
11(),f x w x b =<>+与22(),f x w x b =<>+,那么,两个平面之间的距离为
1212||
(,)||||q
b b d f f w -=
特别,如果n R 上赋予的是1L 范数,则
1212||(,)||||b b d f f w ∞
-= 于是,导出相应的优化问题
{},min max ||..(,)1,1,2,...,j j w b i i w s t y w x b i l ⎧⎪⎨<>+≥=⎪⎩
于是得到线性规划:
min ..
(,)1,1,2,...,,,1,2,...,,,,i i n j j a s t y w x b i l a w a w j l a b R w R ⎧⎪<>+≥=⎨⎪≥≥-=∈∈⎩
简化了计算。

同理,对于不可分离的情况,引入松弛变量后可得
1min ..(,)1,1,2,...,,,0,1,2,...,,,,l i i i
i i n j j j a C s t
y w x b i l a w a w j l a b R w R ξξξ=⎧⎧⎫+⎨⎬⎪⎩⎭⎪⎪⎨⎪<>+≥-=⎪⎪≥≥-≥=∈∈⎩
∑ 同理,对于非线性分类的情况,换成核函数
11min ..(,)1,1,2,...,,,0,1,2,...,,,,l i i l i j j j i i j n j j j a C s t y y K x x b i l a a j l a b R w R ξαξααξ==⎧⎧⎫+⎨⎬⎪⎩⎭⎪⎪⎪⎨⎛⎫⎪+≥-= ⎪⎪⎝⎭⎪≥≥-≥=∈∈⎪⎩
∑∑
同样也采用L ∞范数,此时相应的优化问题为
1min ..(,)1,1,2,...,,,0,1,2,...,,,,n i i i
i n j j j j j a s t
y w x b i l a w a w j n a b R w R
ξ=⎧⎧⎫⎨⎬⎪⎩⎭⎪⎪⎨⎪<>+≥=⎪⎪≥≥-≥=∈∈⎩∑ 而非线性问题的松弛条件下的优化问题为:
111min ..(,)1,1,2,...,,,0,1,2,...,,,,n l i i i i l i j j j i i j n j j j j j a C s t y y K x x b i l a a j l a b R w R
ξαξααξ===⎧⎧⎫+⎨⎬⎪⎩⎭⎪⎪⎪⎨⎛⎫⎪+≥-= ⎪⎪⎝⎭⎪≥≥-≥=∈∈⎪⎩∑∑∑ 无论是那种,都简化了运算。

但是由此会付出多大的代价呢?如果记1SVM ,2SVM ,SVM ∞分别为基于上述相应范数得出的支持向量机,我们留作习题,请大家自己选择一个样本数据库,然后基于该库中数据,对三种在时间复杂度,精度,鲁棒性进行比较,也即填写如下表格:
小节
SVM 的程序会很多,基于不同范数得到不同计算复杂度的程序。

选择不同的核函数计算复杂度也会有区别;核函数的选取有研究价值,但难度大。

目前见到的核函数对于精度的影响从某种意义上讲是“不大”。

但我们已经从个案中发现,有时差异很大,于是,最优核函数的存在性问题值得深入讨论。

SVM 的用途很多,可以取代神经网络的角色(支持向量回归SVR );可以求有界集的“最小体积”(一分类问题);多分类问题。

其它的应用还在探索中,与随机图,与粗糙集的结合也已经有人在做,我已经审阅过的期刊论文就是这样。

相关文档
最新文档