支持向量回归机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
支持向量回归机
SVM 本身是针对经典的二分类问题提出的,支持向量回归机(Support Vector Regression ,SVR )是支持向量在函数回归领域的应用。SVR 与SVM 分类有以下不同:SVM 回归的样本点只有一类,所寻求的最优超平面不是使两类样本点分得“最开”,而是使所有样本点离超平面的“总偏差”最小。这时样本点都在两条边界线之间,求最优回归超平面同样等价于求最大间隔。 3.3.1 SVR 基本模型
对于线性情况,支持向量机函数拟合首先考虑用线性回归函数
b x x f +⋅=ω)(拟合n i y x i i ,...,2,1),,(=,n i R x ∈为输入量,R y i ∈为输出量,即
需要确定ω和b 。
图3-3a SVR 结构图 图3-3b ε不灵敏度函数
惩罚函数是学习模型在学习过程中对误差的一种度量,一般在模型学习前己经选定,不同的学习问题对应的损失函数一般也不同,同一学习问题选取不同的损失函数得到的模型也不一样。常用的惩罚函数形式及密度函数如表3-1。
表3-1 常用的损失函数和相应的密度函数
损失函数名称
损失函数表达式()i c ξ
噪声密度
()i p ξ
ε
-不敏感
i εξ
1
exp()2(1)
i εξε-+
拉普拉斯
i
ξ
1
exp()2
i ξ- 高斯
212
i ξ 21
exp()22i ξπ
-
标准支持向量机采用ε-不灵敏度函数,即假设所有训练数据在精度ε下用线性函数拟合如图(3-3a )所示,
**
()()1,2,...,,0
i i i
i i i i i y f x f x y i n εξεξξξ-≤+⎧⎪-≤+=⎨⎪≥⎩ ()
式中,*,i i ξξ是松弛因子,当划分有误差时,ξ,*i ξ都大于0,误差不存在取0。这时,该问题转化为求优化目标函数最小化问题:
∑=++⋅=n
i i i C R 1
**
)(21
),,(ξξωωξξω ()
式()中第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误差;常数0>C 表示对超出误差ε的样本的惩罚程度。求解式()和式()可看出,这是一个凸二次优化问题,所以引入Lagrange 函数:
*
11
****1
1
1()[()]
2[()]()
n n
i i i i i i i i n n
i i i i i i i i i i L C y f x y f x ωωξξαξεαξεξγξγ=====⋅++-+-+-+-+-+∑∑∑∑ ()
式中,α,0*≥i α,i γ,0*≥i γ,为Lagrange 乘数,n i ,...,2,1=。求函数L 对ω,
b ,i ξ,*i ξ的最小化,对i α,*i α,i γ,*i γ的最大化,代入Lagrange 函数得到对偶形式,最大化函数:
*
**1,1
**1
1
1(,)()()()
2()()n
i i j j i j i j n n
i i i i i i i W x x y ααααααααααε
=====--⋅+--+∑∑∑ ()
其约束条件为:
*
1
*()
0,n i i i i i C αααα=⎧-=⎪⎨⎪≤≤⎩
∑ () 求解式()、()式其实也是一个求解二次规划问题,由Kuhn-Tucker 定理,在鞍点处有:
****[()]0[()]0
i i i i i i i i i i i i y f x y f x αεξαεξξγξγ+-+=+-+⋅=⋅= ()
得出0*=⋅i i αα,表明i α,*i α不能同时为零,还可以得出:
**()0()i i i i C C αξαξ-=-= ()
从式()可得出,当C i =α,或C i =*α时,i i y x f -)(可能大于ε,与其对应的i x 称为边界支持向量(Boundary Support Vector ,BSV ),对应图3-3a 中虚线带以外的点;当),0(*C i ∈α时,ε=-i i y x f )(,即0=i ξ,0*=i ξ,与其对应的i x 称为标准支持向量(Normal Support Vector ,NSV ),对应图3-3a 中落在ε管道上的数据点;当0=i α,0i α*=时,与其对应的i x 为非支持向量,对应图3-3a 中ε管道内的点,它们对w 没有贡献。因此ε越大,支持向量数越少。对于标准支持向量,如果0(0)i i C αα*<<=,此时0i ξ=,由式()可以求出参数b :
1()()j l
i j j j i j i j
j j i x SV
b y x x y x x ααε
α
αε
*=*
∈=--⋅-=-
-⋅-∑∑
同样,对于满足0(0)i i C αα*<<=的标准支持向量,有
()j i j
j j i x SV
b y x x α
αε
*∈=-
-⋅-∑
一般对所有标准支持向量分别计算b 的值,然后求平均值,即
**0*
01{
[()(,)]
[()(,)]}
i j j i i j j j i C
x SV
NSV i j
j
j i x SV
C
b y K x x N y K x x α
αα
αεα
αε<<∈∈<<=
-
--+
-
--∑∑∑
∑ ()
因此根据样本点),(i i y x 求得的线性拟合函数为
b x x b x x f n
i i i i +⋅-=+⋅=∑=1*)()(ααω ()
非线性SVR 的基本思想是通过事先确定的非线性映射将输入向量映射的一个高维特征空间(Hilbert 空间)中,然后在此高维空间中再进行线性回归,从而取得在原空间非线性回归的效果。
首先将输入量x 通过映射
R n
Φ:映射到高维特征空间中用函数式变
为:
*
**1,1
**1
1
1(,)()()(()(2()()n
i i j j i j
i j n n
i i
i i i i i W x x y ααααααααααε
=====---⋅Φ⋅Φ+--+∑∑∑ ()
式()中涉及到高维特征空间点积运算)()(j i x x Φ⋅Φ,而且函数Φ是未知的,高维的。支持向量机理论只考虑高维特征空间的点积运算)()(),(j i j i x x x x K Φ⋅Φ=,而不直接使用函数Φ。称),(j i x x K 为核函数,核函数的选取应使其为高维特征空间的一个点积,核函数的类型有多种,常用的核函数有:
多项式核:''(,)(,),,0p k x x x x d p N d =+∈≥; 高斯核:2
''2
(,)exp()2x x k x x σ
-=-;
RBF 核:''2
(,)exp()2x x k x x σ
-=-
;
B 样条核:''21(,)()N k x x B x x +=-;
Fourier 核:'''1
sin()()
2(,)1
sin ()2N x x k x x x x +-=-; 因此式()变成