发明名称 一种基于带学因子蜂群算法的多层感知器训练方法
摘要 本发明公开了一种基于带学因子蜂群算法的多层感知器训练方法,引入异步调整学因子思想来更新跟随蜂的蜜源位置,增强了蜂群的自适应优化能力,利用个体极值和种群的全局极值来改进人工蜂群算法中的搜索模式,提高了优化搜索效率和性能,以达到实现多层感知器初始权值和阈值的最佳优化效果,提高多层感知器的预测精度。
申请公布号 CN104050505A 申请公布日期 2014.09.17
申请号 CN201310075275.7 申请日期 2013.03.11
申请人 江南大学 发明人 楼旭阳
分类号 G06N3/00(2006.01)I;G06N3/02(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 代理人
主权项 一种基于邻域信息粒子群算法的混沌系统参数估计技术,其特征是所述方法包括如下步骤:Step1:初始化蜂群规模N,采蜜蜂种群规模为N<sub>e</sub>,跟随蜂种群规模为N<sub>f</sub>,个体向量的维度为D,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>X</mi><mi>i</mi></msub><mo>=</mo><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mn>1</mn></msubsup><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msubsup><mi>X</mi><mi>i</mi><mi>D</mi></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FSA00000862797100011.GIF" wi="448" he="95" /></maths>表示搜索个体向量(这里,i=1,2…,N),个体搜索空间为S=R<sup>D</sup>,采蜜蜂种群空间为<img file="FSA00000862797100012.GIF" wi="221" he="61" />蜂群进化代数M,初始迭代t=1,随机设置蜜蜂的种群初始值(初始权值和阈值),利用BP算法训练网络,计算种群的适应度值,即神经网络的性能指标:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo>(</mo><msup><mi>y</mi><mi>k</mi></msup><mo>-</mo><msup><mi>T</mi><mi>k</mi></msup><mo>)</mo></mrow><mn>2</mn></msup></mrow>]]></math><img file="FSA00000862797100013.GIF" wi="477" he="149" /></maths>其中,T<sup>k</sup>∈R为与第k组测试数据的输入对应的期望输出,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mi>y</mi><mi>k</mi></msup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>h</mi></munderover><msub><mi>v</mi><mi>i</mi></msub><mi>tanh</mi><mrow><mo>(</mo><msub><mi>w</mi><mi>i</mi></msub><msup><mi>U</mi><mi>k</mi></msup><mo>+</mo><msub><mi>&beta;</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FSA00000862797100014.GIF" wi="661" he="154" /></maths>为神经网络的第k组测试数据输出,U<sup>k</sup>为第k组测试输入数据,v<sub>i</sub>,w<sub>i</sub>,β<sub>i</sub>为网络权值和阈值,即蜂群算法搜索个体向量。Step2:按照种群适应度大小,将蜜蜂分为采蜜蜂和跟随蜂。Step3:更新采蜜蜂蜜源。对于每只采蜜蜂,在原蜜源附近采蜜,按下式v<sub>ij</sub>=x<sub>ij</sub>+r(x<sub>ij</sub>‑x<sub>kj</sub>)产生新的蜜源,并计算其适应度值,式中i,k=1,2…,N,k≠i,j=1,2…,D,r是[‑1,1]之间的随机数,若其适应度值更高,则取代原蜜源;否则放弃此蜜源。Step4:更新跟随蜂的状态。对于每只跟随蜂,按照与采蜜蜂种群适应度值成比例的的概率选择一个采蜜蜂,并在其邻域内根据下式v<sub>ij</sub>=λx<sub>ij</sub>+c<sub>1</sub>r<sub>1</sub>(p<sub>ij</sub>‑x<sub>ij</sub>)+c<sub>2</sub>r<sub>2</sub>(g<sub>j</sub>‑x<sub>ij</sub>)产生新的蜜源,式中λ是遗忘因子,表示搜索下一个蜜源时对当前蜜源的记忆强度,p<sub>ij</sub>表示每只蜜蜂自身的历史最好位置,即个体极值,g<sub>j</sub>表示所有蜜蜂的历史最好位置,即全局最优解,r<sub>1</sub>和r<sub>2</sub>是[‑1,1]之间的随机数,c<sub>1</sub>,c<sub>2</sub>表示学习因子,c<sub>1</sub>=1/(1+t<sup>0.25</sup>),c<sub>2</sub>=t/M,用于调整蜜蜂自身经验和社会群体经验在整个寻优过程中所起的作用的参数。若新产生的蜜源适应度值更高,则跟随蜂变成采蜜蜂,并取代原蜜源位置。Step5:记录种群最终更新后的个体极值、全局最优解以及最优适应度值。Step6:记录每只采蜜蜂觅食同一蜜源的次数,当觅食同一蜜源的次数超过临界阈值时,该采蜜蜂退化为跟随蜂,并重新随机初始化其位置。Step7:如果满足终止条件,则停止计算并输出最优适应度值及相应的参数X<sub>best</sub>(最优初始权值和阈值);否则,t:=t+1,转Step3。
地址 214122 江苏省无锡市蠡湖大道1800号