APP下载

基于粒子群优化极限学习机数据预测模型研究

2019-11-12任小洪乐英高

关键词:辛烷值交通流量学习机

孙 乾, 任小洪, 乐英高

(1.四川轻化工大学自动化与信息工程学院, 四川 自贡 644000;2. 湖北文理学院计算机工程学院, 湖北 襄阳 441053)

引 言

随着汽车使用不断增加,车用汽油的质量备受关注。辛烷值是汽油发动机燃料的抗爆性能高低的一项重要指标,位于车用汽油规格的首项[1]。高压缩比的汽车必须使用辛烷值高的汽油,否则发动机内会发生爆震,导致发动机损坏。但是过高辛烷值汽油在气缸内又不能完全燃烧,形成积碳同样会造成汽发动机寿命的减短。因此只有选择合适的辛烷值汽油,才能提高燃油的动力经济性能和实用性能[2]。应用近红外光谱分析检测法是研究汽油辛烷值的一种快速定量分析方法[3],测得的汽油辛烷值常含有显著的非线性、无规律性等复杂特性。

传统的BP神经网络通过由误差反馈不断调整权重,虽然能够解决一些实际的问题,达到相对较好的效果,但是在训练过程中,采用的梯度下降算法容易导致陷入局部最优和学习速度慢的问题[4]。针对这些问题,黄广斌等人提出了极限学习机(Extreme Learning Machine,ELM),该算法由广义逆直接求得输出层权重,在确保证精度的同时提升了算法的学习速度。但是针对具体问题时,ELM不能自动寻找到最佳的网络结构,从而导致该算法模型针对复杂性、无规律性的数据精度和稳定性不高。孔令春等人[5]为了提高传统电力负荷预测的准确性,提出了利用蝙蝠算法(BA)优化极限学习机,利用BA的全局寻优特点对ELM进行优化从而得到最优隐含层偏置和输入权重,通过实验仿真验证该优化算法的预测准确率得到了提升。毛羽等人[6]针对ELM训练需要大量隐含层节点的问题,提出了差分进化与克隆算法改进人工蜂群的极限学习机(DECABC-ELM),利用改进人工蜂群计算ELM的隐含层节点,通过实验验证,改进后的算法相比于其他算法具有更好的数据回归和分类预测效果。张文等人[7]针对体育竞赛成绩预测速度和准确率低的问题,提出了基于果蝇优化极限学习机算法(FOA-ELM),实验结果表明优化算法相比于其他算法具有更快的学习速度和更高的预测精度。黄清宝等人[8]针对ELM预测精度不高、网络泛化能力较差的问题,提出了和声搜索优化极限学习机的网络算法新模型(HS-ELM),利用和声搜索优化输入权值和隐含层阈值,以达到选择最优网络的目的,实验结果表明该优化算法在同等情况下所需的隐含层节点数和预测精度均优于ELM。周靖楠[9]针对ELM稳定性泛化能力较弱的问题,提出了利用自适应算法优化极限学习机,并通过选用海表异常温度作为该优化算法的输入因子,研究结果表明,该优化算法对干旱预测相比于ELM,其预测精度与稳定性均有所提高。

本文通过近红外光谱分析方法(NIR)收集汽油的光谱及辛烷值数据[10],针对传统极限学习机(ELM)其预测稳定性差和精度低的问题,提出了利用粒子群优化ELM的权值和阈值,达到提高ELM的精度及稳定性的目的,并通过对复杂程度不同的汽油辛烷值和交通流量数据预测进行实验对比,实验结果表明,对回归预测无规律性、复杂程度高的数据时,PSO-ELM的预测精度及稳定性均明显优于ELM。

1 极限学习机

极限学习机(ELM)是由黄广斌在2004年提出来的针对单隐含层前馈神经网络的一种算法[11]。极限学习机的特点是隐含层权重和偏置初始化后就不再需要更改,其输出层权重由广义逆直接求得,而传统BP神经网络需要由误差反馈不断调整权重,因此极限学习机相比于BP在训练学习上的速度得到了大幅度的提升。

ELM是一个单隐含层神经网络,对于有N个任意样本(Ai,bi),其中Ai=[ai1,ai2,...,ain]T∈Rn,bi=[bi1,bi2,...,bin]T∈Rm。隐含层有M个神经元的单隐含层神经网络可以表示为:

(1)

h(x)为激活函数,Wi=[wi1,wi2,...,win]T为网络输入权重,βi为网络输出权重,δi为隐含层的第i个神经元偏置,tj是网络输出。wiai表示wi和ai的内积。为了达到训练效果,需要得到

使得:

(2)

其中:H是网络隐含层输出,T是网络期望值,i=1,...,M。式(2)等价于最小化损失函数:

(3)

