基于PSO-DELM的手机上网流量预测方法

2021-02-25 05:50郑晓亮
计算机工程与设计 2021年2期
关键词:网络流量神经元粒子

周 莉,刘 东,郑晓亮

(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)

0 引 言

在某些赛事现场,为了防止因观众使用手机上网产生的网络流量增多而导致网络拥堵的情况发生,当流量数值达到限定值后就要对场馆周围的基站进行扩容或新建小型的移动基站[1-4]。手机产生的上网流量属于网络流量中的一种,网络流量具有非线性、自相似性、长相关性和多分型等特性[5-7]。在对网络流量的预测上,现有的预测模型主要分为线性和非线性两种。线性模型的构建简单、容易实现,但面对复杂的网络流量数据,难以保证其预测精度。目前的研究结果表明,非线性模型在处理流量等复杂数据中得到较好的应用。常用的预测模型有:①采用分形自回归积分滑动平均模型对网络流量预测[8];②采用支持向量机(support vector machine,SVM)与其它算法的组合模型对网络流量预测[9-11];③采用反向传播(back propagation,BP)神经网络对网络流量预测[12]。以上的预测模型对数据之间的非线性关系捕捉不明显且模型训练时间较长,还容易导致模型陷入局部极值。

为了解决上述模型的不足,本文提出以深度极限学习机为基础[13],使用粒子群算法优化它的各隐含层神经元节点数作为组合模型。这样既能保证它在应对复杂问题上具有良好的准确度,也能减少模型的训练时间。

1 DELM的原理

在2004年,极限学习机(extreme learning machine,ELM)理论被南洋理工大学的黄广斌教授提出,ELM是一种单隐含层前馈神经网络(single-hidden layer feedforward neural network,SLFN)算法[14]。它与常用的BP神经网络相比,ELM是对于权重和阈值随机的选取,而不像BP是通过反向传播算法调节各层之间的权值和阈值,从而减少了算法模型的学习时间和结构的复杂性,提高了模型整体的训练速度。

ELM的基本结构如图1所示,其由输入层、隐含层、输出层这3部分组成。原理说明如下,假设输入数据的样本集合为:X={xi|1≤i≤N},输出数据的样本集合为:Y={yi|1≤i≤N},其中N为样本总个数、xi为输入样本的第i个训练样本、yi为输出样本的第i个输出样本。这里设置隐含层的神经元个数为J个,则H={hi|1≤i≤J}为隐含层的输出向量的集合,hi为第i个输入样本对应的特征向量。把输入的样本数据在空间上映射到隐含层特征空间上,其二者的关系为

H=G(αX+B)

(1)

式中:G为激活函数,主要应用的有Sigmoid、Sin、Hardlim等等;α为输入层各个节点到隐含层各个节点的输入权重矩阵;B为隐含层各个节点的阈值矩阵。

图1 ELM的结构

若单隐含层的ELM能够实现在误差极小的情况下逼近“输出的N个样本”,则隐含层的输出为

F=Hβ,F=Y

(2)

(3)

式中:β为隐含层各个节点到输出层各个节点的输出权重矩阵;H为隐含层输出矩阵。

从以上说明中能看出极限学习机的目的就是让模型的输出与实际的输出之间的差值最小,即求解输出权重矩阵的最小二乘解的问题,只要模型能够输出权重矩阵的最小二乘解就可以完成模型的训练,输出权重矩阵β可由下式表示为

β=H+Y

(4)

式中:H+为隐含层输出矩阵H的Moore-Penrose广义矩阵。

由于ELM为单隐含层结构,在面对数据量过大、输入数据的维度过高的输入输出变量时,单隐含层的极限学习机无法捕捉到数据的有效特征。在ELM中的权重和阈值是随机的产生的,这可能会使得部分的神经元成为无效的神经元,减弱算法模型对数据特征的学习能力。在研究中发现,更多的学者对于ELM的衍生算法深度极限学习机(deep extreme learning machine,DELM)产生了浓厚的兴趣[15,16],所以本文提出使用DELM[17]对数据分析,弥补了ELM的缺点。为了增强模型的泛化能力,这里选择加入一个正则化项

(5)

式中:C为正则化系数。

