小波神经网络模型的改进方法

时间:2022-04-14 10:33:20

小波神经网络模型的改进方法

摘要:

为了改善小波神经网络(WNN)在处理复杂非线性问题的性能,针对量子粒子群优化(QPSO)算法易早熟、后期多样性差、搜索精度不高的缺点,提出一种同时引入加权系数、引入Cauchy随机数、改进收缩扩张系数和引入自然选择的改进量子粒子群优化算法,将其代替梯度下降法,训练小波基系数和网络权值,再将优化后的参数组合输入小波神经网络,以实现算法的耦合。通过对3个UCI标准数据集的仿真实验表明,与WNN、PSOWNN、QPSOWNN算法相比,改进的量子粒子群小波神经网络(MQPSOWNN)算法的运行时间减少了11%~43%,而计算相对误差较之降低了8%~57%。因此,改进的量子粒子群小波神经网络模型能够更迅速、更精确地逼近最优值。

关键词:

小波神经网络;改进的量子粒子群;参数组合优化

0引言

小波神经网络(Wavelet Neural Network, WNN)自提出以来得到了广泛应用,然而,传统WNN模型存在精度差、不稳定、易早熟等缺点。与此同时,量子粒子群优化(Quantumbehaved Particle Swarm Optimization, QPSO)算法虽然对传统粒子群优化(Particle Swarm Optimization, PSO)算法进行一定的改进,但仍然没有完全摆脱PSO容易陷入局部最优的缺点,并存在着易早熟、后期多样性差、搜索精度不高等缺陷。

基于此,本文将在前人的研究基础上,提出一套QPSO算法的改进方案,并用改进后的QPSO算法代替梯度下降法,以均方差(Mean Squared Error, MSE)误差为目标函数,优化WNN的小波基系数和网络权值,再将优化后的参数组合输入WNN模型进一步精确优化,从而实现两种算法的耦合。通过实验分析可以证明,改进后的WNN具备更高的收敛精度和更快的收敛速度,对于解决复杂非线性问题拥有更好的泛化能力、容错能力以及学习能力。

1量子粒子群算法及其改进

1.1量子粒子群算法

为了克服传统PSO算法的缺陷,Sun等[1]提出QPSO算法,提高了粒子群的全局收敛能力。由于算法在迭代过程中,仅存在粒子位置的变化,因此计算大大简化,主要迭代方程归纳为:

其中:i=1,2,…,M;n=1,2,…,N;M为粒子的种群规模;N为粒子的维数;t为当前迭代次数;r1、r2和u均为[0,1]的随机数;pi(t)为粒子的个体最优位置;pg(t)为粒子的全局最优位置;p(t)为pi(t)和pg(t)之间的随机点。 β为收缩扩张这个说法是标准表达吗?请明确 。是否应该为收缩-扩张系数?系数,是量子粒子群算法唯一的初始参数,通常情况下, β的值随着迭代次数增加而线性减小[2],即:

β=0.5+(1-0.5)(T-t)/T(2)

其中T为最大迭代次数。当u≤0.5时, β取正号;当u>0.5时, β取负号。与其他智能算法不同,量子粒子群只有收缩扩张系数β作为唯一的初始参数,因此它具有易控制、收敛快以及全局搜索能力强等特点,但也存在以下几点问题:

1)量子粒子群算法没有在根本上改变标准粒子群在后期容易陷入早熟的问题,相关研究[3]表明,随着迭代次数的增加,种群的多样性逐步减弱,粒子的全局搜索能力也会随之降低。

2)在量子空间里,单个粒子没有速度向量的指引,后期搜索能力较弱,并且随着β参数的递减,粒子的搜索空间也逐步压缩,容易陷入早熟,导致搜索精度不高。

1.2改进的量子粒子群算法

