人工神经网络是由大量的神经元按照大规模并行的方式通过一定的拓扑结构连接而成的。按照一定的规则将神经元连接成神经网络,并使网络中各神经元的连接权按一定的规则变化,这样一来也就产生了各式各样的神经网络模型。
从几个方面进行分类:
(1)按神经网络的拓扑结构可以分为反馈神经网络模型和前向神经网络模型;
(2)按照神经网络模型的性能可分为连续型与离散型神经网络模型,确定型与随机型神经网络模型
(3)按照学习方式可分为有教师学习和无教师学习神经网络模型;
(4)按连接突触的性质可分为一阶线性关联和高阶非线性关联神经网络模型;
BP神经网络是具有三层或三层以上的阶层型神经网络,由输入层、隐含层和输出层构成,相邻层之间的神经元全互连,同一层内的神经元无连接。
BP算法思想:从后向前(反向)逐层传播输出层的误差,以简接算出隐层误差。算法分为两个阶段:
(1)(正向传播过程)输入信息从输入层经隐层逐层计算各单元的输出值;
(2)(反向传播过程)输出误差逐层向前算出隐层各单元的误差,并用此误差修正前层权值。
备注:网络权值调整采用Delta学习规则,即根据梯度法沿着误差曲面的梯度最速下降,从而实现网络误差的最小化。
假设输入层、隐含层和输出层的单元数分别为I、J和K,输入为,隐含层输出为,网络实际输出为,表示训练样本的期望输出。输入层单元i到隐含层单元j的权值为,隐含层单元j到输出层单元k的权值为,用和来分别表示隐含层单元和输出层单元的阈值。
于是,该网络隐含层单元的输出值为:
输出层各单元的输出值为:
误差反向传播阶段:
若BP神经网络每一层的激活函数均取单极S型函数,即
则可以方便地计算出该网络各层的权值修正量。
(1)对于输出层与隐含层之间的权值调整
(2)对于隐含层与输入层的权值调整
标准BP网络的工作过程
(1)权值初始化:,其中表示网络输入层单元到隐含层单元的连接权值;表示网络隐含层到输出层单元的连接权值
(2)依次输入P个学习样本。设当前输入为第P个样本;
(3)依次计算各层的输出;、;其中为隐含层上第j个神经元的输出,为输出层上第k个神经元的输出;
(4)求网络各层的反传误差,并记下各个、的值;
,
(5)记录已经学习过的样本个数P。如果p<P,就转到(2)继续计算;如果p = P,则转到(6);
(6)按权值修正公式修正各层的权值和阈值;
(7)按新的权值再计算、和,若对每个p样本和相应的第k个输出神经元,都满足,或达到最大学习次数,则终止学习;否则转到(2)继续新一轮学习。
BP算法的优点:
(1)非线性映射能力;
(2)自学习和自适应能力;
(3)容错能力。
BP算法的不足:
(1)局部极小化问题;
(2)BP神经网络算法的收敛速度慢;
(3)BP神经网络结构选择不一;
(4)应用实例与网络规模的矛盾问题;
(5)BP神经网络预测能力和训练能力的矛盾问题;
(6)BP神经网络样本依赖性问题。