本文在构建深度极限学习机中采用ELM自动编码器(ELM autoencoder,ELM-AE)算法得到模型的权值和阈值,ELM-AE的结构如图2所示。自动编码器(auto encoder,AE)是以无监督的学习方式学习数据的特征,它是将输入的向量通过编码器映射到隐含层的特征向量,再由解码器将特征向量重新构造原来的输入向量。构建的ELM-AE使得隐含层节点随机权值和随机阈值正交,如果随机权重和随机阈值不是正交的,它也是能够有一个很好的特征表示作用,从而提高ELM-AE的泛化能力。在ELM-AE产生正交的随机权重和阈值为

(6)

式中:I是单位矩阵。

图2 ELM-AE结构

在ELM-AE中,输出权重β负责学习从特征空间到输入数据的转换。并且在传统的方法中,是根据最小二乘法求得权重系数,但是在隐含层节点数过多的情况下,这样会导致模型的泛化能力弱和鲁棒性差。所以在求解权重系数中引入正则化系数,提高模型的泛化能力,这里将目标函数设置为

(7)

式中:C为正则化参数。对于稀疏和压缩的ELM-AE表示,把公式中的β求导,并且让目标函数为0,这样求得输出权重β为

(8)

式中:H为ELM-AE的隐含层输出矩阵;X为ELM-AE的输入和输出。

对于输入维度等于编码维度的ELM-AE,ELM-AE的输出权重矩阵β代表着从输入特征空间的数据到隐含层特征空间的转换,则输出权重β的计算公式为

β=H-1X

(9)

βTβ=I

(10)

并且在DELM中ELM-AE能用奇异值(SVD)来表示其特征,所以式(5)的奇异值分解为

(11)

式中:u是HTH的特征向量;di是H的奇异值。

深度极限学习机从结构上看相当于把多个ELM连接到了一起,但它相对于ELM能更全面地捕捉到数据之间的映射关系并提高处理高维度输入变量的精确度。DELM是逐层通过ELM-AE进行无监督的训练学习,最后接入回归层进行监督训练。其DELM的结构如图3所示,假设模型有M个隐含层,将输入数据样本X根据ELM-AE理论得到第一个权重矩阵β1,接着得到隐含层的特征向量H1。以此类推,能够得到M层的输入权重矩阵βM和隐含层的特征向量HM。并且模型的前期是进行多层无监督的学习,不需要人为设置输入的权重和阈值,只要设置各层的隐含层的神经元个数,所以DELM拥有的学习过程快且泛化能力强的特点。

图3 DELM结构

2 粒子群算法优化深度极限学习机

2.1 粒子群算法原理

粒子群算法(partile swarm optimization,PSO)是由Kennedy和Eberhart提出的一种随机优化算法。它的提出是通过对鸟类等生物有机体的社会行为进行模拟。PSO的原理如下:把假设的目标值区域当成鸟类等生物的捕食区域,生物在搜捕猎物的过程可以比作是粒子在不断更新着搜索目标值所在区域,生物在捕食的开始是有一个大概的方向,相当于粒子在搜索过程中有一个初始的速度和位移,这个过程就是粒子的寻优过程。在算法中模拟的随机粒子是通过两个极值点来更新自己,保证粒子在搜索过程中能确定最接近目标值区域的粒子范围。第一个极值点就是随机粒子中的拥有最佳位置的个体极值(Pbest),第二个极值点就是种群中拥有最佳位置的个体极值点(Gbest)。在D维空间上第i个粒子的速度和位置分别是

Vi=(vi1,vi2,vi3,…,viD)

(12)

Xi=(xi1,xi2,xi3,…,xiD)

(13)

在每次的迭代过程中,根据两个极值点Pbest和Gbest的位置更新,逐渐找到种群中粒子的最佳位置,其中更新的公式为

(14)

(15)

2.2 优化过程

由于DELM的中各个隐含层的神经元个数需要人为的设置,并且隐含层的神经元个数一般设置的较大才能使模型在做回归预测时的精度提高,在设置的过程中学者要通过大量的数据和仿真实验来验证隐含层神经元个数的取值,从而保证模型的误差函数最小。又因为随着隐含层神经元个数的增多,每次进行仿真实验验证的神经元个数的上下波动范围较大,造成实验的过程过于复杂和使模型具有不确定性。本文采用粒子群优化算法对多个隐含层的个数选取,经过优化找到各个隐含层最优的神经元个数赋值给算法模型。PSO相对于其它的优化算法具有:收敛速度快、效率高、算法简单和扩展空间的特点。

