(完整版)支持向量回归机

  • 格式:doc
  • 大小:482.01 KB
  • 文档页数:10

下载文档原格式

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

3.3 支持向量回归机

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 εξεξξξ-≤+⎧⎪-≤+=⎨⎪≥⎩ (3.11)

式中,*,i i ξξ是松弛因子,当划分有误差时,ξ,*i ξ都大于0,误差不存在取0。这时,该问题转化为求优化目标函数最小化问题:

∑=++⋅=n

i i i C R 1

**

)(21

),,(ξξωωξξω (3.12)

式(3.12)中第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误差;常数0>C 表示对超出误差ε的样本的惩罚程度。求解式(3.11)和式(3.12)可看出,这是一个凸二次优化问题,所以引入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 ωωξξαξεαξεξγξγ=====⋅++-+-+-+-+-+∑∑∑∑ (3.13)

式中,α,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 ααααααααααε

=====--⋅+--+∑∑∑ (3.14)

其约束条件为:

*

1

*()0

0,n i i i i i C

αααα=⎧-=⎪⎨⎪≤≤⎩

∑ (3.15) 求解式(3.14)、(3.15)式其实也是一个求解二次规划问题,由Kuhn-Tucker 定理,在鞍点处有:

****[()]0[()]00

i i i i i i i i i i i i y f x y f x αεξαεξξγξγ+-+=+-+=⋅=⋅= (3.16)

得出0*=⋅i i αα,表明i α,*i α不能同时为零,还可以得出:

*

*

()0()0

i i i i C C αξαξ-=-= (3.17)

从式(3.17)可得出,当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 ξ=,由式(3.16)可以求出参数

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 α

αε

*∈=-

-⋅-∑