张仕光,郭迪,冯歌,刘洁晶
(1.河南师范大学 计算机与信息工程学院,河南 新乡 453007;2.衡水学院 教务处,河北 衡水 053000)
极限学习机(Extreme Learning Machine,ELM)是由Huang及其研究团队提出的一种新型快速学习算法[1]。从神经网络的结构来看,ELM是一种简单的单隐层神经网络。与BP(Back Propagation)神经网络的不同之处在于ELM不需要迭代地调整单隐层神经网络的输入层和隐含层之间的权值,并且直接根据最小二乘法得到隐藏层到输出层的权值,具有高效快速的优势,其作为前馈神经网络学习中一种全新的训练框架,自提出以来就受到工业界和学术界广泛深入的研究[2]。现已被广泛应用于图像分类、目标识别、特征选择、生物信息学等各个领域。
标准的ELM模型是一个基于经验风险最小化原理的学习过程,训练出的模型容易产生过拟合现象,并且当训练样本中出现较多的离群点时,隐藏层输出矩阵具有不适定性,导致模型的泛化能力和鲁棒性都会受到影响。自ELM发展以来,研究人员提出了许多ELM的改进模型,这些改进模型主要是通过减少或者抑制异常值对决策超平面的影响来实现增强ELM鲁棒性的目标。而正则化理论可以用来有效地解决上述问题,正则化本质上是结构风险最小化策略的实现,是在经验风险的基础上加入了表示模型复杂度的正则化项或惩罚项。Huang等[1]将权值的2-范数作为正则化项添加到ELM模型中,提出了正则化ELM模型,但是当训练样本点中存在异常值时,异常值往往具有较大的偏差导致决策超平面严重偏移,文献[3-4]分别将ELM的损失函数改为1-范数损失函数和pinball损失函数并构建了相应的ELM模型,既保持了ELM能够快速收敛的优点,又削弱了噪声对ELM学习性能的影响。但是1-范数损失函数和pinball损失函数是误差的线性函数,鲁棒性较差。当样本中存在异常值时,较大误差的样本点会在ELM模型中起到主要作用,从而影响了ELM的泛化能力,即由该方法学习到的模型对未知数据的泛化能力差。Deng等[5]提出了一种基于结构风险最小化原理和加权最小二乘法的加权正则化极限学习机算 法 (Weighted Extreme Learning Machine,WELM),在不增加训练时间的情况下该算法的泛化性能有了一定的提升。王快妮等[6]将具有可微、非凸、有界性质的Laplace函数引入到ELM模型中,提出了基于指数laplace损失函数的回归估计鲁棒ELM模型来进一步增强ELM的鲁棒性。Ren等[7]在损失函数上引入L2、L1范数,提高了鲁棒性,最大限度地减少了噪声和异常值的影响。Huber损失函数在统计学习上具有鲁棒特征,Gupta等[8]提出了具有非对称Huber损失函数,构建了相应的鲁棒正则化极限学习机来提升模型的鲁棒性。
随着研究的深入,研究人员发现截断损失函数的机器学习算法在有高斯噪声影响的情况下仍然具有较强的鲁棒性[9-11],弥补了传统损失函数对噪声敏感、鲁棒性差的缺点,能够通过限定损失函数的上界为常数来抑制异常值的影响。因此本文将截断2-范数损失函数[12]引入到ELM模型中,提出了截断2-范数的鲁棒极限学习机(Robust Extreme Learning Machine Model with Truncated 2-norm Loss Function,RT⁃TELM)。并采用经典的迭代重赋权算法来求解相应的优化问题,最后通过UCI数据集和实际风速数据集进行验证。实验结果表明,在噪声环境下该模型比传统的ELM[1],文献[13]中的正则化极限学习机(Regularized Extreme Learning Machine Model,RELM)和文献[14]中的基于截断1-范数损失函数的鲁棒极限学习机(Robust Extreme Learning Machine Model with Truncated 1-norm Loss Function,RTELM)能获得更高精度的预测结果,同时鲁棒性也得到了明显的提高。
其中 βi=[βi1,βi2,…,βim]T是连接第 i个隐藏层神经元节点与输出节点之间的输出权值,wi=[wi1,wi2,…,win]T表示连接第 i个隐层神经元和输入层之间的输入权值,wixi是wi和xi两个参数的内积,f(x)是网格的实际输出。极限学习机网络中隐含层的映射生成的中间矩阵为:
式(1)可写成如下形式:
T是期望输出矩阵,直接求解线性方程组可以得到隐含层输出权重的最小二乘解
其中H+是H的广义逆。
很多经典的确定性模型和算法都假定数据中存在高斯误差特性来进行建模[16],如上所述,极限学习机采用的2-范数损失函数l1(r)=r2是误差的平方损失函数,只有在误差变量服从高斯分布时,极限学习机的解才是最优的。然而现实生活中信息的采集是在复杂动态的环境中进行的,受到各种因素的影响,导致数据集中通常含有噪声和异常值[17],误差变量不一定服从高斯分布。因此当样本中存在异常值时平方误差会过分增强异常值在学习过程中的作用,这导致异常值在ELM学习过程中起到主要作用,即模型所得决策函数受异常值影响较大,不能满足实际问题的需要。因此构建能够抑制噪声影响的鲁棒ELM具有深刻的现实意义和应用价值。为了保证ELM在高噪声环境下同时具有较高的预测精度,本节将利用ELM的模型结构,采用截断2-范数损失函数来对其进行优化,既增强了ELM的鲁棒性,又不会降低ELM的收敛速度。
因l1(r)=r2是无界函数,对异常值较敏感,本小节将对二次损失函数进行推广,构建能够限制损失惩罚的损失函数来削弱异常值的负面影响,提出如下截断2-范数损失函数:
其中:θ>0,|r|>θ时,这些异常样本点所产生的最大损失惩罚为常数θ2。不难发现学习结果会随着参数θ的变化而波动,这是因为参数θ用来限定损失函数的上界。一般来说不宜过大或者过小。如果参数θ取值较大,则异常值会被视为正常值,从而参与构建决策超平面,最终影响模型的预测精度;如果参数θ取值过小,一些正常的样本点被视为异常值,在训练学习过程中由于正常样本的减少而丢失了某些信息,这将对回归性能产生很大的影响,特别是对小样本的训练,会导致模型泛化能力下降。因此,为了达到抑制异常值的影响,同时达到提高算法泛化能力的目标,这里将θ的取值确定为1。
图1给出了截断1-范数损失函数l3(r)和截断2-范数损失函数lθ(r),图2给出了1-范数损失函数l2(r)和2-范数损失函数l1(r)。图1和图2对比可以看出,1-范数损失函数作为误差的线性函数和2-范数平方损失函数在具有较大误差的样本点处,过分强调了异常值在构成决策函数中的作用。而截断损失函数通过限制异常值产生的最大损失来降低异常值在学习过程中的影响,即明确抑制了异常值在ELM学习过程中的负面影响,故它在鲁棒性方面具有较好的优势。除此之外,通过图1分析还可以看出,截断2-范数损失函数在异常值未达到最大损失惩罚上限时(即|r|≤θ),相对于截断1-范数损失函数其损失惩罚值较小。因此,将截断2-范数损失函数引入到ELM中既保持了截断损失函数的优势又降低了损失惩罚值,从而不仅保证了鲁棒性能而且能够获得更高精度的预测结果和更好的泛化性能。
图1 损失函数l3(r)和lθ (r)(θ=1)Fig.1 Loss function l3(r)and lθ (r)(θ=1)
图2 损失函数l1(r)和l2(r)Fig.2 Loss function l1(r)and l2(r)
利用ELM模型结构,采用截断2-范数损失函数,建立如下基于截断2-范数的鲁棒ELM模型:
为了求解优化问题(5),构造如下拉格朗日函数:
对拉格朗日函数求导可得:
根据KKT条件,可以得到最优解:
步骤1:输入训练样本数据T={(xiyi)|xi∈Rn,yi∈Rn}(i=1,2,…,N);
步骤2:网格搜索隐藏层神经元节点数L和正则化参数C;
步骤3:设置最大迭代次数tmax和预先给定的很小的正数ρ;
步骤4:由计算机系统自动生成参数wi和bi,i=1,2,…,L;
步骤5:计算隐含层输出矩阵H;
步骤6:初始化参数,令W(0)=I,t=1,
步骤7:根据下式,计算β(t),
步骤8:由公式(1)计算输出f(t)(x),
步骤10:通过步骤7里面的公式计算β(t+1),
最终,得到RTTELM的算法流程如图3所示。
图3 RTTELM算法流程Fig.3 Flowchart of RTTELM
为了充分验证本文所提出回归算法的性能,我们分别与极限学习机[1](ELM)、正则化极限学习机[13](RELM)、基于截断1-范数损失函数的鲁棒极限学习机[14](RTELM)在波士顿房价数据集和真实的风速数据集上进行验证。所有的实验都是在PC机(4 G内存,500 G硬盘,CPU i5-8700)的 windows 7系统中采用 py⁃thon 3.7的环境实现的。
表1 预测指标及定义Table 1 Indicator prediction and definition
将所提模型应用于UCI数据集中的波士顿房价上(http://archive.ics.uci.edu/ml/index.php)。它是波士顿房屋的一些数据点,其包含的数据点相对较少,只有506个,每个样本都有13个确定房价趋势的特征,比如人均犯罪率、每个住宅的平均房间数、高速公路可达性等。从中抽取50%的数据作为训练集和50%的数据作为测试集来进行实验分析。除此之外,为了验证本文所提出的模型具有更高的鲁棒性,将实验中的测试样本中加入了噪声N(0,0.32),其中N(c,d2)表示均值为c、方差为d2的高斯随机分布。图4显示了四种模型在波士顿房价上的预测结果,表2列出了四种模型在波士顿房价上的预测误差。图5表示加入N(0,0.32)后在波士顿房价上四种模型的预测结果,表3列出了加入N(0,0 .32)后在波士顿房价上四种模型的预测误差。
表2 四种模型在波士顿房价上的预测误差Table 2 Forecast errors of four models on house prices in Boston
表3 加N(0,0.32)后在房价上四种模型的预报误差Table 3 Prediction errors of four models on house prices af-ter adding N(0,0.32)
图4 四种模型在波士顿房价上的预测结果Fig.4 Forecast results of four models on house prices in Boston
图5 加N(0,0.32)后在房价上四种模型的预测结果Fig.5 Prediction results of four models on house prices after adding N(0,0.32)
表2可以看出,在没有添加异常值的情况下,RTTELM的预测精度明显优于其他对比算法,且在这组数据集上具有最小的MAE、SSE和SSE/SST,以及较大的SSR/SST,也就是学习结果最好。其中MAE最小说明实际数据与预测结果之间的偏差小,即模型的拟合效果好,另外RTTELM泛化性能最好,因为它具有最小的MAE和较大的SSR/SST评价标准。此外由图4可以看出,在波士顿房价数据集上,RTTELM所获得的回归曲线总是最接近原始曲线。这是因为本文所提出的截断2-范数损失函数明确限制了噪声所造成的最大影响,削弱了这类异常样本点在构建回归决策函数过程中的作用。因此,RTTELM在这类数据集上具有较稳定的泛化能力和较强的鲁棒性。
由表3和图5可以看出,在实验中的测试样本中加入了随机分布的高斯噪声后,RTTELM依然比传统回归模型输出更好的性能,获得了较小的SSE/SST和较大的SSR/SST。且不难发现加入噪声后模型的拟合效果相对于没有添加噪声前所获得的精度更好。这是由于波士顿房价数据集本身就是在现实生活中搜集到的含有异常值的数据集,且其噪声分布复杂和未知。而ELM模型本身就是基于假定误差变量服从高斯噪声的,所以在添加了规律的高斯噪声之后几个模型的回归性能都不同程度地更加接近原始曲线。因此,可以认为,当数据被未知或者复杂的噪声污染时,所提出的模型可以为其提供一种有效的解决方案,同时它是降低复杂噪声和异常值对回归问题影响的一种有效的解决方法。
表4和表5显示,RTTELM与ELM、RELM、RTELM等算法相比,具有较低的MAE、SSE和SSE/SST。除此之外,我们发现在指标MAE上RELM的预测精度总是最大的,这是由于风速数据集是在复杂动态的环境中收集的,其中含有未知的噪声和异常值,而RELM对异常值较敏感,所以其获得的预测值总是偏离真实值。另外根据图6和图7我们可以注意到这些算法得到的回归曲线都不同程度地偏离原始曲线,而RTTELM所得回归曲线总是最接近原始曲线,即RTTELM的拟合效果优于其他三种模型,因此可以得出模型RTTELM能够在受噪声干扰的情况下仍然具有较高精度的预测性能,同时也表明模型RTTELM在实际应用中是一种有效的方法。
图6 10 min以后四种模型对风速的预报结果Fig.6 Prediction of four models on wind speed after 10 min
图7 30 min以后四种模型对风速的预报结果Fig.7 Prediction of four models on wind speed after 30 min
表4 四种模型在10 min以后的风速预报误差Table 4 Errors of wind speed forecast after 10 min by four models
表5 四种模型在30 min以后的风速预报误差Table 5 Errors of wind speed forecast after 30 min by four models
极限学习机是基于统计学习理论,以结构风险最小化为原则的一种有效的机器学习方法。本文对回归问题中的极限学习机模型进行了研究和改进,主要从损失函数的角度研究数据中存在异常值时模型的改进方法,以进一步提高模型的鲁棒性。由于ELM的损失函数是一个无界的二次函数,当数据中存在异常点时,二次损失函数过分强调了异常值的作用,因此本文采用了能够限定二次损失函数的上界为常数的截断2-范数损失函数来抑制异常值的影响,并建立了RTTELM回归模型。
在公共数据集和真实的风速数据集上进行了实验,以检验所提出的RTTELM模型理论的正确性和有效性。实验结果表明,在高噪声环境下RTTELM的回归性能与传统回归性能相比具有更高精度的预测结果。因此,可以认为RTTELM模型是降低复杂噪声和异常值影响的一种有效的回归方法,同时,当数据被未知或者复杂的噪声污染时,所提出的回归模型可以为其提供一种有效的解决方案。
本文所采用的截断2-范数损失函数假设误差变量服从高斯分布,在许多实际应用中噪声不一定服从高斯分布,且噪声的真实分布是复杂的,因此在许多应用中不适合假设噪声是高斯的。在未来,考虑到RTTELM对复杂噪声的逼近能力有限,笔者将考虑使用其他混合分布来模拟真实噪声。此外,为了提高其稳定性还考虑了一些改进的ELM算法。