在传统的基于梯度下降法算法中,求解最小化损失函数的问题可以被解决,但在求解过程中所有的参数需要通过迭代误差反馈来不断更新。而在ELM算法中,输入权重Wi和隐含层的偏置δi一开始就被随机确定,因而隐含层的输出矩阵H就不再更改。训练ELM网络可以转化为求解一个线性方程Hβ=T。而且输出权重β可以被唯一确定:

(4)

2 粒子群优化算法

在粒子群算法(Particle Swarm Optimization,PSO)中[12],所有粒子都有一个适应值,该适应值由适应度函数决定,每个粒子能保存搜寻到的最佳位置,粒子还被赋予速度,用来决定搜索方向和距离。搜索过程中,粒子通过跟踪两个“极值”来完成迭代。一个粒子搜索的最优解为个体极值pBest,整个粒子群搜索的最优解为全局极值gBest。

D维空间里,由n个粒子组成的粒子群S=(S1,S2,...,Sn),第i个粒子所处位置为Si=(xi1,xi2,...,xiD)T。将Si放入适应度函数g(Si)中可以得出该粒子的适应值位置Fitnessi。第i个粒子速度为Vi=(vi1,vi2,...,viD)T,该粒子i的pBest为Pi=(pi1,pi2,...,piD)T,粒子群的gBest为Pg=(pg1,pg2,...,pgD)T。

粒子在迭代寻优过程中,通过pBest和gBest不断更新自身的速度和位置,即:

(5)

(6)

其中:α为惯性权重,调控搜索范围,d=1,2,...,D,i=1,2,...,n,D为需要求解问题的维数,n为粒子群的大小,m为当前迭代寻优的次数,Vid为当前粒子的速度,c1、c2为粒子的加速因子,一般取c1=c2=2,t1、t2为两个取值范围为(0,1)的随机数,目的是增加搜索随机性。一般将粒子的位置和速度限制在[-Smax,Smax]、[-Vmax,Vmax],目的是为了保证粒子不会盲目地进行搜索[13]。

3 粒子群优化极限学习机

本文采用PSO优化ELM算法中的连接权值和阈值,建立对近红外汽油辛烷值检测的PSO-ELM模型和某城市交通流量的PSO-ELM模型,对比PSO-ELM算法和ELM算法针对复杂程度不同数据的预测效果。把ELM的输入权值和阈值作为PSO中的粒子,粒子的长度为D=m·(n+1),式中,m为隐含层的节点数,n为输入各向量的维数。θk为粒子群中的第k(1≤k≤popsize)个粒子,可以表示为:

其中:

为[-Xmax,Xmax]范围内的随机数,通常Xmax=1[13-15]。

对于粒子群中的每个粒子,将隐含层偏差和输入权值矩阵,然后利用ELM算法计算输出权值矩阵。将粒子群中各个粒子的均方误差(MSE)作为PSO优化算法的适应度函数[16],由ELM的学习样本计算出每个粒子的MSE。具体的PSO-ELM算法如下:

(1) 给定学习样本(输入向量和期望输出向量)。

(2) 构建PSO-ELM的优化新模型(确定输入层、隐含层、输出层的神经元个数和激活函数)。

(3) 产生粒子群(ELM的输入权值和阈值)。

(4) 粒子位置和速度初始化,并设置粒子速度和位置的寻优范围(根据权值和阈值的范围)。

(5) 选择粒子寻优适合的参数,其中主要有粒子训练的最大迭代次数T= 60,粒子群规模M=100,粒子的惯性权值βmax=0.8,βmin=-0.8,粒子的学习因子c1=2.4,c2=1.6,粒子维数D[17]。

(5) 确定以ELM训练集的MSE作为粒子群优化的适应度函数,计算出pBest和gBest。

(6) 通过迭代比较更新粒子的速度和位置。

(7) 判断是否取得最小误差或者达到最大迭代次数。若达到,粒子群优化停止迭代,输出最优隐含层节点阈值和输入权值;若没达到,粒子群继续迭代求其pBest和gBest。

其工作流程图如图1所示:

图1 PSO-ELM工作流程图

4 实验结果与分析

4.1 实验数据介绍

用于验证本文建立的PSO-ELM数据预测研究的交通流量数据来源于MATLAB神经网络43个案例分析[18],首先采集8天的交通流量数据,每隔16分钟记录一次该时段内的交通流量,一共记录720个时间点的数据,用前7天的630个交通流量数据训练粒子群优化的极限学习机,最后用训练好的粒子群优化的极限学习机对第8天的交通流量进行预测。用于PSO-ELM数据预测研究的汽油辛烷值数据来源于MATLAB智能算法30个案例分析[19],首先采集540个基于近红外光谱的汽油辛烷值数据,用456个辛烷值数据训练粒子群优化的极限学习机,然后对剩下的84个样本数据进行预测。

