神经网络——BP算法教案资料.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《神经网络——BP算法教案资料.ppt》由会员分享,可在线阅读,更多相关《神经网络——BP算法教案资料.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、神经网络BP算法BP网络网络 是一种单向传播的多层前向网络是一种单向传播的多层前向网络其神经元的变换函数是其神经元的变换函数是S型函数,型函数,因此输出量为因此输出量为0到到1之间的连续量之间的连续量它可以对非线性可微分函数进行它可以对非线性可微分函数进行权值训练,从而实现输入到输出权值训练,从而实现输入到输出的任意的非线性映射。的任意的非线性映射。网络中心思想是梯度下降法网络中心思想是梯度下降法 通过梯度搜索技术,使网通过梯度搜索技术,使网络实际输出值与期望输出值络实际输出值与期望输出值的误差均方值最小。的误差均方值最小。网络的学习过程是一种误差网络的学习过程是一种误差边向后传播边修正权系数
2、的边向后传播边修正权系数的过程过程7.2.2 BP网络结构 BP神经网络模型结构神经网络模型结构 输入层输入层隐层隐层输出层输出层输输 入入输输 出出BP网络是一种多层前向神经网络网络是一种多层前向神经网络v一般分三层:输入层,隐层,输出层,也可以一般分三层:输入层,隐层,输出层,也可以有有2层或更多个隐层。层或更多个隐层。v层与层之间采用全互联方式,同一层单元之层与层之间采用全互联方式,同一层单元之间不存在相互连接。间不存在相互连接。1)输入层单元无转换函数,直接接收信号传给下)输入层单元无转换函数,直接接收信号传给下一层,所以有些书不认为输入层是一个网络层。一层,所以有些书不认为输入层是一
3、个网络层。2)在一般情况下,均是在隐含层采用)在一般情况下,均是在隐含层采用 S 型激活函型激活函数,而输出层采用线性激活函数。数,而输出层采用线性激活函数。x1x2xny1yp只有当希望对网只有当希望对网络的输出进行限络的输出进行限制,如限制在制,如限制在0和和1之间,那么则在之间,那么则在输出层包含输出层包含 S 型型激活函数激活函数BP网络特点网络特点是多层网络,包括输入层、隐层和输出层是多层网络,包括输入层、隐层和输出层层与层之间采用全互连方式,同一层神经层与层之间采用全互连方式,同一层神经元之间不连接元之间不连接权值通过学习算法进行调节权值通过学习算法进行调节神经元激发函数为神经元激
4、发函数为S函数函数层与层的连接是单向的,信息传播是双向层与层的连接是单向的,信息传播是双向的的感知机网络利用输出误差只能感知机网络利用输出误差只能修改最后一层的权值修改最后一层的权值而而BP网络实现了多层学习,每一网络实现了多层学习,每一层的权值均可训练学习修改。层的权值均可训练学习修改。BP学习规则学习规则 BP算法属于算法属于算法,是一种算法,是一种监督式的学习算法。监督式的学习算法。其主要思想为:其主要思想为:对于对于q个输入学习样本:个输入学习样本:P1,P2,Pq,已知与其对应的输出样本为:已知与其对应的输出样本为:T1,T2,Tq。学习的目的:学习的目的:是用网络的实际输出是用网络
5、的实际输出A1,A2,Aq与目标与目标矢量矢量T1,T2,Tq之间的误差来修改其权值之间的误差来修改其权值 使使Al(ll,2,q)与期望的与期望的Tl尽可能地接近;尽可能地接近;即:即:使网络输出层的误差平方和达到最小。使网络输出层的误差平方和达到最小。BP算法的学习过程由算法的学习过程由 正向传播正向传播和和反向传播反向传播组成组成 BP算法是由两部分组成:信息算法是由两部分组成:信息的正向传递与误差的反向传播。的正向传递与误差的反向传播。在正向传播过程中,输入信息在正向传播过程中,输入信息从输入经隐含层逐层计算传向输从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影出层,每一层神经
6、元的状态只影响下一层神经元的状态。响下一层神经元的状态。如果在输出层没有得到期望如果在输出层没有得到期望的输出,则计算输出层的误的输出,则计算输出层的误差变化值,然后转向反向传差变化值,然后转向反向传播,通过网络将误差信号沿播,通过网络将误差信号沿原来的连接通路反传回来修原来的连接通路反传回来修改各层神经元的权值直至达改各层神经元的权值直至达到期望目标。到期望目标。BP网络用途网络用途1)函函数数逼逼近近:用用输输入入矢矢量量和和相相应应的的输输出出矢矢量训练一个网络逼近量训练一个网络逼近个函数;个函数;2)模模式式识识别别:用用一一个个特特定定的的输输出出矢矢量量将将它它与输入矢量联系起来;
7、与输入矢量联系起来;3)分分类类:把把输输入入矢矢量量以以所所定定义义的的合合适适方方式式进行分类;进行分类;4)数据压缩:减少输出矢量维数以便于传数据压缩:减少输出矢量维数以便于传输或存储。输或存储。BP网络的逼近用于逼近的BP网络前向传播:计算网络输出前向传播:计算网络输出输出层输出输出层输出隐层输出采用隐层输出采用S函数函数隐层输入:隐层输入:BP网络逼近仿真Chap7_1.m设计的网络结构为设计的网络结构为2-6-1;权值权值w1,w2的初值取的初值取-1,+1之间的随机值,之间的随机值,取取 初始化 加输入和期望输出计算隐层和输出层的输出迭代次数加1调节输出层和隐层的连接权值 改变训
8、练样板训练样终止?迭代终止?BP算法的基本流程NoNoyyBP网络模式识别一、一、由于神经网络具有自学习、自组织和并行处理由于神经网络具有自学习、自组织和并行处理等特征,并具有很强的容错能力和联想能力,等特征,并具有很强的容错能力和联想能力,因此,神经网络具有模式识别能力。因此,神经网络具有模式识别能力。在神经网络识别中,根据标准的输入输出模式在神经网络识别中,根据标准的输入输出模式对,采用神经网络学习算法,以标准的模式作对,采用神经网络学习算法,以标准的模式作为学习样本进行训练,通过学习调整神经网络为学习样本进行训练,通过学习调整神经网络的连接权值。的连接权值。当训练满足要求后,得到知识库,
9、利用神经网当训练满足要求后,得到知识库,利用神经网络并行推理算法便可对所需的输入模式进行识络并行推理算法便可对所需的输入模式进行识别。别。BP网络的训练过程 为了训练一个为了训练一个BP网络,需要计算网络加权网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求得输入矢量以及网络输出和误差矢量,然后求得误差平方和。误差平方和。当所训练矢量的误差平方和小于误差目标,当所训练矢量的误差平方和小于误差目标,训练则停止,否则在输出层计算误差变化,且训练则停止,否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,并重复此采用反向传播学习规则来调整权值,并重复此过程。过程。当网络完成训练后,
10、对网络输入一个不是当网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将给出输出结果。训练集合中的矢量,网络将给出输出结果。为了能够较好地掌握为了能够较好地掌握BP网络的训练网络的训练过程,我们再用两层网络为例来叙述过程,我们再用两层网络为例来叙述BP网络的训练步骤。网络的训练步骤。1)用用小小的的随随机机数数对对每每一一层层的的权权值值W初初始始化化,以保证网络不被大的加权输入饱和;以保证网络不被大的加权输入饱和;2)计计算算网网络络各各层层输输出出矢矢量量A1和和A2以以及及网网络络误差误差E3)计算各层反传的误差变化并计算各层权值计算各层反传的误差变化并计算各层权值的修正值以及新权
11、值的修正值以及新权值4)再次计算权值修正后误差平方和:再次计算权值修正后误差平方和:5)检查误差是否小于给定误差,若是,训练检查误差是否小于给定误差,若是,训练结束;否则继续。结束;否则继续。以上所有的学习规则与训练的全过程,仍然可以用以上所有的学习规则与训练的全过程,仍然可以用函数函数trainbp.m来完成。它的使用同样只需要定义来完成。它的使用同样只需要定义有关参数:显示间隔次数,最大循环次数,目标误有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率,而调用后返回训练后权值,循差,以及学习速率,而调用后返回训练后权值,循环总数和最终误差:环总数和最终误差:TPdisp_freq
12、 max_epoch err_goal 1r;W,B,epochs,errorstrainbp(W,B,F,P,T,TP);基于基于BP算法的多层前馈网络用图像压缩编码算法的多层前馈网络用图像压缩编码Ackley和和Hinton等人等人1985年提出了利用多层前馈神年提出了利用多层前馈神经网络的模式变换能力实现数据编码的基本思想。经网络的模式变换能力实现数据编码的基本思想。其原理是,把一组输入模式通过少量的隐层节点其原理是,把一组输入模式通过少量的隐层节点映射到一组输出模式,并使输出模式等同于输入映射到一组输出模式,并使输出模式等同于输入模式。当中间隐层的节点数比输入模式维数少时,模式。当中间
13、隐层的节点数比输入模式维数少时,就意味着隐层能更有效的表现输入模式,并把这就意味着隐层能更有效的表现输入模式,并把这种表现传给输出层。在这个过程中,输入层和隐种表现传给输出层。在这个过程中,输入层和隐层的变换可以看成是压缩编码的过程;而隐层和层的变换可以看成是压缩编码的过程;而隐层和输出层的变换可以看成是解码过程。输出层的变换可以看成是解码过程。用多层前馈网实现图像数据压缩时,只需一个隐层,如图用多层前馈网实现图像数据压缩时,只需一个隐层,如图原图像原图像nn重建图像重建图像nn输入层和输出层均含有输入层和输出层均含有n*n个神经元,每个神经元个神经元,每个神经元对应于对应于n*n图像分块中的
14、一个像素。隐层神经元的图像分块中的一个像素。隐层神经元的数量由图像压缩比决定,如数量由图像压缩比决定,如n=16时,取隐层神经时,取隐层神经元数为元数为m=8,则可将则可将256像素的图像块压缩为像素的图像块压缩为像素。像素。通过调整权值使训练集图像的重建误差达到最小。通过调整权值使训练集图像的重建误差达到最小。训练后的网络就可以用来执行图像的数据压缩任训练后的网络就可以用来执行图像的数据压缩任务了,此时隐层输出向量便是数据压缩结果,而务了,此时隐层输出向量便是数据压缩结果,而输出层的输出向量便是图像重建的结果。输出层的输出向量便是图像重建的结果。黑白图像的边缘检测:黑白图像的边缘检测:分析分
15、析BP网络结构特点:网络结构特点:1.BP网络具有一层或多层网络具有一层或多层隐含层,与其他网络模型除隐含层,与其他网络模型除了结构不同外,主要差别表了结构不同外,主要差别表现在激活函数上。现在激活函数上。BP网络的设计网络的设计 2.BP网络的激活函数必须网络的激活函数必须是处处可微的,所以它就不是处处可微的,所以它就不能采用二值型的阀值函数能采用二值型的阀值函数0,1或符号函数或符号函数1,1,BP网络经常使用的是网络经常使用的是S型的型的对数或正切激活函数和线性对数或正切激活函数和线性函数。函数。3.只有当希望对网络的输出只有当希望对网络的输出进行限制,如限制在进行限制,如限制在0和和1
16、之之间,那么在输出层应当包含间,那么在输出层应当包含S型激活函数,在一般情况下,型激活函数,在一般情况下,均是在隐含层采用均是在隐含层采用S型激活函型激活函数,而输出层采用线性激活数,而输出层采用线性激活函数。函数。4、输输入入和和输输出出是是并并行行的的模模拟拟量;量;5、网网络络的的输输入入输输出出关关系系是是各各层层连连接接的的权权因因子子决决定定,没没有有固定的算法;固定的算法;6、权因子是通过学习信号调、权因子是通过学习信号调节的,这样学习越多,网络节的,这样学习越多,网络越聪明;越聪明;7、隐隐含含层层越越多多,网网络络输输出出精精度度越越高高,且且个个别别权权因因子子的的损损坏坏
17、不不会会对对网网络络输输出出产产生生大大的的影响影响BP网络的设计 1 网络的层数:网络的层数:理论上已经证明:具有偏差和至少一个理论上已经证明:具有偏差和至少一个S型型隐含层加上一个线性输出层的网络,能够逼近隐含层加上一个线性输出层的网络,能够逼近任何有理函数。任何有理函数。增加层数主要可以更进一步的降低误差,提增加层数主要可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。网络权值的训练时间。一般情况下,应优先考虑增加隐含层中的神一般情况下,应优先考虑增加隐含层中的神经元数。经元数。能不能仅用具有非线性激活函数的单层
18、网络能不能仅用具有非线性激活函数的单层网络来解决问题呢?结论是:没有必要或效果不好。来解决问题呢?结论是:没有必要或效果不好。2 隐含层的神经元数隐含层的神经元数 网络训练精度的提高,可以通过采用网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更来获得。这在结构实现上,要比增加更多的隐含层要简单得多。多的隐含层要简单得多。在具体设计时,比较实际的做法是通在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后过对不同神经元数进行训练对比,然后适当地加上一点余量。适当地加上一点余量。3)初始权值的选取)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 BP 算法 教案 资料
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内