为了改善QPSO算法性能,Sun等做了许多工作,比如提出了概率分布机制,维持种群的多样性[4];与模拟退火算法相结合,提高全局搜索能力[5];利用免疫记忆来提高粒子的收敛速度[6]等。此外,Coelho[7]提出了基于Gaussian分布的QPSO算法,通过引入变异算子改善后期搜索能力;林星等[8]提出混沌QPSO优化算法,具有较好的搜索精度和较强的克服早熟的能力;许少华等[9]引入量子Hadamard门操作和全局自适应因子,改善了QPSO算法的搜索能力等。

上述改进方法都能在一定程度上改善了QPSO算法的性能,但算法的改进应是一个系统工作,仅靠一两个方面的改善,效果非常有限,甚至可能会带来一些负面效果,比如提高粒子搜索精度可能降低收敛速度,加快搜索可能陷入早熟,所以,本文针对QPSO算法固有缺陷,提出从收敛精度、搜索速度以及克服早熟能力的三个方面综合考虑,全面系统地设计改进方案,主要包括以下4点。

1)加权系数。

式(1)中平均最优位置mbest仅仅是由处于每个维度上最优粒子的简单求和平均得出,这就等同于假定了每个粒子在空间搜索中所做贡献是一样的,而在实际情况中这显然是不合理的。虽然在多数情况下,传统的处理方式是可行的,但是为了降低算法的随机性,提高粒子搜索精度,本文引入加权系数[10]对原算法进行改进。

在每次迭代时,通过计算出适应值pi(t),筛选出每一个维度处于最优位置的粒子。若是求最大值问题,则pi(t)越大,粒子越重要;反之,若是求最小值问题,则pi(t)越小,粒子越重要。因此,根据适应值的大小,首先将粒子按降序排列,然后为每个粒子确定其加权系数αi,n,离预期的最优结果越近,αi,n的值越大,所以,将mbest改进为:

2)Cauchy随机数。

一般情况下,QPSO算法的随机因子都是使用均匀分布产生,但随着迭代次数的增加,量子空间逐渐被压缩,一旦陷入局部最优,大多数粒子会不断趋同,整个粒子群就会失去多样性,如此便很难避免早熟的产生。对此,有文献提出使用Gaussian分布代替均匀分布,增加粒子后期的活力,但由于Cauchy分布具有较高的两翼概率,更易得到一个离原点较远的随机数,比Gaussian分布的区域范围更广,因此,本文采用Cauchy分布[11]代替均匀分布生成随机因子。

本文采用标准的Cauchy分布C(0,1)分布,首先将随机因子u由原来的u~U(0,1)改为u服从u~C(0,1),其次,将随机因子r1和r2也改为服从Cauchy分布,即r1,r2~C(0,1),则式(1)改进为:

3)随机收缩扩张系数。

收缩扩张系数β是QPSO算法中唯一重要的初始参数,较大的β有利于粒子的快速收敛,提高算法的全局搜索能力;而较小的β有利于对当前的搜索区域进行精确局部搜索,增强算法的局部搜索能力。文献[2]中详细验证了当β为线性递减或者非线性递减时,对于多数情况下能取得较好的结果,但这种参数处理方法需要反复的实验才能确定最优值,并且,若在搜索的开始阶段未能接近最优值,则随着β的减小和粒子多样性的减弱,算法易陷入局部最优。

对此,本文在白俊强等[12]的启发下,将收缩扩张系数β服从某种随机分布,如果在搜索的开始阶段未能接近最优值,则β的随机生成能使部分粒子跳出局部最优,重新在可行域中搜索,进而尽量避免β线性或非线性递减所引起的早熟,因此将式(2)改进为:

其中:εmax为随机系数的最大值;εmin为随机系数的最小值;σ为随机系数的方差;N(0,1)为标准正态分布的随机数;rand(0,1)为0到1之间的随机数。

4)自然选择。

为了在不影响收敛精度的前提下,尽可能提高粒子在可行域空间的搜索速度,本文在前人研究[13]的基础上,将自然选择的思想引入到QPSO算法的改进方案中,通过保留优等粒子,加快淘汰迭代过程中偏离最优解的劣等粒子来实现对算法的改进。

