一种改进灵敏度分析的在线自适应极限学习机算法

2019-07-09 11:56翟华伟崔立成张维石
小型微型计算机系统 2019年7期
关键词:训练样本复杂度灵敏度

翟华伟,崔立成,张维石

1(大连海事大学 信息科学技术学院,辽宁 大连 116026) 2(大连理工大学 电子信息与电气工程学部,辽宁 大连 116024) 3(辽宁警察学院 公安信息系,辽宁 大连 116036)

1 引 言

极限学习机[1](Extreme Learning Machine,简称ELM)是一种单隐层前馈神经网络(简称SLFNs)学习算法,最大特点是只需确定隐节点数和输出权,其它参数随机设置且保持不变.

随着ELM算法的广泛应用,其在计算复杂度、泛化能力等方面已无法满足需求,国内外学者从理论层面和应用角度对ELM进行改进.首先,引入小波和遗传算法等技术,构建融合或组合ELM算法[1-3],通过使用小波等技术对输入样本进行预处理,随后进行ELM的训练和预测,或采用遗传算法等技术对ELM的预测结果进行优化.陈海鹏等人[4]引入小波变换,提出基于小波和ELM的组合预测方法,对训练样本进行分解与重构,随后使用ELM对分解后的样本进行预测.该类算法并未改变ELM算法本身,其应用性和泛化性能受到一定的影响.为此,研究者引入蚁群算法和遗传算法等,对ELM算法本身进行了改进.杨立群等人[5]将ELM算法和深度学习方法相结合,将微分进化算法融入人工蜂群算法中,对ELM算法的输出权和相关参数进行优化.翟俊海等人[6]引入模糊积分,通过模糊积分集成重复训练ELM,得到结构和参数不同的SLFNs.李凡军[3]和杜占龙[7]等人引入灵敏度的概念,基于灵敏度将各隐节点排序,删除灵敏度低的隐节点,解决了ELM网络结构设计问题.传统的ELM及其改进算法存在不能动态反映系统的当前变化、性能相对较低等缺陷.为满足在线应用需求,研究者提出ELM结构动态自适应调整策略,基于当前系统的变化或样本的实时输入,动态调整ELM网络结构.Li Guohu[8]、Alencar[9]和Shao Zhifei[10]等人基于在线学习预测需求,引入序贯学习算法[11]的思想,对ELM算法进行修正,随着样本的输入动态增加隐节点数,极大提高了ELM的灵活性和泛化能力,但隐节点数不能无限制地增加.Zhang Haigang[12]基于线性ELM算法,深入分析训练样本特性及其重要性,提出基于遗忘因子的改进在线序贯ELM算法,对每个新样本进行重要性分析,随着样本输入自动更新隐节点,自适应调整网络结构,控制隐节点数,提高预测精度,但算法复杂度相对较高.

为解决ELM及其改进算法存在的问题,本文引入序贯算法[11]中贡献度的思想,改进灵敏度的计算方法,提出基于改进灵敏度的在线自适应ELM算法,即IS-ELM算法,对网络结构进行合理精简,降低计算复杂度,提高预测精度.

2 ELM概述

Hβ=Y

(1)

ELM算法认为,如果L=N,(L为隐节点数,N为训练样本数),可以选择隐节点参数,调整输出权矩阵,使得模型训练误差为零,即‖Hβ-Y‖=0.因此,输出权β的最优值为β=H-1Y.

样本量有限的情况下,L值对于模型计算复杂度的影响相对较小,但随着数据量增加,不能无限制增加L,以达到训练误差为零.此外,从实际应用角度分析,也不能像训练样本一样为模型分配大量隐节点,需要对L值进行控制.ELM算法认为,当L

基于上述分析,输出权矩阵的最优解为:

β=H†T

(2)

其中,H†为Moore-Penrose广义逆.如果rank(H)=L成立,则公式(2)可以改写为:

β=(HTH)-1HTY

(3)

3 改进ELM算法

3.1 隐节点灵敏度

文献[3]给出隐节点灵敏度的计算公式,如公式(4)所示.

E(l,i)= |fbefore(xi)-fafter(xi)| = |hli‖βl|

(4)

其中,E(l,i)为第l个隐节点的灵敏度,βl为连接第l个隐节点的输出权,hli为第l个隐节点对样本xi的输出.少量样本无法准确地反映隐节点灵敏度大小,需要采用累计灵敏度,如公式(5)所示,N为训练样本数,值足够大,可使样本完全体现出其变化规律.

(5)

基于所有训练样本的Eavg(l)的计算复杂度较高,且N的大小难以确定.因此,引入主成份分析来计算隐节点灵敏度,减少对N值的依赖,且计算结果符合认知习惯.

为便于分析,对第l个隐节点的灵敏度可以使用相对学习残差表示,即:

(6)

