最小-最大模糊神经网络差分进化算法研究

2019-10-09 14:47赵晨飞
中国新技术新产品 2019年13期

赵晨飞

摘  要:该文利用二维正弦函数对DE算法和最小-最大模糊神经网络(MMFNN)结构优化策略进行测试,用MATLAB编程。在DE算法测试中,方差为0.0085,实验误差0.0078,实验结果表明:DE算法具有高效性与精准性。在MMFNN算法测试中,错误兼容率为0.0097,小于设定的错误兼容率0.01,验证了MMFNN结构的准确性。将2种算法的实验结果进行比较,DE算法比MMFNN算法优化效果好,有效性和精准性高,为将来人工智能和计算机电子信息等领域解决优化问题提供理论依据。

关键词:差分进化算法;二维正弦函数;最小-最大模糊神经网络

中图分类号:TP273          文献标志码:A

差分进化算法(Differential Evolution,DE)由Storn和Price于1995年首次提出的一种优化算法。差分进化算法的特点是采用实数编码;操作简单,只有很少的参数需要设置,每次运行都能找到最优解,鲁棒性好、收敛速度快、全局优化能力强,独特的变异机制产生的新个体是通過第i个个体和3个随机选取的父代共同产生的子个体。差分进化算法是求解问题的高效、并行的全局搜索方法,在解决复杂的全局优化问题优于其他种群进化算法,受到了学者们的广泛关注。

模糊神经网络(FNN)是由大量的交互式连接的神经元组成的复杂网络,具有模拟大脑的并行处理和非线性运算等特征,在模式识别和信号处理等领域得到了成功应用。

1 DE算法原理

DE算法是基于种群优化的简单进化算法。它的基本思想是种群中任意2个个体之差,乘以一个系数后,再加到第3个个体上,产生的新个体与原个体进行比较,如果优于原个体,则选择新个体作为子代,反之,原个体作为子代。这样做是为了使子代个体总是优于或等于父代个体,在种群不断的进化中直至达到群体最优。DE算法的3个最基本操作是变异、交叉和选择。

1.1 变异

变异是DE算法的核心,其主要目的是通过变异机制产生中间个体,变异机制如式(1)所示。

Vi=xr1+F×(xr2-xr3)                  (1)

式(1)为一个目标函数的二维情况,x1和x2分别为目标函数的第一维和第二维变量。r1、r2和r3是种群中取自[1,NP]随机选取的个体,其中NP为种群人口数,F代表差分权重,取值范围是在0~2,Vi为贡献向量。所以,采用此策略的DE算法的种群多样性好。

1.2 交叉

交叉的目的是为了更好地增强种群的多样性。交叉机制如式(2)所示。

其中uji为实验向量,vji和xji分别为贡献向量和目标向量,i=1,…,NP,NP为种群个体数,j=1,…,D与CR∈(0,1)为突变几率。randb是属于[1,D]区间内部的一个随机整数,D为索引数。这样可以保证一个随机结果ui可以随机从vij产生。

如果目标值f(ui)小于f(xi),ui在下一代替换xi,否则保留xi。

差分进化算法有2个突变量在本文中被使用,即为DE/rand/1/bin和DE/best/1/bin 。

2 DE算法分析

该文DE算法采用MATLAB语言进行编程,在实验中,设置了一些已知的向量来计算方差等结果。利用正弦函数对DE的优化策略进行测试。测试函数是二维正弦函数,如式(3)。

z=g(x,y)

=(a0-a1×x×sin(6π×x+a2×π))

×(a0-a1×y×sin(6π×x+a2×π)) (3)

式(3)中,待优化函数为Z=g(x,y),设x和y为二维正弦函数的2个未知数,并均在

范围内发生相应的变化,在实验中,一组向量a=[a0,a1,a2],作为比较DE算法产生的新向量。

3 DE算法执行

