论文部分内容阅读
自2005年提出模仿蜜蜂觅食的人工蜂群算法(ABC算法)以来,在许多研究者努力下极大拓展了算法的应用邻域。本文将该算法用于BP神经网络非线性系统辨识,利用蜂群算法全局搜索能力强的优点,训练BP神经网络获得初始权值和阈值,避免随机赋予权值和阈值造成的容易陷入局极小值,收敛速度慢等问题。首先将ABC算法与LM算法结合,给出ABC-LM算法,用于BP神经网络非线性系统辨识。通过四个对象的非线性系统辨识Matlab仿真,表明本文给出的ABC-LM算法有效。其次,针对蜂群算法搜索食物源中存在过早收敛、只能搜索食物源而不能对所获食物源改造的能力,文献40将GA算法交叉因子引入到人工蜂群算法,但交叉率固定不可变,且所提出的算法局部搜索能力不强。本文给出的GAABC算法将交叉率由固定值改为根据种群进化次数自适应变化,并加入变异因子,变异率也是根据种群进化次数自适应变化,增强了蜂群算法的局部搜索能力。GAABC算法与LM算法结合训练BP神经网络并应用于非线性系统辨识,仿真结果表明基于GAABC-LM算法的神经网络辨识精度高于ABC-LM算法。最后,为了进一步提高BP神经网络的辨识精度,文中利用吸收了GA算法全部优点并有创新的Memetic算法对ABC算法改进,进一步增强局部搜索能力,提高BP神经网络辨识的精度,利用Memetic算法改进的ABC算法与LM算法结合训练BP神经网络并应用于非线性系统辨识。与GAABC算法不同之处在于MMABC算法交叉因子、变异因子是并行工作机制,增加了算法的创新能力,又保留了ABC算法强大的全局搜索能力,增大了寻找到全局最优解的可能性。接着进行了基于MMABC-LM算法的BP网络非线性系统辨识仿真,表明本文所给出的MMABC-LM算法辨识精度高于GAABC-LM算法。