文档库 最新最全的文档下载
当前位置:文档库 › 支持向量回归机

支持向量回归机

支持向量回归机
支持向量回归机

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 常用的损失函数和相应的密度函数

标准支持向量机采用ε-不灵敏度函数,即假设所有训练数据在精度ε下用线性函数拟合如图(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。这时,该问题转化为求优化目标函数最小化问题:

(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 α

αε

*∈=-

-?-∑

一般对所有标准支持向量分别计算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 α

αα

αεα

αε<<∈∈<<=

-

--+

-

--∑∑∑

∑ (3.18)

因此根据样本点),(i i y x 求得的线性拟合函数为

b x x b x x f n

i i i i +?-=+?=∑=1*)()(ααω (3.19)

非线性SVR 的基本思想是通过事先确定的非线性映射将输入向量映射的一个高维特征空间(Hilbert 空间)中,然后在此高维空间中再进行线性回归,从而取得在原空间非线性回归的效果。

首先将输入量x 通过映射H R n

→Φ:映射到高维特征空间H 中用函数

b x x f +Φ?=)()(ω拟合数据),(i i y x ,n i ,...,2,1=。则二次规划目标函数(3.14)

式变为:

*

**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.20)

式(3.20)中涉及到高维特征空间点积运算)()(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 +-=-; 因此式(3.20)变成

*

**1,1

**1

1

1(,)()()()

2()()n

i i j j i i j n n

i i

i i i i i W K x x y ααααααααααε

=====---??+--+∑∑∑ (3.21)

可求的非线性拟合函数的表示式为:

*1()()()(,)n

i i i i f x x b

K x x b

ωαα==?Φ+=-+∑ (3.22)

3.3.2 结构改进的支持向量回归机

上节所述的SVR 基本模型其优化目标为:

2

*,,1

**1min ()

2..()()0

0,1,2,...,l

i i w b i i i i

i i i i i w C s t y w x b w x b y i l

ξξξφεξφεξξξ=?++??-?-≤+???+-≤+??≥??≥=??

∑ (3.23)

SVR 结构改进算法一般在优化目标中增加函数项,变量或系数等方法使公式变形,产生出各种有某一方面优势或者一定应用范围的算法。

Suykens 提出了最小二乘支持向量机(LS-SVM )[105],与标准SVM 相比其优化指标采用了平方项,从而将不等式约束转变成等式约束,将二次规划问题转化成了线性方程组的求解,其优化目标为:

2

,,1

1122..()1,2,,l i b i i i i Min s t y x b i l

ωξωγξωφξ=?

+???=?++??=???

∑ (3.24)

LS-SVM 与标准SVM 相比减少了一个调整参数,减少了l 个优化变量,从而简化了计算复杂性。然而LS-SVM 没有保留解的稀疏性。改进的最小二乘支持向量机有:递推最小二乘支持向量机[106]、加权最小二乘支持向量机[107]、多分辨率LS-SVM [108]及正则化最小二乘方法[109]等。

Sch?lkoph 等提出的ν-SVM 方法[110],引入反映超出ε管道之外样本数据点(即边界支持向量数量)和支持向量数的新参数ν,从而简化SVM 的参数调节。其优化目标为:

2*2,,1**11()2..()()00

1,2,,l T i i b i i i i

i i i i i min C l s t y x b x b y i l

ωξωωνεξξωφεξωφεξξξ=?

??

+++???????-?-≤+???+-≤+??≥??≥?=??

∑ (3.25)

l ν表示边界支持向量机的上限和支持向量机的下限。与标准支持向量机相比优

化求解过程不需要设定ε值。

标准SVM 方法中,引入惩罚系数C 实行对超出ε-带数据点的惩罚。在实际问题中,某些重要样本数据点要求小的训练误差,有些样本数据点对误差的要求不是很高。因此,在优化问题描述时,对每个样本点应采用不同的惩罚系数C ,或对于每个样本数据点应采用不同的ε-不敏感函数,使回归建模更加准确,这一类结构变化的支持向量机通常称为加权支持向量机(WSVM )[111],加权支持向量机可以通过对惩罚系数C 加权实现,也可以通过对ε加权实现。通过对参数C 加权实现时,其优化目标为:

(*)2

*,,1

*

()1()2..()()0,

1,2,,l

i i i b i i i i

i i i i min C s s t x b y y x b i l

ωξωξξωφεξωφεξξ=*?

++???+-≤+??--≤+??≥=?

∑ (3.26a )

通过对ε加权实现时,其优化目标为:

2*

,,,1

*1min ()2

..()()0,01,2,l

i i w b i i i i i i i i i i i w C s t y w x b w x b y i l ξξξξφεξφεξξξ*=*?++???-?-≤+???+-≤+??≥≥=?

∑ (3.26b ) Friess 等提出了一种针对分类问题的SVM 变形算法-BSVM 算法[112]。与标准SVM 相比,BSVM 的优化目标多一项,而约束条件少一项等式约束,变为边界约束条件下的二次规划问题,适合迭代求解。同时可以应用矩阵分解技术,每次只需更新Lagrange 乘子的一个分量,从而不需要将所有样本载入内存,提高了收敛速度。BSVM 算法应用于回归分析,其优化目标为:

2

*1

**11()22..()()00

1,2,,l

T i i i i i i

i i i i i Min b C s t y x b x b y i l

ωωωξξωφεξωφεξξξ=?+++??-?-≤+???+-≤+??≥??≥?=?

∑ (3.27)

标准SVM 回归算法都是把问题转化为求解凸二次规划。

Kecman 和Hadzic [113]提出用1L 范数替代2L 范数,从而通过改造用线性规划(LP )代替凸二次规划,以便于利用非常成熟的线性规划技术求解回归支持向量机。由最优化理论,

*1

()l

i i i i x ωαα==-∑,据此考虑把原始目标函数的2l 模2

ω

用1l 模

(*)

*

1

()l

i i i α

αα==+∑替换。则1l 模可以改写为:(*)

*1

()l

i i i α

αα==+∑,用(*)α代替

原目标函数中的2

ω;将ω代入原约束条件;增加约束*,0,1,2,i i i l αα≥= ,可得:

(*)

(*)*

*,,11

*1**

1

()()1()()..()()()(),0,1,2,,l l i i i i b i i l

i i i j i i i l

i i i i j i i i i C min l l s t x x b y y x x b i l

αξααξξααεξααεξαξ====**?

+++???-?+-≤+???--?-≤+???≥=?

∑∑∑∑ (3.28)

针对实际问题的特殊性,有时可以选择其他形式的更适宜的惩罚函数。惩罚带为任意形式的支持向量回归机[114],通过定义推广的ε-不敏感损失函数:

***()(),

()();

(,,())0,

()()();()(),()();

y f x x y f x x c x y f x x y f x x y f x x y f x x ε?ε?ε?ε?ε?ε??--->?

=≥-≥-??---<-?

其中*(),():x x R ??χ+→,采用推广的ε-不敏感损失函数构造ν-SVR 问题,将原始最优化问题转化为:

(*)

(*)****,,1111***

()()11()()..()(),0,1,2,,l l l

l i i i i i i b i i i i i i i i i

i i i i i i i min C l l s t x b y x y x b x i l

αξαανξνξξξωε?ξωε?ξεξ====**?

??++?+++?????

???+-≤+??-?-≤+??≥=?

∑∑∑∑ (3.29)

惩罚带为任意形式的支持向量回归机包含了针对惩罚函数改进SVR 结构的所有模型。

此外,还有模糊支持向量回归机(FSVR )[59]

、拉格朗日支持向量机(LSVR )[115]

等。

3.3.3 SVM 参数优化方法研究

支持向量机的性能取决于超参数C 、ε、核函数类型及核参数。核函数类型的选择与所应用的领域有关,核函数特性的不同决定建立的模型也具有不同的特性,对于静态软测量建模,一般采用rbf 核函数,因为其跟踪性能较好且没有记忆性,符合静态建模的特点。核参数反映了训练数据的范围或分布,它对模型的预测效果影响较大;调整因子C 是模型复杂度和推广能力的折中,它决定了对损失大于ε的样本的惩罚程度,当C →∞时,模型优化目标退化为经验风险最小

化,C 过小,使经验风险所占比重太少,模型结构复杂度下降,但训练误差可能超出接受范围;ε不灵敏函数是SVR 的重要特征,它决定了支持向量的数目,保证了解的稀疏性,是模型推广性能的象征,但是太平滑的估计又会降低模型的精度。目前没有一个理论的方法来设计SVR 的参数,现有的软件都是基于建模者的经验在建模之前设定。常用的设定SVR 参数的方法主要有以下几种:

1)交叉检验法