使用PSO优化DELM的好处有:①减少对多个隐含层的神经元个数选择的仿真实验。②优化算法并不复杂,不会导致模型的优化时间过长,并且能提高预测精度。③优化后的模型有更好的鲁棒性。

粒子群算法优化深度极限学习机的具体步骤,流程如图4所示:

步骤1 把数据划分为训练集合预测集。

步骤2 对PSO的参数初始化(w、c1、c2)。

步骤3 确定DELM的拓扑结构,以及相关参数的设置。

步骤4 将DELM训练测试得到的均方误差作为PSO的适应度值。

步骤5 初始最优解更新(Pbest、Gbest),通过种群移动(更新粒子位置和速度)、计算新的适应度值、更新当前的最优解看是否满足适应度值。若不满足,则重新进行迭代。

步骤6 把获得的各隐含层的最优节点数代入DELM中。

步骤7 训练测试。

步骤8 得到预测结果。

图4 流程

3 仿真分析

3.1 仿真环境

本次仿真的实验环境是在MATLAB R2016b上进行的,计算机程序使用MATLAB语言编写程序,电脑的配置为:Intel(R) Core(TM) i5-4210H CPU @2.90 GHz,内存4 GB和1 TB机械硬盘。

3.2 数据预处理

本次实验使用的是淮南市吾悦广场、某小区、汽车站和万达广场这4个场所从4月13日到5月12日的手机上网流量数据,因为模型在训练过程中要学习以往的流量变化走势,数据量越多模型遇到的流量变化就越多,这样在实际的预测过程中就不会因为现场的网络流量变化过于特殊而造成预测不准确,即增强了模型的鲁棒性。在分析原始数据中发现网络流量是以每15 min记录一次的时间序列数据,本文在时序上做出处理(一维变量的时间序列所具有的时间戳和与每个时间戳对应的数值对预测具有重大意义)。在一个月内的场所中用户使用手机上网的流量数据点共11 712个,部分原始的流量数据如图5所示。

图5 原始网络流量数据

处理数据之前对网络流量进行分析,利用它的本身带有的自相似性、长相关性、多分型和非线性等特点,以及流量数据是根据时间节点所记录的,针对这些个特性做出数据预处理。首先对一维的变量重新构造,变成多维变量,构造的方式是:用前1、2、3、4、5组数据作为输入和第6组数据作为输出,接下来是用第2、3、4、5、6组作为输入预测和第7组数据作为输出,以此类推。设n为第n组数据也是第n个数据(n≤11707,n∈N*),则5个输入变量分别为n、(n+1)、(n+2)、(n+3)、(n+4)和1个输出变量为(n+5),可以得到每组数据有5个输入变量和一个输出变量,一共11 707组数据的新样本。新样本中输入矩阵X1和输出矩阵X2分别为

(16)

(17)

对于预处理后的网络流量数据进行归一化使得数据处于[0,1]之间,归一化的公式是

(18)

式中:Lmax、Lmin分别为样本中的最大值和最小值;L为样本的归一化的值;i为每个时间点的值,其范围为[1,11707]。

经过测试构建的新样本的输入变量为5维时,输出的误差最小。测试过程为:选用极限学习机算法模型对在不同维度下的输入变量测试,验证输入数据的维度从2到9进行测试。以MAPE和RMSE的5次平均值作为评判指标,平均绝对百分比误差(MAPE/KB)和均方根误差(RMSE/MB)的公式如下,测试数据见表1

(19)

(20)

表1 误差测试数据

取新样本的前80%组数据作为训练数据,后20%组数据作为测试数据。经过预处理后的部分网络流量数据如图6所示。

图6 新的网络流量数据

3.3 隐含层层数的选取和模型参数的设置

