差分进化算法优化BP神经网络的流程是什么?
传统的BP神经网络存在一些缺陷和不足, 如网络的学习收敛速度慢,隐含层的层数和隐含层神经元个数的选择缺乏理论依据,网络中的连接权值和阈值初始化选择具有盲目性等。为了给神经网络敏感性分析求取敏感性系数提供稳定的连接权值和阈值,需要对神经网络初始连接权值和阈值进行优化。通常采用遗传算法(GA, genetic algorithm )来优化BP神经网络。差分进化算法与遗传算法非常相似,但差分进化算法涉及的参数更少,全局搜索能力强而且收敛速度快。因此,为了实现BP神经网络实际输出和期望输出之间的误差绝对值最小化,采用差分进化算法来优化BP神经网络。算法具体流程步骤如下。
步骤1 数据预处理。 由数据预处理划分子空间,确定BP神经网络拓扑结构。
步骤2 种群初始化。 由BP神经网络拓扑结构可以确定整个网络中的权值和阈值个数。假设网络中的权值和阈值个数总和为D,则差分进化初始种群个体的维数即为D。对种群个体初始化,以BP神经网络训练误差的绝对值作为适应度函数,并计算初始种群的适应度函数值。
步骤3 算法迭代。 依次执行差分进化算法的变异操作、交叉操作。用变异个体包金的权值和阅值进行BP神经网络训练。计算训练误淤绝对伽即适应度函数值。执行选择操作时将变异个体的适应度值与原个体的通应度值进行比较,选择较优个体作为种群的下一代。
步骤4 获取最优权值和阅值。 算法迭代结束后用最优个体包含的权值和阈值初始化BP神经网络。