完整版支持向量回归机doc.docx
《完整版支持向量回归机doc.docx》由会员分享,可在线阅读,更多相关《完整版支持向量回归机doc.docx(35页珍藏版)》请在冰点文库上搜索。
完整版支持向量回归机doc
3.3支持向量回归机
SVM本身是针对经典的二分类问题提出的,支持向量回归机(SupportVector
Regression,SVR)是支持向量在函数回归领域的应用。
SVR与SVM分类有以
下不同:
SVM回归的样本点只有一类,所寻求的最优超平面不是使两类样本点
分得“最开”,而是使所有样本点离超平面的“总偏差”最小。
这时样本点都在
两条边界线之间,求最优回归超平面同样等价于求最大间隔。
3.3.1SVR基本模型
对于线性情况,支持向量机函数拟合首先考虑用线性回归函数
f(x)xb拟合(xi,yi),i1,2,...,n,xiRn为输入量,yiR为输出量,即
需要确定和b。
图3-3aSVR结构图图3-3b不灵敏度函数
惩罚函数是学习模型在学习过程中对误差的一种度量,一般在模型学习前己
经选定,不同的学习问题对应的损失函数一般也不同,同一学习问题选取不同的
损失函数得到的模型也不一样。
常用的惩罚函数形式及密度函数如表3-1。
表3-1
常用的损失函数和相应的密度函数
(
)
噪声密度
损失函数名称
损失函数表达式
%
c
i
p(i)
-不敏感
i
1
exp(
i
)
2(1
)
拉普拉斯
i
1exp(
i)
2
1
2
1
2
高斯
exp(
i
)
2
i
2
2
1
(i)2,
2
ifi
;
exp(
i
),
ifi
鲁棒损失
2
2
i
otherwise;
exp(
i
),otherwise
2
2
1
p
p
p
多项式
p
i
2(1/p)exp(i
)
1
p
p
if
exp(
i
1),
if
p
p1
i
i
p
i
分段多项式
p
p
1
p
1
i),otherwise
i
p
otherwise
exp(
p
标准支持向量机采用
-不灵敏度函数,即假设所有训练数据在精度
下用线
性函数拟合如图(3-3a)所示,
yi
f(xi)
i
f(xi
)yi
*
i
i,i*
0
i1,2,...,n(3.11)
式中,i,
i*是松弛因子,当划分有误差时,
,i*
都大于0,误差不存在取0。
这时,该问题转化为求优化目标函数最小化问题:
R(,,*)
1
n
(ii*
(3.12)
C
)
2
i
1
式(3.12)中第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误
差;常数C
0表示对超出误差
的样本的惩罚程度。
求解式(3.11)和式(3.12)
可看出,这是一个凸二次优化问题,所以引入
Lagrange函数:
1
n
n
L
C
(i
i*)
i[i
yi
f(xi)]
2
i1
i1
(3.13)
n
n
i*[i*
i*
i*)
yi
f(xi)]
(ii
i
1
i1
式中,,i*0,i,i*
0,为Lagrange乘数,i1,2,...,n。
求函数L对,
b,i,i*的最小化,对i,i*,i,i*的最大化,代入Lagrange函数得到对偶形式,最大化函数:
W(,*)
1
n
(i
i*)(j
*j)(xixj)
2i1,j1
(3.14)
n
n
i*)yi
i*)
(i
(i
i1
i1
其约束条件为:
n
i*)
(i
0
(3.15)
i1
0
i,
*
C
i
求解式(3.14)、(3.15)式其实也是一个求解二次规划问题,由Kuhn-Tucker
定理,在鞍点处有:
i[
i
yi
f(xi)]0
i*[
i*
yif(xi)]0
0
*
*
0
(3.16)
ii
i
i
得出
*
0,表明
i,
*
不能同时为零,还可以得出:
ii
i
(C
i)i
0
(3.17)
(C
i*)
i*
0
从式(3.17)可得出,当
C,或
*
C时,f(xi)
yi可能大于,与
i
i
其对应的xi
称为边界支持向量(
BoundarySupportVector,BSV),对应图3-3a
中虚线带以外的点;当
*
i
(0,C)时,f(xi)yi
,即i
0,i
*
0
,与其
对应的xi称为标准支持向量(NormalSupportVector,NSV),对应图3-3a中落
在管道上的数据点;当i=0,i=0时,与其对应的xi为非支持向量,对应图
3-3a中管道内的点,它们对w没有贡献。
因此越大,支持向量数越少。
对于
标准支持向量,如果0iC(i0),此时i0,由式(3.16)可以求出参数b:
l
byi(jj)xjxi
j1
yi(jj)xjxi
xjSV
同样,对于满足0iC(i0)的标准支持向量,有
byi(jj)xjxi
xjSV
一般对所有标准支持向量分别计算b的值,然后求平均值,即
b
1{
[yi
(j
*j)K(xj,xi)
]
NNSV0i
C
xjSV
(3.18)
[yi
(j
*j)K(xj,xi)
]}
*
xjSV
0iC
因此根据样本点(xi,yi)求得的线性拟合函数为
n
i*)xix
f(x)
x
b
(
i
b
(3.19)
i
1
非线性SVR的基本思想是通过事先确定的非线性映射将输入向量映射的一个高维特征空间(Hilbert空间)中,然后在此高维空间中再进行线性回归,从而取得在原空间非线性回归的效果。
首先将输入量x通过映射
:
Rn
H映射到高维特征空间
H中用函数
f(x)
(x)b拟合数据(xi,yi
),i
1,2,...,n。
则二次规划目标函数(3.14)
式变为:
W(,*)
1
n
i*)(j
*j)((xi)(xj))
(i
2i1,j1
n
i*)yi
n
i*)
(i
(i
(3.20)
i
1
i1
式(3.20)中涉及到高维特征空间点积运算
(xi)
(xj),而且函数
是未知的,
高维的。
支持向量机理论只考虑高维特征空间的点积运算
K(xi,xj)(xi)(xj),而不直接使用函数
。
称K(xi,xj)为核函数,核函数
的选取应使其为高维特征空间的一个点积,
核函数的类型有多种,常用的核函数
有:
多项式核:
k(x,x')
(x,x'
d)p,p
N,d
0;
高斯核:
k(x,x')
x
x'
2
exp(
2
);
2
RBF核:
k(x,x')
x
x'
);
exp(
2
2
B样条核:
k(x,x')
B2N1(x
x');
sin(N
1)(xx')
Fourier核:
k(x,x')
2
;
sin
1(x
x')
2
因此式(3.20)变成
W(,*)
1
n
i*)(j
*j)K(xxi)
(i
2i
1,j1
n
i*)yi
n
i*)
(i
(i
i
1
i1
可求的非线性拟合函数的表示式为:
f(x)(x)b
n
(ii*)K(x,xi)b
i1
3.3.2结构改进的支持向量回归机
上节所述的SVR基本模型其优化目标为:
min1w
2
l
i*
(
)
C
i
w,b,
2
i
1
st..
yi
w
(xi
)
b
i
w
(xi)
b
yi
*
i
i
0
*
0,i
1,2,...,l
i
(3.21)
(3.22)
(3.23)
SVR结构改进算法一般在优化目标中增加函数项,变量或系数等方法使公
式变形,产生出各种有某一方面优势或者一定应用范围的算法。
Suykens提出了最小二乘支持向量机(LS-SVM)[105],与标准SVM相比其
优化指标采用了平方项,从而将不等式约束转变成等式约束,将二次规划问题转
化成了线性方程组的求解,其优化目标为:
Min
1
1
l
2
2
2
i
i
b,
1
st..
yi
(xi)
bi
(3.24)
i
1,2,L
l
LS-SVM与标准SVM相比减少了一个调整参数,减少了l个优化变量,从
而简化了计算复杂性。
然而LS-SVM没有保留解的稀疏性。
改进的最小二乘支
持向量机有:
递推最小二乘支持向量机[106]、加权最小二乘支持向量机[107]、多分
辨率LS-SVM[108]及正则化最小二乘方法[109]等。
Sch?
lkoph等提出的-SVM方法[110],引入反映超出管道之外样本数据点
(即边界支持向量数量)和支持向量数的新参数,从而简化SVM的参数调节。
其优化目标为:
min
1
T
C
1l
2
*2
)
(
i
i
b,
2
li1
st..
yi
(xi)
b
i
(xi)b
yi
*
(3.25)
i
i0
*
i0
i1,2,L,l
l表示边界支持向量机的上限和支持向量机的下限。
与标准支持向量机相比优
化求解过程不需要设定值。
标准SVM方法中,引入惩罚系数C实行对超出-带数据点的惩罚。
在实际
问题中,某些重要样本数据点要求小的训练误差,有些样本数据点对误差的要求
不是很高。
因此,在优化问题描述时,对每个样本点应采用不同的惩罚系数C,
或对于每个样本数据点应采用不同的-不敏感函数,使回归建模更加准确,这
一类结构变化的支持向量机通常称为加权支持向量机(WSVM)[111],加权支持
向量机可以通过对惩罚系数C加权实现,也可以通过对加权实现。
通过对参数
C加权实现时,其优化目标为:
1
2
l
*
min
s(
)
C
i
(*),b
2
i
i
i
1
s..t
(xi)b
yi
i
(3.26a)
yi
(xi)
b
i
*
i
()
0,
i
L
l
1,2,
通过对加权实现时,其优化目标为:
1
2
l
i*
min
C
(i
)
w
1
w,b,,
2
i
s..t
yi
w
(xi
)
b
i
i
(3.26b)
w
(xi)
b
yi
i
i
i
0,i*
0
i
1,2,Kl
Friess等提出了一种针对分类问题的SVM变形算法-BSVM算法[112]。
与标
准SVM相比,BSVM的优化目标多一项,而约束条件少一项等式约束,变为边
界约束条件下的二次规划问题,适合迭代求解。
同时可以应用矩阵分解技术,每次只需更新Lagrange乘子的一个分量,从而不需要将所有样本载入内存,提高
了收敛速度。
BSVM算法应用于回归分析,其优化目标为:
1
1b2
l
Min
T
C
(ii*)
2
2
i1
st..
yi
(xi)
b
i
(xi)
b
yi
*
i
i
0
i
*
0
i
L
1,2,,l
(3.27)
标准SVM回归算法都是把问题转化为求解凸二次规划。
Kecman和Hadzic[113]
提出用L1范数替代L2范数,从而通过改造用线性规划(LP)代替凸二次规划,
以便于利用非常成熟的线性规划技术求解回归支持向量机。
由最优化理论,
l
(i*i)xi
i1
l
(*)
(i
i1
原目标函数中的
,据此考虑把原始目标函数的l2
模
2
用l1模
l
i*)替换。
则l1模可以改写为:
(*)
(i
i*),用
(*)代替
i
1
2
;将代入原约束条件;增加约束
i,
*
0,i1,2,Ll,可
i
得:
min
1
l
(i
i*)
C
l
(
i
i
*)
(*)
(*),b
l
i1
li
1
l
i*)(xi
s..t
(
i
xj)
b
yi
i
i
1
(3.28)
l
y
i
(
i
i
*)(x
x
j
)
b
i
1
i
L
(
)
()
0,
l
i
i
i1,2,
*
i
针对实际问题的特殊性,有时可以选择其他形式的更适宜的惩罚函数。
惩罚
带为任意形式的支持向量回归机[114],通过定义推广的-不敏感损失函数:
yf(x)(x),yf(x)(x);
c(x,y,f(x))0,(x)yf(x)*(x);
yf(x)*(x),yf(x)*(x);
其中(x),*(x):
R,采用推广的-不敏感损失函数构造-SVR问题,将原
始最优化问题转化为:
min
1
l
(
i
i*
)
C
l
i
*
l
i*
(*)
(*),b
l
i
1
i1
i
1
s..t
xi
b
yi
i
(xi)
i
yi
xi
b
i**(xi)
i*
i(
),
i()
0,
i
1,2,L
l
1
l
(i
i*)
l
i
1
(3.29)
惩罚带为任意形式的支持向量回归机包含了针对惩罚函数改进SVR结构的
所有模型。
此外,还有模糊支持向量回归机(FSVR)[59]、拉格朗日支持向量机(LSVR)
[115]等。
3.3.3SVM参数优化方法研究
支持向量机的性能取决于超参数C、、核函数类型及核参数。
核函数类型
的选择与所应用的领域有关,核函数特性的不同决定建立的模型也具有不同的特
性,对于静态软测量建模,一般采用rbf核函数,因为其跟踪性能较好且没有记
忆性,符合静态建模的特点。
核参数反映了训练数据的范围或分布,它对模型的
预测效果影响较大;调整因子C是模型复杂度和推广能力的折中,它决定了对
损失大于的样本的惩罚程度,当C时,模型优化目标退化为经验风险最小
化,C过小,使经验风险所占比重太少,模型结构复杂度下降,但训练误差可能超出接受范围;不灵敏函数是SVR的重要特征,它决定了支持向量的数目,保证了解的稀疏性,是模型推广性能的象征,但是太平滑的估计又会降低模型的精度。
目前没有一个理论的方法来设计SVR的参数,现有的软件都是基于建模者的经验在建模之前设定。
常用的设定SVR参数的方法主要有以下几种:
1)交叉检验法
交叉检验法是用的最多的一种参数选择方法,其基本思想是将样本集分为训
练集、检验集和测试集,选择若干组模型参数,用训练集推导模型系数,选择其
中使检验集误差测度最好的参数用于测试集。
根据样本集的长度,可以设定交叉
检验的次数。
2)经验选择法
经验选择就是根据建模者的经验在建模之前选择参数。
Vladimir等提出了一
种根据训练集数据特性选择模型参数的方法[116],其中
Cmax(y3y,y3y)
式中y,y分别表示训练数据集中y的均值和标准偏差;
3
lnn
n
为噪声的标准偏差,n为样本数。
上述经验公式是基于噪声水平已知的假设,
并没有理论上的证明。
3)网格优化选择法
网格优化算法是一种大范围点集搜索方法。
搜索范围的确定仍需建模者设
定。
该方法简单易行,但是训练时间较长,一般用来确定参数范围,再用其他方
法进行渐近搜索。
4)统计学习理论的VC维学习方法[117、118]
采用统计学习理论的方法导出模型推广错误的界,并用VC维来表示,用统
计学习理论选择的核和调整因子C可以使VC维的上界最小,从而可以确定模型
的参数。
但这种方法需要在非线性空间计算超球半径。
5)Bayesian学习方法
JamesTin-YauKwok基于权值空间的观点给出了SVM的贝叶斯解释[119]。
说明了SVM可以解释为MacKay证据体系的第一层推理,还说明了证据体系下
的第二层、第三层推理也可以应用到SVM:
第一个层次的推导考虑w的概率分
布(在一个潜在的无限维空间),确定正则项和损失函数的可能性;第二层推理
是调整因子C的推导;第三个层次的推理是获得核参数。