在深度极限学习中,隐含层层数的选择和各层神经元个数确定对最终所构建的模型有着很大的影响。深度极限学习机的层数设置分别从2个隐含层、3个隐含层、4个隐含层、5个隐含层中做仿真实验测试。在本文中选择了使用粒子群算法对各个隐含层的神经元个数进行确定,但是要设置神经元个数在一定的选取范围内,范围过大会导致模型的运行时间过长,范围过小会导致模型的预测结果达不到所要求的精度,通过查找文献和经验选择了4个范围(10,100)、(10,200)、(10,300)、(10,500)来测试在多个隐含层中最适合的神经元个数的范围,使用模型的运行时间t、拟合度(R2)、平均绝对误差(MAE/MB)、均方根误差(RMSE/MB)和平均绝对百分比误差(MAPE/KB)作为评价指标,测试数据见表2、表3、表4、和表5。本文模型的参数选择主要包括两大部分:①ELM-AE中的正则化系数(C)、激活函数。②粒子群算法中的种群大小、最大迭代次数、惯性因子(w)、学习因子(c1、c2)。参数的数值见表6。

表2 2隐含层节点数的范围测试

表3 3隐含层节点数的范围测试

表4 4隐含层节点数的范围测试

表5 5隐含层节点数的范围测试

表6 模型的参数设置

在表2、表3、表4、表5中各项指标的数值都是经过20次测试取的平均值,目的是在减小模型的偶然性和增加鲁棒性。分析表中的数据可知:

(1)当DELM的隐含层从2层增加到5层时(节点数范围相同),模型在运行时间上是不断增加。

(2)当节点数范围是(10,300)时,隐含层超过3时预测曲线的拟合度都高达97%,并且含3隐含层的DELM在拟合度上比2隐含层、4隐含层、5隐含层的分别高出6.91%、0.37%、-0.07%。

(3)对比各项的误差指标,含2隐含层的DELM效果最差,而含有3、4、5隐含层的DELM误差指标相差不大。

(4)当隐含层从2层提升到3层时,只有在3隐含层的各项指标提升的最为突出,4和5隐含层的提升并不明显。

因此并不是DELM选取的隐含层的层数越多、节点数越大的预测效果越好,在保证模型精度的同时也要考虑模型的运行时间,选取含3隐含层和节点数范围在(10,300)的DELM作为预测模型。

3.4 预测结果

为了验证PSO-DELM模型的准确性,选取基于GA-BP模型、PSO-ELM模型和RBF模型对用户的手机上网流量进行预测,并且与PSO-DELM模型的预测结果比较,得到预测流量变化曲线与真实值曲线的对比图,如图7所示。选用平均绝对误差(MAE)、均方根误差(RMSE)、拟合度(R2)、时间(t)作为对比指标,仿真实验结果见表7。

图7 仿真实验对比结果

表7 仿真实验结果

可以看出:在GA-BP和RBF模型预测的图中流量走势比较连续的位置上模型能够很好预测到流量数值,但是在流量数值波动频繁的位置上并不能实现对峰值的精确预测。本文选用的PSO-DELM的方法与其它3种方法相比能够全面预测流量的真实值,在预测值的波峰数频繁位置也能很好跟踪到数值的变化。在表7中,PSO-DELM比PSO-ELM、GA-BP、RBF的拟合度高出5.962%、6.579%、9.9%,在各项的误差指标中PSO-DELM模型对比其它3种模型的效果也是最佳的。

4 结束语

根据比赛场馆所中用户比较集中、手机上网流量的数值波动大的特点选取了4种不同场所的用户手机上网数据进行分析,提出了一种基于PSO-DELM算法的手机上网流量预测模型。模型的优势在于:

(1)在针对比赛场馆内手机上网流量的预测,选取了与其相似场所的用户手机上网流量数据,这样经过训练后的模型学习了数据中的隐含特征,提高了模型在实际使用中的鲁棒性。

(2)在数据预处理上,针对一维的流量数据(时间序列)进行重新构造,建立了多维的输入和一维的输出数据,更好挖掘出数据之间的非线性关系。

(3)相对于其它预测模型,本文构建的PSO-DELM模型能更好提取训练数据中的映射关系,使模型在曲线的拟合度上和误差上都相对于其它模型有明显的提高。

猜你喜欢
网络流量神经元粒子
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
基于粒子群优化的桥式起重机模糊PID控制
跃动的神经元——波兰Brain Embassy联合办公
基于粒子群优化极点配置的空燃比输出反馈控制
AVB网络流量整形帧模型端到端延迟计算
基于二次型单神经元PID的MPPT控制
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制
网络流量监控对网络安全治理的重要性