具体的做法是在每次迭代过程中将每一个种群的粒子按适应值pi(t)排序,通过比较,用粒子群中最优的20%部分的粒子替换最差20%部分的粒子,同时保留每次迭代过程中产生的全局最优值,以提高粒子群中优等粒子的比重,以保证QPSO算法的收敛速度加快,并持续保持良好的性能。

综上所述,本文提出了旨在提高QPSO算法收敛精度、搜索速度和克服早熟能力的3种性能,以引入加权系数、Cauchy随机数、随机收缩扩张系数和自然选择的4种改进方法为基础的一套改进方案,以此提升QPSO算法的综合性能,如图1所示。其中:引入加权系数是为了提高收敛精度,引入自然选择是为了提高搜索速度,引入Cauchy随机数和随机收缩扩张系数是为了防止早熟的产生。

2基于改进的QPSO的小波神经网络模型

2.1小波神经网络

WNN与传统BP神经网络的主要区别在于将神经元中的Sigmoid激励函数换成小波基函数,使其具备小波变换的局部化特点和神经网络的自学习性质,具备较强的非线性逼近能力。

隐含层函数ψa,b(x)采用国内外较多使用的Morlet小波基函数[14],即:

网络输出的误差函数采用均方差计算,即:

MSE=1M∑Mm=1∑Jj=1(yjm-Rjm)2(8)均方差的定义应该为开方形式,为何没有?即应与式(12)类似,请明确或解释一下。

根据预测误差值,采用梯度下降法调整连接层权重和小波基系数,即:

2.2改进的量子粒子群小波神经网络的实现

使用基于改进的量子粒子群算法训练小波神经网络(Modified Quantum Particle Swarm OptimizationWavelet Neural Network, MQPSOWNN)实际上就是将每个维度的粒子向量分别代表WNN模型的初始连接层权重(wik,wkj)和小波基系数(ak,bk),并以均方差误差函数,即式(8)作为MQPSO优化的目标函数,通过反复迭代计算,一直到适应值趋于稳定为止。在此基础上,将优化后的参数组合应用到预先设置好的WNN模型中进一步训练,直至搜索到最优网络参数。由于在MQPSOWNN的初始阶段,MQPSO算法代替了梯度下降法调整WNN模型参数,使得整个网络能够更稳定地在更接近最优解位置进行参数寻优,从而有效提高了WNN寻优速度和精度。

MQPSOWNN算法的步骤如图2所示。

2.3改进的量子粒子群小波神经网络的分析

与BP神经网络相比,WNN采用小波基函数取代Sigmoid函数作为激励函数,并引入伸缩、平移因子,因此具备了更强的容错、识别和预测能力,但在实际应用中WNN存在着初始参数的选取不合适可能导致整个学习过程不收敛的缺点。而MQPSO算法拥有精度高、收敛快等良好性能,因此,尝试将二者相互耦合,采用MQPSO算法对网络参数进行优化,得到更适应WNN模型的参数组合,再通过WNN进一步精确优化,能够提高WNN模型的稳定性、容错能力及学习能力,增强其对于实际问题的解决能力。

3仿真实验

3.1实验条件

为了验证MQPSOWNN算法的有效性及优越性,本实验在CPU主频2.20GHz、内存2.0GB的运行环境下,使用Matlab 7.0软件,选取UCI机器学习数据库中的3个标准数据集作为原始数据集(都是典型的复杂非线性预测问题),分别采用WNN、PSOWNN、QPSOWNN和MQPSOWNN算法进行预测仿真实验,进而对比研究。

根据实验的需要,择优选取了3个UCI标准数据集进行预测,相关信息如表1所示。

表格(有表名)

上一篇:基于发现者预选择机制的自适应群搜索算法 下一篇:基于散列的频繁项集分组算法