在实验中,设置6个实验组分别为A1、A2、A3、A4、A5、A6,向量V设置3组随机向量分别a0、a1、a2,设定向量a=[2.7,4,π/2]。x值在[-π-1/2,π-1/2]范围内。带入初始值并且计算相应的y值。实验次数设为E=106次,智能系数m=0.7,标准参量ε=0.01,概率Pc=0.5。设定向量Y为输出向量V产生的结果向量,用公式计算,得到一组输出向量值Y,然后,开始进行杂交,比较向量V与向量Y,从两者中选取最小的作为输出Z。整个程序中需要一个变量确定DE算法是否运行。当实际变量小于标准变量时,DE算法就会停止。根据计算结果知道理想方差小于标准值。这恰好证明DE算法优化产生的参数与实际参数基本一致,再将2组参量带入到二维正弦函数中,测试比较DE算法优化后的参量和实际参量。由计算结果可知,方差为0.0085,实验误差0.0078,实验结果表明,DE算法的有效性。

为了验证DE算法的有效性,设置x与y的变动范围是[–0.1π to 0.1π],观察实验中相同的参考系数的变化,实验结果表明:方差为0.000052842,小于之前大量实验所得出的数据,进而说明DE算法具有高效性与精准性,理想的二维正弦函数与实际的二维正弦函数相比误差率很低,这一点佐证DE算法优化效果很好。

4 最小-最大模糊神经系统(MMFNN)结构和执行

4.1 MMFNN结构

MMFNN包括输入层、最小模糊神经层和最大模糊神经层3层结构。第一层输入和的权重关系表达式,如式(4)所示。

Wij=1±α×(xi-θij)              (4)

其中i是输入的索引值,j是最小模糊神经网络层数的索引值,Wij为第一层与第二层之间的权重值,θij是第j层最小模糊神经层输入的中间值。斜度α与θij及权重关系为在权重边界值1~1,θij以梯度α增加,在边界值2~1,则以梯度α递减。其中,权重边界值1<权重边界值2。第二层每个最小模糊神经j选择最小权重Wij,并作为第三层的输出sj,N为第二层神经元数,其关系如式(5)所示。

(5)

在最后一层最大模糊神经层中,直接从第二层中选取最大值,它们的关系如式(6)所示。

(6)

公式中为第二层的权重。Sp为第p个最大神经网络输出端。M为第二层即为最小神经网络层的神经元数。

4.2 MMFNN算法执行

该文利用正弦函数对MMFNN算法的优化策略进行測试。测试函数是二维正弦函数。实验中,选取25个点作为2个输入。在第一层,输入满足公式(7)所示。

(7)

b1和b2是2个边界值,在b1与1之间以梯度α增长,在1与b2之间以-α梯度增长。s1为实验拟定的输出优化神经元。经过计算找到最小输入,并将其作为第二层最小模糊神经层的输入。将输入与权重相乘取最大值作为第三层的输入,最后输出作为MMFNN的总输出。

在实验中,需要对一些参量进行调整以保证结构的准确性。当实际输出与理想输出、实际错误率与错误兼容率都比较小,说明MMFNN优化效果很理想。另外,用MATLAB画出实际输出与理想输出的图,也验证了MMFNN优化的准确性,我们选取更多的测试点来测试系统,设置输入为8×8如5×5相比,可知64点和25点图所有的特征:形状、峰值、谷值实际输出与理想输出的二维正弦函数均一致,错误兼容率仅为0.0097,小于设定的错误兼容率0.01。

5 结论

该文利用二维正弦函数对DE和MMFNN的优化策略进行测试,将DE算法与MMFNN算法进行相比,实验结果表明:DE算法具有高效性和精准性,比MMFNN算法优化效果好,有效性和精准性高。该实验结果可以为解决优化问题提供理论依据。

参考文献

[1]马勋亮.微分进化神经网络算法研究[D].哈尔滨:哈尔滨工业大学,2007.

[2]周国亮.基于协同进化的神经网络优化方法的研究与应用[D].山东:山东师范大学,2008.