公式(6)的计算复杂度取决于隐节点数L,S(l,i)∈(0,1),当S(l,i)→1时,灵敏度越大;当S(l,i)→0时,灵敏度趋近于无.此外,少量样本难以真实反映出第l个隐节点的灵敏度,如公式(5)所示,需要采用累积值,但累积贡献度的复杂度取决于训练样本数N,N值的大小必须能够反映出训练样本的分布状态,N越大,计算复杂度越大,且N值大小难以确定.因此,引入主成份分析技术,缩减训练样本数,降低累积灵敏度的计算复杂度.

给定训练样本(xi,yi),i=1,2,…,N,经过主成份分析,获取训练样本的s个主成份PCj,j=1,2,…,s.将PCj作为新的训练样本,基于公式(6),可以获取第l个隐节点的灵敏度S(l,1),S(l,2),…,S(l,s).参考公式(5),第l个隐节点的灵敏度为:

(7)

累积贡献度S(l)的优点在于:1)计算复杂度低,s≪N;2)S(l)∈(0,1),S(l)值越大,灵敏度越大,反之越小,完全符合人们的认知习惯,利于分析判断;3)只需要保存s个计算中间值,节省大量资源.

3.2 权值调整

基于隐节点灵敏度,当灵敏度小于给定阈值εs,即S(l)<εs,可认为此隐节点对ELM输出结果几乎没有任何作用,可以移除.

设当前ELM模型隐节点数为S,其中M个隐节点的累积灵敏度小于给定阈值εs,则移除此M个隐节点,保留S-M个隐节点,记为R={r1,r2,…,rS-M}为保留隐节点集,D={rM+1,rM+2,…,rS}={d1,d2,…,dM}为删除隐节点集.ELM模型在进行预测时,每个隐节点都会保存训练样本内潜在的信息,这些信息对预测结果的精度有着非常重要的作用,因此,移除隐节点前需要保存这些信息,删除隐节点也是避免模型产生过拟合问题的重要操作.

文献[3]采用权值横向平均传播的方法,更新未移除隐节点的输入层权值,保留移除节点内的样本信息.此方法未考虑现存隐节点自身的差异,会改变现存隐节点灵敏度间的相关关系,因此采用横向相对灵敏度传播的方法,具体如公式(8)所示.

(8)

此外,当ELM算法的输出结果和实测结果之间的误差大于给定阈值,即预测结果精度不满足需求时,表明当前模型无法精确地反映系统当前的动态变化,在考虑重新更新隐节点输出权的前提下,也需要考虑增加隐节点,以提高模型的预测精度.

文献[3,7]只考虑到为避免过拟合问题而删除隐节点,未就提高模型精度而动态增加隐节点.设当前ELM模型隐节点数为S,为提高模型精度需要动态增加一个隐节点,则该隐节点的灵敏度为:

(9)

新增隐节点的输入权(即输入层到该节点的连接权),如果随机生成,则缺少历史数据信息,对于模型精度稍有影响,为此采用相对灵敏度横向传播方法,即基于灵敏度间的相关关系,将其它节点的输入权通过处理作为新增隐节点的输入权值,如公式(10)所示:

(10)

其中,ωs+1,k为第k个输入层节点到新增隐节点的连接权,ωi,k为第k个输入层节点到第i个隐节点的连接权.

3.3 算法流程

经过分析整理,可知IS-ELM算法分为离线初始化和在线优化两个阶段,具体流程如下:

1)离线初始化

②设隐层节点数为s,选取激活函数g(·),随机生成隐层节点参数αi和βi,i=1,2,…,s.

③基于公式(6)和公式(7),以PCj为训练样本,j=1,2,…,s,计算各隐节点的累积灵敏度S(l),l=1,2,…,s.

④令k=0.

2)在线优化

3)预测

对实时采集的数据,使用公式预测下一时刻其变化情况.

4 性能测试

IS-ELM算法的性能在一定程度上受到阈值参数ε和εs的影响.选取Sigmoid函数为激活函数,验证ε和εs对算法的影响,结果如图1和图2所示.

阈值参数ε用于控制IS-ELM的训练精度,如图1所示.ε越小表明训练精度越大,但会出现过拟合问题,模型预测精度会极具变差;ε越大表明训练精度越小,可避免过拟合,但模型预测结果会在达到最优后逐渐变差.如图1所示,当ε=0.72左右时,预测精度达到最优,随后精度逐渐减小.阈值参数εs用于控制隐节点个数,随着εs的增大,隐节点个数逐渐减少.如图2所示,当εs=0.083左右时,隐节点个数最少,即隐层最优.理论上分析,随着εs的继续增大,隐节点数会不断减少,但在训练精度参数协同控制下,隐节点数会逐渐达到平稳,不会继续减少.

图1 阈值参数ε对IS-ELM算法预测精度的影响Fig.1 Influence of ε on prediction accuracy of IS-ELM