4.2 交通流量数据预测

本文交通流量数据预测结果如图2所示。

图2 PSO-ELM和ELM交通流量预测仿真结果对比图

如图2所示,图2(a)为PSO-ELM优化迭代图,可以看出粒子开始时均方误差大于0.012,经过60次优化迭代后下降到了0.0085左右;图2(b)为PSO-ELM和ELM预测交通流量正确率对比图,通过对90个样本预测的结果可以得出,该城市的交通流量用ELM算法预测的正确率达到了94.243%,用PSO-ELM优化算法进行预测的正确率达到了98.037%,提升了4%左右;图2(c)为PSO-ELM和ELM预测交通流量误差对比图,图2(d)为PSO-ELM和ELM预测交通流量均方根误差对比图,综合图2(c)和图2(d)可以看出,使用ELM算法预测数据的误差值在±30左右,均方根误差多数在3左右,使用PSO-ELM优化算法预测数据的误差值在±10左右,均方根误差多数在1左右,可以得出PSO-ELM优化算法在预测精度与稳定性均比ELM算法有了一定的提升。

4.3 汽油辛烷值预测

本文汽油辛烷值预测结果如图3所示。

图3 PSO-ELM和ELM汽油辛烷值预测仿真结果对比图

如图3所示,图3(a)为PSO-ELM优化迭代图,可以看出粒子开始时均方误差大于0.02,经过60次优化迭代后下降到了0.002左右;图3(b)为PSO-ELM和ELM预测汽油辛烷值正确率对比图,通过对84个样本预测的结果可以得出,该汽油辛烷值数据用ELM算法预测的正确率为44.819%,用PSO-ELM优化算法进行预测的正确率达到了99.536%,提升了50%以上;图3(c)为PSO-ELM和ELM预测汽油辛烷值误差对比图,图3(d)为PSO-ELM和ELM预测汽油辛烷值均方根误差对比图,综合图3(c)和图3(d)可以看出,使用ELM算法预测数据的误差值在±2左右,均方根误差多数在0.15左右,使用PSO-ELM优化算法预测数据的误差值在±0.3左右,均方根误差均小于0.05,可以得出PSO-ELM优化算法在预测精度与稳定性均比ELM算法有了大幅度的提升。

4.4 仿真对比结果分析

表1为某城市交通流量与汽油辛烷值预测准确率对比情况。从表1可以看出,ELM算法预测汽油辛烷值的效果比预测某城市交通流量的预测效果差很多,而PSO-ELM优化算法对汽油辛烷值和某城市交通流量的预测精度高并且稳定。从图2和图3的分析来看,本文所采用的某城市交通流量数据包为该城市8天的交通流量组成,并且城市交通流量高峰期和低谷期具有规律性,而采用汽油辛烷值数据包则是随机性与多变化性。根据PSO-ELM和ELM交通流量预测仿真结果对比图、 PSO-ELM和ELM汽油辛烷值预测仿真结果对比图和交通流量与汽油辛烷值预测准确率对比图可以得出,针对复杂多样性的数据回归拟合预测,从样本预测和均方根误差等指标得出,本文提出的PSO-ELM优化算法的预测精度及稳定性明显优于ELM算法。

表1 数据预测准确率对比预测

5 结束语

本文利用粒子群优化极限学习机模型在回归拟合应用中的特点,将该模型应用于汽油辛烷值的数据预测,并且与有规律性的交通流量数据预测相比较。研究结果表明,该模型能有效地对非线性、无规律性的数据做出较好的回归拟合预测。在训练学习样本数据相同的情况下,将极限学习机与粒子群优化极限学习机两种模型的回归拟合预测实验仿真结果进行对比,得出使用粒子群优化极限学习机模型的回归拟合预测在预测精度及训练稳定性均要优于极限学习机模型。粒子群优化极限学习机模型提高了算法训练精度和泛化能力,可有效避免训练过程中“过学习”等问题,使得模型的稳定性获得大幅度的提高。因此,粒子群优化极限学习机算法是一种预测汽油辛烷值的有效新方法,在其他类似的预测与评价应用中具有一定的可行性与有效性。

猜你喜欢

辛烷值交通流量学习机
质量比改变压缩比的辛烷值测定机
催化裂化汽油辛烷值助剂应用成功
PNNL开发车载分离技术将乙醇从汽油中分离出来使辛烷值随需变化
基于XGBOOST算法的拥堵路段短时交通流量预测
基于GA-BP神经网络的衡大高速公路日交通流量预测
基于极限学习机参数迁移的域适应算法
基于改进极限学习机的光谱定量建模方法
分层极限学习机在滚动轴承故障诊断中的应用
研究法辛烷值和马达法辛烷值对直喷汽油机性能的影响
基于复合卡和ETC的交通流量采集研究