支持向量回归机

合集下载
  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 ξπ
-
鲁棒损失
2
1(),if ;2,otherwise;2
i i i ξξσσ
σξ⎧≤⎪⎪⎨
⎪-⎪⎩ 2
exp(),2exp(),2i i i
if otherwise
ξξσσσξ⎧-≤⎪⎪⎨
⎪-⎪⎩ 多项式 1
p
i p
ξ
exp()2(1/)
p
i p p ξ-Γ
分段多项式
11,1,p i i p i
if p p otherwise p ξξσσξσ-⎧≤⎪⎪

-⎪-⎪⎩ 1
exp(),1exp(),p
i i p i
if p p otherwise
p ξξσσσξ-⎧-≤⎪⎪

-⎪-⎪⎩
标准支持向量机采用ε-不灵敏度函数,即假设所有训练数据在精度ε下用线性函数拟合如图(3-3a )所示,
**()()1,2,...,,0i 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 α
αε
*∈=-
-⋅-∑
怎么得
一个点
不能同
C 怎么来
一般对所有标准支持向量分别计算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 通过映射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 ααααααααααε
=====---⋅Φ⋅Φ+--+∑∑∑ (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 ()2
N x x k x x x x +-=-; 与之前有的解释
与3.14对应
支持向量机的核心要点
说明为什么,其次讲一下为什么引入核函数
因此式(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..()()001,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 的均值和标准偏差;
ln 3n
n
εσ
= σ为噪声的标准偏差,n 为样本数。

上述经验公式是基于噪声水平已知的假设,并没有理论上的证明。

3)网格优化选择法
网格优化算法是一种大范围点集搜索方法。

搜索范围的确定仍需建模者设定。

该方法简单易行,但是训练时间较长,一般用来确定参数范围,再用其他方法进行渐近搜索。

4)统计学习理论的VC 维学习方法[117
、118]
采用统计学习理论的方法导出模型推广错误的界,并用VC 维来表示,用统计学习理论选择的核和调整因子C 可以使VC 维的上界最小,从而可以确定模型的参数。

但这种方法需要在非线性空间计算超球半径。

5)Bayesian 学习方法
James Tin-Yau Kwok 基于权值空间的观点给出了SVM 的贝叶斯解释[119]。

说明了SVM 可以解释为MacKay 证据体系的第一层推理,还说明了证据体系下的第二层、第三层推理也可以应用到SVM :第一个层次的推导考虑w 的概率分布(在一个潜在的无限维空间),确定正则项和损失函数的可能性;第二层推理是调整因子C 的推导;第三个层次的推理是获得核参数。

相关文档
最新文档