神经网络极速学习方法研究_邓万宇
第33卷 第2期2010年2月
计  算  机  学  报
CH INESE JOU RNAL OF COMPUT ERS
V ol.33No.2
F eb.2010
收稿日期:2009-07-15;最终修改稿收到日期:2009-09-27.本课题得到国家自然科学基金(60825202,60803079,60633020)、国家/八六三0高技术研究发展计划项目基金(2008AA01Z131)、国家科技支撑计划项目(2006BAK11B02,2006BAJ07B06,2008BAH26B02,2009BAH51B00)、中国科学院复杂系统与智能研究科学重点实验室开放基金资助项目(20080101)和陕西省教育厅科学研究计划项目(09JK717)资助.邓万宇,男,1979年生,博士研究生,讲师,主要研究方向为机器学习、协作过滤、个性化服务.E -mail:d engw an yu@126.郑庆华,男,1969年生,博士,教授,博士生导师,主要研究领域为智能化学习理论、网络安全.E -mail:qhzheng @xjtu.edu.陈 琳,女,1977年生,硕士,讲师,主要研究方向为机器学习、协作过滤、个性化服务.许学斌,男,1974年生,硕士,工程师,主要研究方向为机器学习、模式识别.
神经网络极速学习方法研究
邓万宇1) 郑庆华1) 陈 琳2) 许学斌
1)
1)
(西安交通大学电信学院计算机系智能网络与网络安全教育部重点实验室 西安 710049)
2)
(西安邮电学院计算机科学与技术系 西安 710061)
摘 要 单隐藏层前馈神经网络(Single -hidden L ayer F eedfo rw ard Neura l N etwo rk,SL F N)已经在模式识别、自动控制及数据挖掘等领域取得了广泛的应用,但传统学习方法的速度远远不能满足实际的需要,成为制约其发展的主要瓶颈.产生这种情况的两个主要原因是:(1)传统的误差反向传播方法(Back Pro pag atio n,BP )主要基于梯度下降的思想,需要多次迭代;(2)网络的所有参数都需要在训练过程中迭代确定.因此算法的计算量和搜索空间很大.针对以上问题,借鉴ELM 的一次学习思想并基于结构风险最小化理论提出一种快速学习方法(R EL M ),避免了多次迭代和局部最小值,具有良好的泛化性、鲁棒性与可控性.实验表明R EL M 综合性能优于ELM 、BP 和SV M.关键词 极速学习机;正则极速学习机;支持向量机;结构风险;神经网络;最小二乘中图法分类号T P18  DOI 号:10.3724/SP.J.1016.2010.00279
Research on Extreme Learning of Neural Networks
DENG Wan -Yu 1) ZH ENG Qing -H ua 1) CH EN Lin 2) XU Xue -Bin
1)
1)(M inistry
of Edu cation K ey L abora tory f or I ntellig ent N etw or ks and N etw or k S ecur ity ,
Dep artment of Comp uter S cience and T echnolog y ,X i c an Jiaotong Unive rsity ,X i c an  710049)
2)
(Dep artment of Comp ute r Sc ienc e and Te chnology ,X i c an Univ ersity of P osts &Te le commu nications ,X i c an  710121)
Abstract  SLFNs(Single -hidden Layer Feed fo rw ar d Neur al netw orks)have been w idely applied in many fields including pattern recog nition,autom atic contr ol,data mining etc.H ow ever,the traditional lear ning methods can not m eet the actual needs due to tw o m ain reaso ns.Firstly,the traditional method is m ainly based o n g radient descent and it needs multiple iterations.Seco ndly,all of the netw ork parameters need to be determined by iteratio n.T her efore,the computational complex ity and searching space w ill increase dramatically.To solve the abo ve problem,m otiv ated by E
LM .s o ne -time learning idea,a nov el alg orithm called Regularized Ex tr em e Learning Ma -chine (RELM )based o n str uctural risk m inimization and w eighted least square is pro posed in this paper.The algo rithm not o nly avoids a num ber o f iterations and the local minimum,but also has better g eneralization,r obustness and contr ollability than the o riginal ELM.Additionally,ex per-i
mental results have sho w n that RELM .overall perfo rmance is also better than BP and SVM.Keywords  ex treme learning machine;reg ular ized extreme lear ning m achine;support v ecto r ma -chine;structural risk;neural netw ork;least square
1引言
单隐藏层前馈神经网络(Sing le-hidden Layer Feedforw ard Neural N etw ork,SLFN)之所以能够在很多领域得到广泛应用,是因为它有很多优点: (1)具有很强的学习能力,能够逼近复杂非线性函数;(2)能够解决传统参数方法无法解决的问题.但另一方面缺乏快速学习方法,也使其很多时候无法满足实际需要.
对于SLFN的学习能力,很多文献分别从紧集(compact input sets)和有限集(infinite input sets)两种输入情况进行了深入讨论.H ornik研究表明:如果激励函数连续、有界且不是常量函数,那么SLFN能够在紧集情况下逼近任何连续函数[1]; Leshno在H o rnik基础上的进一步研究表明:使用非多项式激励函数的SLFN能够逼近任何连续函数[2].在实际应用中,神经网络的输入往往是有限集,对于有限集情况下SLFN的学习能力,H uang 和Babri等进行了研究,结果表明:对于含有N
个不同实例的有限集,一个具有非线性激励函数的SLFN最多只需N个隐藏层结点,就可以无误差地逼近这N个实例[3-4].这就是说,一个具有N个隐藏层结点的SLFN,即使输入权值随机取值,它也能够准确拟合N个不同的实例,更明确地讲就是: SLFN的学习能力只和隐藏层结点的数目有关,而和输入层的权值无关.虽然这一点对于提出一种新的学习算法很有启发,但并未引起研究者的注意,迭代调整的思想一直坚持到现在,很多算法都只是围绕这一思想进行技巧性的改进.不同于传统的学习方法,H uang基于以上研究结论为SLFN提出了一种称为极速学习机(Ex treme Learning Machine, ELM)的学习方法[5]:设置合适的隐藏层结点数,为输入权和隐藏层偏差进行随机赋值,然后输出层权值通过最小二乘法得到.整个过程一次完成,无需迭代,与BP相比速度显著提高(通常10倍以上).
但是ELM是基于经验风险最小化原理,这可能会导致过度拟合问题[6].此外因为ELM不考虑误差的权重,当数据集中存在离点时,它的性能将会受到严重影响[7].为了克服这些缺点,我们结合结构风险最小化理论以及加权最小二乘法对ELM算法进行改进,使得ELM在保持/快速0这一优势的前提下,泛化性能得到进一步的提高.2SLFN的统一模型
对于N个不同样本(x i,t i),其中x i=[x i1, x i2,,,x in]T I R n,t i=[t i1,t i2,,,t im]T I R m,一个隐藏层结点数目为
N、激励函数为g(x)的SLFN的统一模型为
E N
i=1
B i g i(x j)=E N
i=1
B i g(a i#x j+b i)=t j,j=1,2,,,N
(1)其中a i=[a i1,a i2,,,a in]T是连接第i个隐藏层结点的输入权值;b i是i个隐藏层结点的偏差(bias);
B i=[B i1,B i2,,,B im]T是连接i个隐藏层结点的输出权值;a i#x j表示a i和x j的内积.激励函数g(x)可以是/Sigm oid0、/Sine0或/RBF0等.
上述N个方程的矩阵形式可写为
H B=T,
其中
H(a1,,,a N,b1,,,b N,x1,,,x N)=
g(a1#x1+b1),g(a N#x1+b N
)
s,s
g(a1#x N+b1),g(a N#x N+b N)N@ N
,
B=
B T1
s
B T N
N@m
,T=
t T1
s
t T N N@m
.
E(W)表示期望值和实际值之间的误差平方和,问题求解就是寻最优的权值W=(a,b,B)使代价函数E(W)最小,其数学模型可表示为
arg min
W=(a,b,B)
E(W)=arg min
W=(a,b,B)
+E+2,
(2)其中E j=[E j1,E j2,,,E j m]是第j个样本的误差.
为了方便讨论,在后文中将以一维输出(m=1)为例进行研究,但所得结论仍适用于多维情况.
3BP
由Rum elhart和M cClelland提出的BP神经网络模型是目前应用最广泛的模型之一[8],BP训练方法是通过反向误差传播原理不断调整网络权值使得实际输出与期望输出之间的误差平方和达到最小或小于某个阈值.当H未知时,通常采用梯度下降法
280计算机学报2010年
快速学习迭代调整W :
W k =W k -1-G
9E (W )
9W
,其中G 代表学习速率.
基于梯度下降法的BP 存在以下缺点:
(1)训练速度慢.因为需要多次的迭代,所以时间消耗很长.
(2)参数选择很敏感,必须选取合适的G 与W 初值,才能取得理想的结果.若G 太小,算法收敛很慢,而G 太大,算法不太稳定甚至不再收敛;
(3)局部最小值.由于E (W )非凸,因此在下降过程中可能会陷入局部最小点,无法达到全局最小
[9]
;
(4)过渡拟合.在有限样本上训练时,仅以训练误差最小为目标的训练可能导致过渡拟合.
4 ELM
为了解决以上问题,H uang 基于以下定理为SLFN 提出了ELM 学习算法.
定理1[5].对于任意N 个不同样本(x i ,t i ),其中x i =[x i 1,x i 2,,,x in ]T I R n ,t i =[t i 1,t i 2,,,t im ]T I R m
,N 个隐藏层结点和一个任意区间无限可导的激活函数g :R y R,则SLFN 在a i I R n
和b i I R 任意赋值的情况下,所形成的隐藏层矩阵H 可逆,即方程组有精确解,代价函数E(W )=0.
定理2[5]
. 给定任意N 个不同样本(x i ,t i ),任意小误差e >0,及在任意区间无限可导的激活函数g:R y R,总存在一个包含 N ( N F N )个隐藏层结点
的SLFN ,使得在a i I R n
和b i I R 任意取值情况下,误差E(W )F e.
定理1和定理2的详细证明可参考文献[4-5,10].定理表明:只要隐含层结点数足够多,SLFN 就能在输入权随机赋值情况下逼近任何连续函数.但为了使SLFN 具有良好的泛化性能,通常 N n N.当输入权以随机赋值的方式确定后,所得隐藏层矩阵H 便是一个确定的矩阵,因此训练SLFN 就转化为计算H B =T 的最小二乘解问题.关于ELM 的细节请参考文献[5].
与BP 相比ELM 需要调整的参数只有隐含层结点个数 N ,目前虽没有精确估计 N 的方法,但 N n N 大大缩小了搜索范围,在实际应用中 N 可以通过交叉验证的方式确定.在标准UCI 数据集上的大量实验表明ELM 训练速度快,泛化性能良好,但
ELM 仍有一些缺点:
(1)ELM 仅考虑经验风险,没有考虑到结构化风险,因此可能导致过度拟合问题;
(2)ELM 直接计算最小二乘解,用户无法根据数据集的特征进行微调,可控性差;
(3)当数据集中存在离点时,模型性能将会受到很大影响,鲁棒性较差.
为了克服这些缺点,我们把结构风险最小化理论以及加权最小二乘法引入到ELM 中,提出一种正则极速学习机(Reg ularized Extreme Learning Machine,RELM).
5 正则极速学习机(RELM)
根据统计学理论可知,实际风险包括经验风险
和结构风险两种成分[11]
.一个具有较好泛化性能的
模型应该能权衡这两种风险,并取得最佳的折中.RELM 将同时考虑这两种风险因素,并通过参数C 调节两种风险的比例,RELM 的数学模型可表示为ar g m in B E (W )=ar g m in B 12+B +2+12
C +E +2
,s.t.
E
N i =1
B i
g (a i
#x j
+
b i )-t j =E j ,j =1,2,,,N ,
其中,误差的平方和+E +2代表经验风险;+B +2代表结构风险,它源于统计理论中边缘距离最大化原理[12-13];而C 则是两种风险的比例参数,通过交叉验证的方式确定C 来获得两种风险的最佳折中点.
为了获得一个抗干扰模型,我们为不同样本的误差进行加权,+E +2被扩展为+D E +2.其中D =diag (v 1,v 2,,,v N )表示误差的权值对角阵.RELM 的模型进一步修正为
arg m in B 12+B +2+12
C +
D
E +2
,s.t.
E
N i=1
B i
g (a i
#x j
+
b i )-t j =E
j ,j =1,2,,,N.上式是条件极值问题,通过拉格朗日方程转换为无条件极值问题进行求解: (B ,E ,A )=
C 2+
D
E +2+12
+B +2
-E N
j =1
A j
(g(a i
#x j
+
b i )-t j -E
j )=C 2+D E +2+12
+B +2-A (H B -T -E )(4)
281
2期邓万宇等:神经网络极速学习方法研究
其中A =[A 1,A 2,,,A N ];A j I R m
(j =1,2,,,N )代
表拉格朗日乘子.
求拉格朗日方程的梯度并令其为0:
9 9B
y B T
=A H    (5a )9 9E
y C E T
D 2+A =0  (5b )9
9A
y H B -T -E =0
(5c )
把方程(5c)代入方程(5b )得A =-C (H B -T )T
D
2
(6)把式(6)代入方程(5a )得
B =
I
C
+H T D 2H ­H T D 2T
(7)
表达式(7)只含有一个 N @ N ( N n N )矩阵的逆操作,所以计算B 的速度非常快.5.1 无权RELM
在实际应用中,如果数据集中离点很少,对模型没有太大影响,那么为了加快训练速度,可以认为每个样本的误差权值相同,此时矩阵D =diag (v 1,v 2,,,v N )将是一个单位阵,无须计算.我们称这种情况的RELM 为无权RELM ,无权RELM 算法可归结如下:
算法1. 无权RELM .
给定一个训练集T ={(x i ,t i )|x i I R n
,t i I R m
,i =1,
2,,,N }、激励函数g(x )及隐藏层结点数 N ,
(1)随机指定输入权值a i 和偏差b i (i =1,2,,, N ).
(2)计算隐藏层输出矩阵
H =
g(a 1#x 1+b 1),g(a  N #x 1+b  N )
s ,s g(a 1#x N +b 1)
,
g(a  N #x N +b  N )N @
N .
(3)计算输出权值B :B =I
C
+H T H ­
H T T .
通过观察不难看出,RELM 与ELM 计算量基本一样.其实ELM 是未加权RELM 的一种特殊情况.
定理3. 当C y ]时,未加权RELM 将退化为ELM .
证明. 若C y ],则I
y 0,因此有  B =
I C
+H T H ­
H T
T =(H T
H )­
H T
T
=H ­
(H T
H T T =H ­
T .
证毕.
5.2 加权RELM
与无权RELM 相反,如果数据含有离点,那
么使用加权RELM 有一定的抗干扰能力,这可以从后面/SinC 0数据集离点加入前后的实验对比中看
出.加权RELM 需要计算误差的权值,权值计算已有很多论述[7,14],这里采用文献[15]提到的方法:
v j =
1,
|E j /^s |F c 1c 2-|E j /^s |
c 2-c 1
,
c 1F |E j /^s |F c 210-4,
其它
,其中E
j =-A j
C
,它是无权RELM 计算得到的样本误差,^s 是误差E j 的标准偏差(standard deviation )估
计,可通过公式^s =11483M AD (x j )计算.MA D (M edian Absolute Deviatio n)表示绝对中位差.根据高斯分布可知:基本不存在大于215^s 的误差,因此常量c 1和c 2通常被置为c 1=215,c 2=3[7].综上所述,RELM 算法可归结如下:
算法2. 加权RELM .
给定一个训练集T ={(x i ,t i )|x i I R n ,t i I R m ,i =1,2,,,N }、激励函数g(x )以及隐藏层结点数 N ,
(1)随机指定输入权值a i 、偏差b i (i =1,2,,, N )并且计算隐藏层输出矩阵H .
(2)B =
I C +H T
H
­
H T T .
(3)A =-C (H B -T )T .(4)E i =
A i
C
(i =1,2,,,N ).(5)^s =11483M A D (x j ).(6)D =diag (v 1,v 2,,,v N ):
v j =
1,|E j /^
s |F c 1c 2-|E j /^s |
c 2-c 1,
c 1F |E j /^s |F c 210-4,
其它.(7)B =
I
C
+H T D 2H ­
H T D 2T .
加权RELM 多了计算权值的过程,时间消耗有所延长,因此如果实际应用中对训练时间要求很强,那么用无权RELM 比较合适.在下面的实验中,除为了验证RELM 的鲁棒性在/SinC 0数据集上采用加权RELM 和ELM 进行比较外,其它数据集的实验一律采用无权RELM 和ELM 进行比较.
RELM 与ELM 相比,具有如下特点:
(1)方程组的解是H B =T 的一个加权最小二乘解:
+H B
^-T +=+H (H T D 2H )­H T D 2T -T +=arg min B +H B -T +.
这个解不但可以达到最小的训练误差,同时对
离点具有一定的抗干扰能力.
(2)通过引入调节参数C ,代价函数不仅包括经
282
计  算  机  学  报2010年
验风险,还包括结构风险,这使得方程组的解不仅获得尽可能小的训练误差,而且能使边缘距离最大化,从而具有更好的泛化性能:
H I C+H T H ­
H T T-T=
arg min
B
C+H B-T+++B+2.
6性能评估
这里我们通过实验结果比较RELM、ELM、BP和支持向量机(Support Vector Machine, SVM)[12-13]的性能.RELM、ELM和BP的执行环境是M atlab710,SVM的执行环境是C语言.RELM由我们自己实现,ELM的源代码可以从H uang的个人主页直接下载¹,而BP算法已经集成在M atlab 自带的神经网络工具箱中,可以直接使用.BP算法有很多变种,我们选择最快的Levenberg-M arquardt算法来进行实验.SVM算法我们采用C 语言实现的SVM包:LibSVMº.RELM、ELM和BP的激励函数都选择/Sigm oid0函数:g(x)= 1/(1+exp(-x)),而SVM的核函数选择径向基函数.实验数据的输入一律归一化到[0,1]范围内,而输出则归一化到[-1,1]范围内.
值得指出的是,这里汇总的实验结果都是每种算法能够达到的最优实验结果.对于SVM,我们采用H su和Lin提出的排列组合方式[16]选择最优的参数C和C:C=[24,23,,,2-10],C=[212,211,,, 2-2].共有15@15=225种组合,对每一种组合(C,C),进行50次随机实验,并对最佳平均值进行汇总.对于RELM,我们采用类似于SVM的方式选择最优的参数C和隐藏层结点数
N:C=[2-50, 2-49,,,250],
N=[5,10,,,
N max](
N max根据具体数据集设定).对于所产生的每个组合(C,
N),进行50次随机实验,并对最佳平均值进行汇总.对于ELM和BP,隐藏层结点的个数初始取5,每次递增5,并基于5-折
交叉验证的方法选择最优(接近)的数目,然后进行50次实验并将最佳平均结果进行汇总.
6.1回归问题
6.1.1人工数据:/SinC0
/SinC0函数表达式:y(x)=sin x/x,x X0
1,x=0
.
数据产生方法:在区间(-10,10)内随机产生5000个训练样本和测试样本,并在所有训练样本上附加取值范围为[-012,012]的随机噪声,而测试数据无噪声.各种算法的性能见表1.从表1可以看出RELM的RM SE(Ro ot M ean Square Err or,均方根误差)比ELM小,分别为010078和010097;不过RELM训练时间比ELM稍长;RELM的RMSE明显比BP算法和SVM算法要小,而训练时间却比BP和SVM缩短了上百倍.由此可见在/SinC0数据集上,RELM综合性能最好.
表14种算法在/SinC0数据集上的性能比较
时间/s Training T esting
RM SE
T rainin g T es tin g
Dev
T raining Testing
支持向量个数/
隐藏层结点数
RELM ELM BP
S VM
01106
01096
161354
9791538
01024
01024
01035
41545
011154
011148
011196
011149
010078
010097
010159
010130
0100077
010037
010042
010007
010010
010028
010041
010012
20
20
20
2500
为了比较RELM和ELM算法的鲁棒性, /SinC0训练集中加入了一些离点后进行重新实验.实验结果见图1,从图中可以看出ELM的预测曲线明显脱离实际曲线,说明其受到离点的干扰很大.而RELM的预测曲线仍能完好地拟合实际曲线,说明RELM具有一定的抗干扰能力.
6.1.2实际回归问题
我们在13种真实数据集»上将RELM与ELM、BP、SVM进行比较,数据集信息见表2.4种算法的RM SE见表3.从表3可以看出,RELM在大多数据集上的测试RM SE比ELM、BP、SVM小,说明其有更好的泛化性能(如果两种算法的RM SE 相差大于01005时,较好的RMSE加粗表示);表4汇总了4种算法的时间消耗,从表4可以看出RELM的训练速度和ELM相差无几,却比BP和SVM快很多倍.但是由于BP具有最紧凑网络结构(隐藏层结点数最少),在4种算法中BP测试时间最短;表5汇总了4种算法的标准偏差.
283
2期邓万宇等:神经网络极速学习方法研究
¹º»EL M S ou rce Cod es:h ttp://w u.edu.s g/home/egb-hu ang/
S VM S ource Codes:w ww.u.edu.tw/~c-j lin/libsvm/
h ttp://w w w.niaad.liacc.up.pt/~ltorgo/Regr ess ion/ds_ m enu.h tm l

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。