如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
9武汉大学计算机学院本科生课程模式识别(PatternRecognition)武汉大学计算机学院袁志勇Email:yuanzywhu@163.com第6章神经网络6.1神经网络基本知识6.2感知器神经网络模型6.3BP神经网络模型6.4Hopfield神经网络模型(:*不要求)6.3BP神经网络模型一.BP神经网络简介1.多层感知器单层感知器网络只能解决线性可分问题。在单层感知器网络的输入层和输出层之间加入一层或多层感知器单元(层中可以有多个感知器)作为隐含层,就构成了多层感知器(MultilayerPerceptrons)。多层感知器可以解决线性不可分的输入向量的分类问题。这种由输入层、隐含层和输出层所构成的感知器神经网络就是多层前向神经网络,BP神经网络是其中一种。2.BP神经网络简介BP神经网络是采用误差反向传播(BackPropagation,BP)算法的多层前向网络,其中,神经元的传输函数为S型函数,网络的输入和输出是一种非线性映射关系。BP算法的学习过程由结果正向传播和误差反向传播组成。在正向传播过程中,输入模式从输入层经隐含层逐层处理后,传送至输出层。每一层神经元的状态只影响下一层神经元的状态。如果在输出层得不到期望输出,那么就转为反向传播,把误差信号沿原连接路径返回,并通过修改各层神经元的权值,使误差减小。二.BP神经网络模型输入层隐含层输出层x1y1x2y2xnym图BP神经网络模型BP网络为多层前向神经网络。层与层之间多采用全互连方式,但同一层的节点之间不存在相互连接。神经元传输函数是可微的,大多数设计者通常都采用S型(Sigmoid)函数。神经元neu(neuron)的输入:neu=b+x1w1+x2w2+…+xnwn神经元neu的输出:1yfneu==()1+e−neu1fneu′()=−(−e−neu)(1+e−neu)211+−e−neu=(1+e−neu)211=−1(1)++ee−−neuneu2=−yy2=y(1−y)11注意到:lim==1,lim0neu→+∞(1++ee−−neu)neu→−∞(1neu)根据Sy型传输函数可知,的值域为(0,1),从而fneu'()的值域为(0,0.25)。见下图所示。f1f′(neu)neu(0,0.5)0.25y0.51(0,0)0图S型传输函数图f’(neu)的图像由上图可知,对神经网络进行训练,应该将neu的值尽量控制在收敛比较快的范围内。实际上,也可以用其它函数作为BP网络神经元的传输函数,只要该函数满足处处可导的条件即可。三.BP网络训练过程首先,上一讲已提到,ANNs的学习过程是根据模式样本集对神经元之间的连接权值进行调整的过程,BP网络也不例外。其次,BP网络执行是有导师学习。因此,其样本集是由形如:(输入向量,理想输出向量)的向量对构成的。在开始训练前,所有的权都应用一些不同的小随机数进行初始化。“小随机数”用来确保网络不会因为权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常学习。事实上,如果用相同的数去初始化权值矩阵,则网络无学习能力。W1W2x1y1yx22…………xnym输入层隐含层输出层图3层BP神经网络BP基本算法主要包含4步,这4步被分成两个阶段:1.前向(正向)传播输出阶段X=(,xx,",x)TStep1:给定输入样本pn12和理想输T出;将dpm=(,dd12,",d)Xp输入到网络。Step2:计算相应的实际输出yp:L2112Lyp=fL(W…(f2(Wf1(WXp+b)+b)…)+b)这里,L为网络层数,Wi为第i层的权值矩阵(i=1,2,…,L),fi为第i层神经元的传输函数。2.向后(误差反向)传播(修正权值)阶段Step1:计算实际输出yp与相应的理想输出dp的差;Step2:按极小化误差方式调整权值矩阵。这两个步骤的工作一般要受到精度要求(期望误差ε)的控制,这里取均方误差函数:m12作为网络关于第p个样本的误差Ep=−∑()djjy2j=1测度。将整个网络样本集的误差测度定义为:E=∑Epp四.误差反向传播原理分析ANAN1.输出层权值调整pqwpq∆wpq第k-1层第k层图ANp到ANq的连接wpq=wpq+∆wpqδ学习规则/梯度下降法∆wpq=ηδqyp(详见上一讲基本学习算法)=ηfn'(neuq)(dq-yq)yp=