万健如,贾祖新,智 渊
(1.天津大学 电气与自动化工程学院,天津300072;2.重庆能源职业学院 电梯学院,重庆402260)
随着高层智能建筑的兴起,电梯配置和群控调度对于楼宇内垂直交通效率的影响越来越大[1]。合理有效的电梯交通流预测是电梯配置和群控调度的基础,可为其提供必需的交通数据信息[2],使系统可依据获得的不同时段的客流强度,识别上下高峰、随机层间等不同交通模式,并以此实现最佳配置和最优调度。
电梯交通流预测研究自20 世纪80 年代以来,出现了时间序列模型、指数平滑模型、神经网络法、非参数回归、支持向量机等方法[3~5]。其中,基于BP 神经网络的电梯交通流预测模型发展迅速,但传统的BP 算法具有对初值敏感、训练时间长、易陷入局部极小值、预测精度低等缺点,这虽可通过附加动量法、自适应学习率、牛顿法等进行改进,但均存在局部极小问题和场合局限,不能满足现代建筑智能化的要求。本文提出利用蚁群优化(ACO)的BP(ACO-BP)神经网络进行全局优化,利用天津某大厦实际交通流数据对模型进行仿真验证,结果表明了本文提出ACO-BP 神经网络应用于电梯交通流预测系统的有效性。
电梯交通流是由乘客数、乘客出现的频率以及乘客在楼层的分布情况所描述的状态量[4],其特性与建筑大楼类型息息相关。本文以5 min 作为时间间隔,通过统计进出某办公大楼的总乘客数,得到交通流时间序列{x(ti),i=1,2,3,…,n;ti=i×td;td=5 min;}。交通流时间序列具有非线性、随机性和高度的复杂性,甚至表现出混沌特性,很难用一个确定完整的函数表达式来描述,而神经网络可在不建立精确数学模型的情况下逼近任意非线性映射,非常适合电梯交通流预测系统的建模。
1.2.1 网络结构
理论上已经证明:在合适的结构和权阈值的情况下,包含一个S 型隐含层和一个线性输出层的3 层BP 网络可以逼近任意有理函数[6]。因而,本文采用具有单隐含层的BP神经网络,隐含层和输出层分别采用对数S 型和线性激活函数,其拓扑结构如图1 所示。
图1 BP 网络结构图Fig 1 Architecture of BP neural network
输入矢量和输出矢量分别为
隐含层节点数是影响神经网络性能的关键,太少不足以提取出样本的内在规律,太多又会造成过度拟合。目前,关于隐含层节点数的确定在理论上还不成熟,本文根据Kolmogorov 定理[7]来确定基本节点数,并在此基础上增加节点数进行试凑,以得到最佳隐含层节点数。
1.2.2 BP 算法
本文采用批训练方式调整权值,定义误差函数为
采用梯度下降法进行推导,对输出层而言,第i 个输入到第k 个输出的权值和阈值变化量分别为
同理,隐含层第j 个输入到第i 个输出的权值和阈值变化量分别为
1.2.3 BP 算法改进
针对BP 算法的缺点,目前已有附加动量法、自适应学习率等一些比较成熟的改进方法[8]。以附加动量法为例,改进后的网络权值调整公式为
其中,α(0 <α <1)是动量因子。
附加动量法积累了前一次权值调整的经验,虽可使网络滑过某些局部极小值,但在某些场合下仍会使网络出现振荡且没有足够能量跳出低“谷”。
ACO 算法具有良好的分布式计算和全局寻优能力,并且易于与其他方法融合[9]。而对于经典ACO 算法过度搜索与抉择困惑的问题,本文利用精英蚂蚁和优化排序策略进行改进。
ACO 算法优化神经网络主要通过改进样本学习训练过程实现,具体实现过程如下:
1)确定参数个数n,包括网络中所有的权阈值。每个参数pi(i=1,2,…,n)对应一个有N 个元素的集合Ipi,这些元素为pi的可能取值。候选值个数N 并非越大越好,过多的候选值对于规避局部极小值的作用不大,反而会增加蚁群工作量,并且使神经网络修正能力的发挥受限。
2)设置蚂蚁数m,启动所有蚂蚁,每只蚂蚁随机选择Ipi中的一个候选值,然后蚂蚁按概率选择下一个集合的某个元素,直至每只蚂蚁均在n 个集合中各选择了一个候选值。对于蚂蚁k(k=1,2,…,m),其选择Ipi中第j 个元素的概率为
其中,τj(Ipi)为集合Ipi中第j 个元素的信息素的值。为避免搜索陷入蚂蚁最初产生的几条路径中,信息素的初始值不应太小。
3)经过上述步骤之后,m 只蚂蚁构建出m 组权阈值组合,分别计算每个组合所对应的网络输出和误差,并按照误差从小到大排序,记录本次循环最优解。当m 只蚂蚁全部周游完成一次循环之后,根据下式更新信息素
其中,ρ∈(0,1)是ACO 算法中表征信息素留存能力的重要参数。ρ 太小会使收敛太快,解的质量不好;ρ 太大会增大搜索范围,收敛太慢。考虑极限情况,令ρ=1,即不使用信息素蒸发机制,信息素就会无限积累,算法是不会收敛的。
式(10)混合了精英和优化排序策略。在优化排序策略下,输出误差最小的前δ 只蚂蚁多释放出的信息素的总增量为
其中,μ 为蚂蚁排序号。当第μ 只蚂蚁选择了第j 个元素,其信息素的增加)为
否则为0。其中,Q 为信息素固定值;eμ为第μ 只蚂蚁对应的神经网络输出误差。
否则,为0。其中,e*为精英蚂蚁至此找到的最优解对应的输出误差。
4)重复步骤(2),(3),直到输出误差满足ACO 算法要求或者循环次数达到上限。
5)将蚁群最终搜索到的权阈值组合作为神经网络的初始值,利用BP 算法训练网络,进一步修正权阈值,直到满足要求。
基于以上ACO—BP 神经网络的过程,得出如图2 所示的优化算法的整体流程图。
利用天津某办公大楼的实际交通流数据进行分析,统计该办公大厦周一~周五共5 个工作日内每天7:00~19:00 每5 min 内进出大楼的总乘客数,共得到720 个数据。
由于隐含层的S 型函数对零点附近的输入信号放大程度较好,而当净输入较大时,神经元的输出将趋于饱和,放大效果不是很明显。因而需要将这720 个数据统一归一化到区间[0,1]中,即得到样本数据。
图2 ACO—BP 网络算法流程图Fig 2 Flow chart of ACO—BP neural network algorithm
对于电梯交通流而言,t 时刻的交通流与当天前2 个时刻以及前天同一时刻的交通流相关性最大。为了更好地反映交通流的变化以及数据间的内在联系,如图1 所示,本文利用当天前4 个时刻和前天同一时刻的交通流来预测当天某一时刻的交通流,即输入节点数为5,输出节点数为1,由此,确定基本隐含层节点数应为11,然后,在此基础上加上一些余量进行试凑。
表1 给出了当误差目标为0.01,采用BP 算法训练时,具有不同隐含层节点数的网络所需的训练时间与循环次数,可知隐含层节点数取13,15 为最佳,本文取13。
表1 网络训练结果Tab 1 Network training results
确定网络权阈值参数个数为92,将区间[-5,5]等分为100 份,利用Matlab 中rands()函数在每个小区间中随机产生一个数作为候选值,最终每个参数对应一个有100 个候选值的集合;经过反复的匹配与调整,最终选定100 只蚂蚁,信息素留存系数ρ 取0.8,信息素初始值取8 000,σ 取20,Q 取1。
取前4 天的数据作为训练样本,第五天的数据作为测试样本,由此可得到572 组训练样本和144 组测试样本,编制m 文件分别对基于BP 与ACO—BP 神经网络的电梯交通流预测模型进行仿真分析,并对传统的BP 算法利用附加动量法进行改进。设置最大迭代次数为40 000,均方差目标为0.002,为了弱化随机性的影响,分别运行3 次,对比最终的训练误差,结果如图3 所示。
图3 三次运行结果对比Fig 3 Comparison of three running results
由图3 可知,3 次运行中,传统的BP 神经网络即使经过附加动量法改进之后仍然全部陷入了0.003 93 这个极小值点;而ACO—BP 神经网络3 次全部达到训练误差要求0.002。
取其中一次的运行结果进行对比分析,具体结果如表2所示;图4 ~图7 所示分别为传统BP 和ACO-BP 神经网络的训练误差性能曲线和模型预测拟合曲线。
图4 传统BP 神经网络的训练误差性能曲线Fig 4 Training error performance curve of BP neural network
图5 传统BP 神经网络模型的预测和拟合曲线Fig 5 Forecasting and fitting curve of traditional BP neural network model
图6 ACO—BP 神经网络的训练误差性能曲线Fig 6 Training error performance curve of ACO—BP neural network
图7 ACO—BP 神经网络模型的预测和拟合曲线图Fig 7 Forecasting and fitting curve of ACO—BP neural network model
图4 所示训练过程耗时447 s,在开始的5 000 步,网络在跳过某些局部极小值之后,误差由初始值1.18 降到0.004左右,之后网络便陷入了一个长达3 0000 多步的振荡过程,并且最终误差只达到0.003 93,此时网络完全陷入这个局部极小值。对比图6,整个训练过程耗时88 s,初始误差仅为0.276,只用3 638 步就达到误差目标0.002,并且整个训练过程很平滑,未受到局部极小值的影响。
表2 ACO—BP 与BP 神经网络预测结果对比Tab 2 Prediction results comparison of ACO—BP and BP neural network
对比图5 和图7 可知,二者均可以较好地预测交通流的变化趋势,对于客流高峰时段的预测也都在合理范围内。但二者的预测精度是有差别的,图5、图7 的预测误差分别为0.004 3和0.002 1,而且图7 的预测曲线能很好地反映交通流短时间内很小的变化。
综上所述,ACO—BP 神经网络不但克服了传统BP 神经网络的局部极小值问题,而且在训练时间和预测精度上也有优势。
本文在建立的基于BP 神经网络交通流预测模型的基础上,针对BP 算法的缺点,提出ACO—BP 算法,该方法兼具ACO 算法全局寻优和BP 网络广泛映射等优点;采集天津某办公大厦的实际交通流数据对建立的ACO—BP 神经网络交通流预测模型进行仿真,结果表明:ACO—BP 神经网络训练时间短、预测精度高,这可为电梯配置与群控提供更为准确的交通流信息。
[1] 万健如,张彦朝,杨岳枫.电梯选型配置与优化设计研究[J].中国电梯,2009,20(21):21-26.
[2] Ding Bao,Zhang Yongming,Peng Xiyuan,et al.A hybrid approach for the analysis and prediction of elevator passenger flow in an office building[J].Automation in Construction,2013,35:69-78.
[3] 唐海燕,于德亮,丁 宝,等.基于SVR 的电梯交通流时间序列预测[J].控制工程,2011,18(5):723-726,792.
[4] 黄 敏,崔宝同,顾树生.基于小波神经网络的电梯交通流预测[J].控制与决策,2006,21(5):589-592.
[5] 张晓利,陆化普.非参数回归方法在短时交通流预测中的应用[J].清华大学学报:自然科学版,2009,49(9):39-43.
[6] 王旭东,刘金凤,张 雷.蚁群神经网络算法在电动车用直流电机起动过程中的应用[J].中国电机工程学报,2010,30(24):95-100.
[7] 徐华中,吴 苏,刘 念.基于多传感器数据融合技术的短时交通流检测[J].传感器与微系统,2009,28(2):104-106,109.
[8] 田秀梅.BP 算法的改进及仿真研究[J].电子技术,2011,38(3):60,64-65.
[9] Mavrovouniotis Michalis,Yang Shengxiang.Evolving neural networks using ant colony optimization with pheromone trail limits[C]∥Proceedings of the 13th UK Workshop on Computational Intelligence,Piscataway:IEEE,2013:16-23.