BP神经网络原理

如题所述

人工神经网络有很多模型,但是日前应用最广、基本思想最直观、最容易被理解的是多层前馈神经网络及误差逆传播学习算法(Error Back-Prooaeation),简称为BP网络。

在1986年以Rumelhart和McCelland为首的科学家出版的《Parallel Distributed Processing》一书中,完整地提出了误差逆传播学习算法,并被广泛接受。多层感知网络是一种具有三层或三层以上的阶层型神经网络。典型的多层感知网络是三层、前馈的阶层网络(图4.1),即:输入层、隐含层(也称中间层)、输出层,具体如下:

图4.1 三层BP网络结构

(1)输入层

输入层是网络与外部交互的接口。一般输入层只是输入矢量的存储层,它并不对输入矢量作任何加工和处理。输入层的神经元数目可以根据需要求解的问题和数据表示的方式来确定。一般而言,如果输入矢量为图像,则输入层的神经元数目可以为图像的像素数,也可以是经过处理后的图像特征数。

(2)隐含层

1989年,Robert Hecht Nielsno证明了对于任何在闭区间内的一个连续函数都可以用一个隐层的BP网络来逼近,因而一个三层的BP网络可以完成任意的n维到m维的映射。增加隐含层数虽然可以更进一步的降低误差、提高精度,但是也使网络复杂化,从而增加了网络权值的训练时间。误差精度的提高也可以通过增加隐含层中的神经元数目来实现,其训练效果也比增加隐含层数更容易观察和调整,所以一般情况应优先考虑增加隐含层的神经元个数,再根据具体情况选择合适的隐含层数。

(3)输出层

输出层输出网络训练的结果矢量,输出矢量的维数应根据具体的应用要求来设计,在设计时,应尽可能减少系统的规模,使系统的复杂性减少。如果网络用作识别器,则识别的类别神经元接近1,而其它神经元输出接近0。

以上三层网络的相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,而且每层各神经元之间无连接,连接强度构成网络的权值矩阵W。

BP网络是以一种有教师示教的方式进行学习的。首先由教师对每一种输入模式设定一个期望输出值。然后对网络输入实际的学习记忆模式,并由输入层经中间层向输出层传播(称为“模式顺传播”)。实际输出与期望输出的差即是误差。按照误差平方最小这一规则,由输出层往中间层逐层修正连接权值,此过程称为“误差逆传播”(陈正昌,2005)。所以误差逆传播神经网络也简称BP(Back Propagation)网。随着“模式顺传播”和“误差逆传播”过程的交替反复进行。网络的实际输出逐渐向各自所对应的期望输出逼近,网络对输入模式的响应的正确率也不断上升。通过此学习过程,确定下各层间的连接权值后。典型三层BP神经网络学习及程序运行过程如下(标志渊,2006):

(1)首先,对各符号的形式及意义进行说明:

网络输入向量Pk=(a1,a2,...,an);

网络目标向量Tk=(y1,y2,...,yn);

中间层单元输入向量Sk=(s1,s2,...,sp),输出向量Bk=(b1,b2,...,bp);

输出层单元输入向量Lk=(l1,l2,...,lq),输出向量Ck=(c1,c2,...,cq);

输入层至中间层的连接权wij,i=1,2,...,n,j=1,2,...p;

中间层至输出层的连接权vjt,j=1,2,...,p,t=1,2,...,p;

中间层各单元的输出阈值θj,j=1,2,...,p;

输出层各单元的输出阈值γj,j=1,2,...,p;

参数k=1,2,...,m。

(2)初始化。给每个连接权值wij、vjt、阈值θj与γj赋予区间(-1,1)内的随机值。

(3)随机选取一组输入和目标样本

提供给网络。

(4)用输入样本

、连接权wij和阈值θj计算中间层各单元的输入sj,然后用sj通过传递函数计算中间层各单元的输出bj

基坑降水工程的环境效应与评价方法

bj=f(sj) j=1,2,...,p (4.5)

(5)利用中间层的输出bj、连接权vjt和阈值γt计算输出层各单元的输出Lt,然后通过传递函数计算输出层各单元的响应Ct

基坑降水工程的环境效应与评价方法

Ct=f(Lt) t=1,2,...,q (4.7)

(6)利用网络目标向量

,网络的实际输出Ct,计算输出层的各单元一般化误差

基坑降水工程的环境效应与评价方法

(7)利用连接权vjt、输出层的一般化误差dt和中间层的输出bj计算中间层各单元的一般化误差

基坑降水工程的环境效应与评价方法

(8)利用输出层各单元的一般化误差

与中间层各单元的输出bj来修正连接权vjt和阈值γt

基坑降水工程的环境效应与评价方法

(9)利用中间层各单元的一般化误差

,输入层各单元的输入Pk=(a1,a2,...,an)来修正连接权wij和阈值θj

基坑降水工程的环境效应与评价方法

(10)随机选取下一个学习样本向量提供给网络,返回到步骤(3),直到m个训练样本训练完毕。

(11)重新从m个学习样本中随机选取一组输入和目标样本,返回步骤(3),直到网路全局误差E小于预先设定的一个极小值,即网络收敛。如果学习次数大于预先设定的值,网络就无法收敛。

(12)学习结束。

可以看出,在以上学习步骤中,(8)、(9)步为网络误差的“逆传播过程”,(10)、(11)步则用于完成训练和收敛过程。

通常,经过训练的网络还应该进行性能测试。测试的方法就是选择测试样本向量,将其提供给网络,检验网络对其分类的正确性。测试样本向量中应该包含今后网络应用过程中可能遇到的主要典型模式(宋大奇,2006)。这些样本可以直接测取得到,也可以通过仿真得到,在样本数据较少或者较难得到时,也可以通过对学习样本加上适当的噪声或按照一定规则插值得到。为了更好地验证网络的泛化能力,一个良好的测试样本集中不应该包含和学习样本完全相同的模式(董军,2007)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-27

科普中国·科学百科:BP神经网络

相似回答