选取UCI机器学习数据库中数据,对IS-ELM算法进行性能测试,并与SA-ELM[3]、N1-ELM[2]和ImSAP-EM[7]进行对比.所有实验测试都在Matlab2011a环境下进行,其中,选取Sigmoid函数为隐节点激活函数,设置SA-ELM和ImSAP-EM的网络规模适应度阈值参数为0.3,初始隐节点数为400,IS-ELM算法的阈值参数ε=0.72和εs=0.083.

图2 贡献度阈值参数εs对隐节点数的影响Fig.2 Influence of εson the number of hidden nodes

针对回归问题,选取加州大学尔湾分校机器学习数据库中标杆数据(回归问题:auto-MPG、abalone、California Housing和Delta elevators),训练和测试数据依据问题本身随机选,表1给出数据的数据集的基本描述.实验测试结果如图3、图4和表2所示.

表1 数据集描述
Table 1 Specification of the data sets

Auto-MPGAbaloneCaliforniaHousingDeltaelevators训练样本数320200080004000测试样本数721177126405517输入维7886输出维1111

图3和图4为Abalone回归问题在学习过程中误差和隐节点数变化曲线.分析可知,随着隐节点数的减少,学习误差从0.051左右开始逐渐增加,最终增加到0.075左右达到恒定,虽然误差增加较快,但仍在可接受范围之内.

分析表2中测试结果,五个算法测试误差(误差为标准差)结果误差相差不大,最大相差0.0032,即相比ELM算法IS-EM算法精度分别提高了70.37%、81.08%、29.41%和25.49%.相比改进ELM算法,IS-ELM算法的精度最高分别提高了74.19%、50%、53.85%和22.33%.此外,IS-ELM算法的隐节点个数比原始ELM算法分别减少了63.46%、52%、68.91%和85.89%,相比ImSAP-ELM算法分别减少了17.39%、40%、7.5%和5.89%,表明IS-ELM算法构建的神经网络结构更加紧凑,训练时间也相对较短,最短达到0.1931s,最高也只有1.6s左右.

图3 学习误差变化曲线Fig.3 Variation curve of learning error

图4 隐层节点数变化曲线Fig.4 Variation curve of the number of hidden nodes

表2 回归问题测试结果对比
Table 2 Comparison between IS-ELM and other algorithms on regression problems

算法Auto-MPGAbaloneCaliforniaHousingDeltaelevators隐节点数训练时间测试误差隐节点数训练时间测试误差隐节点数训练时间测试误差隐节点数训练时间测试误差IS-ELM191.61360.0008120.19310.0007370.97280.0012161.28530.0038SA-ELM211.62870.0009140.21610.0006391.01550.0013161.53880.0045ImSAP-EM232.08530.0021200.28360.0012401.83170.0026171.72530.0043N1-ELM394.51730.003132.451.15940.0014513.40620.0021232.48370.0049ELM521.98370.0027250.01870.00371190.99160.00171220.31860.0051

此外,本文选取大连市某路段交通流量实测数据,对IS-ELM算法进行测试,结果如图5,其中虚线为观测值,实线为预测值.从实线的走向看出,IS-ELM算法可以很好地描述出交通流的变化趋势,但精度还需进一步提高.

图5 交通流量预测结果对比Fig.5 Comparison of traffic flow predicting results

图6为截取图5中采样时间ID在150至160范围内的预测结果对比,其中圆圈标记实线为实测值.从图6中可以直观地看出,IS-ELM算法可以较为精确地描述交通流的变化趋势,且与其它预测算法相比,预测精度也更高,预测精度对比提高如表3所示.

综上,回归问题的测试对比结果分析表明,IS-ELM训练时间更短,构建的SLFNs隐节点数更少,网络结构更加精简,预测精度较好.

表3 预测精度对比改进率(mAE)
Table 3 Contrast improved rate(mAE)

IS-ELMImSAP-ELMSA-ELMN1-ELMIS-ELM0-0.51291-0.54642-0.63642ImSAP-ELM-0.512910-0.0688-0.25356SA-ELM-0.54642-0.068790-0.19841N1-ELM-0.63642-0.25356-0.198410

图6 预测结果对比Fig.6 Comparison of predicting results

5 结 论

本文针对ELM及其改进算法存在的问题,对灵敏度进行修正,提出更符合实际需求的神经网络剪枝算法IS-ELM,分析隐节点灵敏度,在满足精度前提下,基于灵敏度大小,动态增加和删除隐节点,自动更新输出权.在回归问题中的实验结果表明,IS-ELM算法的训练时间进一步缩短,网络结构相对精简,误差更小.

猜你喜欢
训练样本复杂度灵敏度
基于机电回路相关比灵敏度的机电振荡模式抑制方法
一类长度为2p2 的二元序列的2-Adic 复杂度研究*
Beta-blocker therapy in elderly patients with renal dysfunction and heart failure
毫米波MIMO系统中一种低复杂度的混合波束成形算法
Kerr-AdS黑洞的复杂度
人工智能
非线性电动力学黑洞的复杂度
吸气式高超声速飞行器多参数灵敏度分析
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究