BP神经网络算法可以建立输出与输入之间的直接映射关系。其结构与训练原理示意如下图所示。
图1BP神经网络算法的示意结构与训练原理图。
模型通常由输入层、隐藏层和输出层三部分组成,其中输入与输出层神经节点数由实际物理模型决定。隐藏层由一层或多层结构组成,且每层含有多个神经节点,在实际计算中可以根据模型参数、数据容量、训练需求等灵活设置。以示意图中的结构为例分析,其中x1~xn为输入数据,w、v分别为第一、第二层权重系数,d、b分别为第一、第二层偏置系数,y1~ym为输出数据。
图2 BP神经网络的建立和训练流程图
BP神经网络模型的建立分为数据前向传递和参数反向修正两部分。数据前向传递是指神经网络的每层结构之间通过节点的权重系数连接,输入数据从输入层进入神经网络后逐层经过权重作用向前传递的过程。参数反向修正,即反向传播训练的过程,输入数据经过网络计算后的数据结果与参考值进行对比,根据两者的误差构建目标函数,通常选取误差平方和E,当目标函数不满足设定时,反向逐层修正网络内的权重与偏置参数;当目标函数满足设定目标时,训练结束。综上,建立和训练BP神经网络的模型流程图如上图所示。
因此,建立BP神经网络模型主要包括以下步骤:
步骤1在离线状态下,获得一定数量的输入输出组合作为样本数据;
步骤2将样本数据进行归一化处理,然后划分训练集与测试集;
步骤3建立合适的BP神经网络参数模型,并设定目标函数与最大学习次数;
步骤4使用训练集数据对模型进行训练,并修正模型的参数;
步骤5利用训练好的网络模型对测试集进行测试。