BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播。主要包括输入层、隐含层和输出层,每一层的神经元状态影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差来调整网络权值和阈值,从而使BP神经网络预测输出不断接近期望输出。
BP神经网络预测前首先要训练网络,通过训练使网络具有联想记忆和预测能力。BP神经网络的训练过程的主要步骤如下:
步骤1:网络初始化。根据系统输入输出序列(X,Y)确定网络输入层节点数n、隐含层节点数l、输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值,wij,wjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。
步骤2:隐含层输出计算。根据输入变了X,输入层和隐含层之间连接权值wij以及隐含层阈值a,计算隐含层输出H。
步骤3:输出层输出计算。根据隐含层输出H,连接权值wjk和阈值b,计算BP神经网络预测输出。
步骤4:误差计算。根据网络预测输出O和期望输出Y,计算网络预测误差e。
步骤5:权值更新。根据网络预测误差e更新网络连接权值wij,wjk。
步骤6:阈值更新。根据网络预测误差e更新网络节点阈值a,b。
步骤7:判断算法迭代是否结束,若没有结束,返回步骤2。
但需要通过案例的了解,加深对步骤的认识,目前有一个基于少量数据的人口增长趋势预测案例,计划将此案例运用MATLAB调试出来,加深对BP神经网络算法的理解。