交叉检验法是用的最多的一种参数选择方法,其基本思想是将样本集分为训练集、检验集和测试集,选择若干组模型参数,用训练集推导模型系数,选择其中使检验集误差测度最好的参数用于测试集。根据样本集的长度,可以设定交叉检验的次数。

2)经验选择法

经验选择就是根据建模者的经验在建模之前选择参数。Vladimir 等提出了一种根据训练集数据特性选择模型参数的方法[116],其中

max(3,3)y y C y y σσ=+-

式中,y y σ分别表示训练数据集中y 的均值和标准偏差;

3ε= σ为噪声的标准偏差,n 为样本数。上述经验公式是基于噪声水平已知的假设,

并没有理论上的证明。

3)网格优化选择法

网格优化算法是一种大范围点集搜索方法。搜索范围的确定仍需建模者设定。该方法简单易行,但是训练时间较长,一般用来确定参数范围,再用其他方法进行渐近搜索。

4)统计学习理论的VC 维学习方法[117

、118]

采用统计学习理论的方法导出模型推广错误的界,并用VC 维来表示,用统计学习理论选择的核和调整因子C 可以使VC 维的上界最小,从而可以确定模型的参数。但这种方法需要在非线性空间计算超球半径。

5)Bayesian 学习方法

James Tin-Yau Kwok基于权值空间的观点给出了SVM的贝叶斯解释[119]。说明了SVM可以解释为MacKay证据体系的第一层推理,还说明了证据体系下的第二层、第三层推理也可以应用到SVM:第一个层次的推导考虑w的概率分布(在一个潜在的无限维空间),确定正则项和损失函数的可能性;第二层推理是调整因子C的推导;第三个层次的推理是获得核参数。

相关文档