BP神经网络课件_第1页
BP神经网络课件_第2页
BP神经网络课件_第3页
BP神经网络课件_第4页
BP神经网络课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、讲解内容如下:1.趣味入门2.实例讲解3.较深入的探讨实例背后的BP神经网络算法4.总结 学习本来就是很枯燥的,但是,希望可以快乐的讲给大家。 黄利飞 先从特征来讲。枯藤老树昏鸦古道西风瘦马夕阳西下小桥流水人家 马致远先生的天净沙 秋思 寥寥数字,只是提取了秋天的几种很常见的事物,然而我们读到时,却是一副画一幅精美绝伦的古画,跃然于脑海。 我们再来欣赏一下围城里的两段话: 没说完,汪太太出来了。骨肉停匀,并不算瘦,就是脸上没有血色,也没擦胭脂,只傅了粉。嘴唇却涂泽鲜红嘴唇却涂泽鲜红,旗袍是浅紫色,显得那张脸残酷地白。长睫毛,眼梢斜撇向上。头发没烫,梳了髻,想来是嫌本地理发店电烫不到家的缘故。手

2、里抱着皮热水袋,十指甲全是红的十指甲全是红的,当然绝非画画时染上的颜色,因为她画的青山绿水。 鸿渐见了她(孙小姐,指孙柔嘉)面,不大自然,手不停弄着书桌上他自德国带回的Supernorma牌四色铅笔。孙小姐要过笔来,把红色铅捺出来,在吸墨水纸板的空白上,画一张红嘴画一张红嘴,相去一寸相去一寸许画十个尖而长的红点,五个一组,代表指甲,许画十个尖而长的红点,五个一组,代表指甲,此外的面目身体全没有。此外的面目身体全没有。她画完了,说:“这就是汪太太的的提纲。”鸿渐想一想,忍不住笑道:“真有点像,亏你想得出!” 之后,我们便要进入我们的正题了BP神经网络之模式分类。 请问,如何区分头像上的男女? 用

3、MATLAB模式识别工具箱(函数)来对某些指标(如空气质量、水质量、个人业绩等)进行分类、评估、预测,分为三步: 数据准备数据准备 训练和评估训练和评估 预测预测数据准备数据准备 准备好训练数据和待预测数据:把数据导入到MATLAB程序里 clear all clc rawX1=xlsread(data.xls,sheet1,A3:D200) rawX2=xlsread(data.xls,sheet1,E3:E200); rawX2=xlsread(data.xls,sheet1,G3:J200); rawY2=xlsread(data.xls,sheet1,K3:K200); Xdata=r

4、awX1 rawX2; Ydata=rawY1 rawY2; 训练和评估训练和评估 我们来使用我们来使用MATLAB自带的模式识别工具箱界自带的模式识别工具箱界面面(nprtool)来导入数据、调整参数等,然后得到来导入数据、调整参数等,然后得到结果。结果。 nprtool 训练和评估训练和评估 训练和评估训练和评估 训练和评估训练和评估 训练和评估训练和评估 训练和评估训练和评估 训练和评估训练和评估 预测预测反向传播网络反向传播网络(Back-Propagation Network,BP网网络络)是将是将W-H学习规则一般化,对非线性可微函数学习规则一般化,对非线性可微函数进行权值训练的多

5、层网络。进行权值训练的多层网络。BP网络用途:网络用途:1)函数逼近:函数逼近:用输入矢量和输出矢量训练网络逼近一用输入矢量和输出矢量训练网络逼近一个函数;个函数;2)模式识别:模式识别:用特定的输出矢量将它与输入矢量联系用特定的输出矢量将它与输入矢量联系起来;起来;3)分类:分类:把输入矢量以所定义的合适方式进行分类;把输入矢量以所定义的合适方式进行分类;4)数据压缩:数据压缩:减少输出矢量维数以便传输或存储。减少输出矢量维数以便传输或存储。实际应用中,实际应用中, 8090的人工神经网络模型是采的人工神经网络模型是采用用BP网络或它的变化形式网络或它的变化形式,是前向网络的核心部,是前向网

6、络的核心部分,体现了人工神经网络最精华的部分。分,体现了人工神经网络最精华的部分。4.1 误差反传算法 有隐层的有隐层的多层感知器多层感知器能提高网络的分类能能提高网络的分类能力,但力,但权值调整算法权值调整算法没有解决。没有解决。 19861986,RumelhartRumelhart和和McCellandMcCelland提出具有非提出具有非线性连续变换函数的多层感知器的线性连续变换函数的多层感知器的BPBP算法,算法,实现了多层感知器的设想。实现了多层感知器的设想。多层感知器多多层感知器多采用采用BPBP算法,所以,通常将其称为算法,所以,通常将其称为BPBP网络。网络。 首先学习基于首

7、先学习基于BPBP算法的多层感知器模型。算法的多层感知器模型。4.1.1 BP4.1.1 BP网络模型与结构网络模型与结构 应用最多的是具有应用最多的是具有单隐层的单隐层的BP网络网络。一个具有。一个具有r个个输入和一个隐含层的神经网络模型结构如图所示。输入和一个隐含层的神经网络模型结构如图所示。(Matlab Help中常见表示)中常见表示)BP 网络的另外一种表示网络的另外一种表示输入向量为:隐层输出向量为:输出层输出向量:期望输出向量:输入到隐层间权:隐层到输出间权:x0-1是为隐层神经元引入阈值而设置的;y0-1是为输出层神经元引入阈值而设置的;Vj为隐层第j个神经元对应的权向量;Wk

8、输出层第k个神经元对应的权向量Observed Deserved21-1ijkx0VijWjkyjOkDkx1x2-0.50.8-1-0.50.8V-0.3 0.2 0.5-0.5 0.1 0.20.8 -0.1 0.6-0.30.20.5W-0.1 0.3 0.6 -0.2 0.4 0.3 0.7 -0.2y01y-1y1y2y3yV X=-0.3 0.2 0.5-0.5 0.1 0.20.8 -0.1 0.6-1-0.50.80.60.160.22OW Y=-0.1 0.3 0.6 -0.2 0.4 0.3 0.7 -0.2-10.60.160.220.332-0.122 BP网络与前面介

9、绍过的模型除了是多层网络之外,网络与前面介绍过的模型除了是多层网络之外,其主要差别也表现在激活函数上。其主要差别也表现在激活函数上。(1)BP网络的网络的激活函数必须是处处可微的激活函数必须是处处可微的,所以,所以它就它就不能采用二值型的阈值函数不能采用二值型的阈值函数0,1或符号函数或符号函数-1,1, BP网络经常使用的是网络经常使用的是S型的对数或正切型的对数或正切激活函数激活函数和和线性函数线性函数。 xexf11)(xxeexf2211)(变换函数为S型激活函数(logsig)为:双极性(双曲正切)S型激活函数(tansig):f(x)连续可导,一阶导数为:f(x)=f(x)1-f(

10、x)导数 f(x)=1-f(x)2/2 对于多层网络,这种激活函数所划分的区域对于多层网络,这种激活函数所划分的区域不再是线性划分,而是不再是线性划分,而是由一个非线性的超平由一个非线性的超平面组成的区域面组成的区域。它是比较柔和、光滑的任意。它是比较柔和、光滑的任意界面,因而它的分界面,因而它的分类比线性划分精确、合理类比线性划分精确、合理,这种网络的这种网络的容错性容错性较好。较好。(2)另一重要特点:由于激活函数是连续可)另一重要特点:由于激活函数是连续可微的,它可以微的,它可以严格利用梯度法进行推算严格利用梯度法进行推算,它,它的权值修正的解析式十分明确,其算法被称的权值修正的解析式十

11、分明确,其算法被称为为误差反向传播法误差反向传播法,也简称,也简称BP算法算法。 (3)非线性放大系数功能:)非线性放大系数功能:S型函数可以把从负无型函数可以把从负无穷大到正无穷大的输入信号,变换成穷大到正无穷大的输入信号,变换成-1到到1之间输之间输出,出,对较大的输入信号,放大系数较小;而对较对较大的输入信号,放大系数较小;而对较小的输入信号,小的输入信号, 放大系数则较大,放大系数则较大,所以采用所以采用S型型激活函数可以去处理和逼近非线性的输入输出关激活函数可以去处理和逼近非线性的输入输出关系。系。 只有当希望只有当希望对网络的输出进行限制对网络的输出进行限制,如限制在,如限制在0和

12、和1之间,之间, 则输出层用则输出层用S型激活函数。型激活函数。 一般:一般:隐含层用隐含层用S型激活函数;型激活函数; 输出层用线性激输出层用线性激活函数活函数。nf S函数的非线性放大功能函数的非线性放大功能 BP算法的基本思想:算法的基本思想: 学习过程由信息的正向传递学习过程由信息的正向传递与与误差的反向传播两个误差的反向传播两个过程组成过程组成 (1)正向传递正向传递:输入样本从输入经隐含层逐层计算传输入样本从输入经隐含层逐层计算传向输出层,若输出层的实际输出和期望输出不符,向输出层,若输出层的实际输出和期望输出不符,则计算输出层的误差值,然后转向反向传播过程。则计算输出层的误差值,

13、然后转向反向传播过程。 (2)误差的反向传播:误差的反向传播:是是将输出误差以某种形式通过将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层所有隐层向输入层逐层反传,并将误差分摊给各层所有单元,从而获得各层单元的误差信号单元,从而获得各层单元的误差信号,此误差做为,此误差做为修正该单元的依据。修正该单元的依据。 信号正向传递和误差反向传播反复进行,权值不信号正向传递和误差反向传播反复进行,权值不断得到调整的过程,就是网络的学习断得到调整的过程,就是网络的学习/训练过程。当训练过程。当训练训练达到规定误差达到规定误差或或一定训练次数一定训练次数,则结束训练。,则结束训练。4.1.2

14、 BP4.1.2 BP学习算法学习算法 以三层以三层BP网络为例介绍网络为例介绍BP学习算法,可推广到学习算法,可推广到多层情况。多层情况。 1网络误差与权值调整网络误差与权值调整当网络输出与期望输出不等时,存在输出误差当网络输出与期望输出不等时,存在输出误差E:222211 由上式,由上式,网络输入误差是各层权值网络输入误差是各层权值wjk、vij的函数的函数,因此因此调整权值可改变误差调整权值可改变误差E。 显然,调整权值的原则是使误差不断地减小,因此显然,调整权值的原则是使误差不断地减小,因此应使应使权值的调整量与误差的梯度下降成正比权值的调整量与误差的梯度下降成正比,即,即 式中负号表

15、示梯度下降,常数式中负号表示梯度下降,常数(0,1)学习)学习速率。速率。 BP算法属于算法属于学习规则类,这类算法常被称为学习规则类,这类算法常被称为误差误差的梯度下降的梯度下降(Gradient Descent)算法。算法。2 2、算法推导、算法推导3层BP网络权值具体调整公式推导。输出层:j=0,1,.m , k=1,2,.l;隐含层:i=0,1,2,.n, j=1,2.,m;ijkxiVijWjkyjOkDk 对输出层: 对隐含层: 对输出、隐层定义一个误差信号:可将权值W调整式改写为可将权值V调整式改写为 、 推导:对于输出层, 可展开为mjjjkkywnet0niiijjxwnet

16、0Ok对于隐含层, 可展开为网络误差对各层输出的偏导:对于输出层,可得对于隐层,利用右式得则:三层感知器的BP学习算法权值调整计算公式为若有h个隐层,按顺序各隐层节点数分别记为m1,m2,.mh,各隐层输出分别记为y1,y2,yh,各层权值矩阵分别记为w1,w2,,w,则各层权值调整计算公式为输出层第h隐层则第一层权值调整可见,BP学习算法中,各层权值调整公式权值调整公式形式上都是一样的,均由3个因素决定: 学习率 本层输出的误差信号 本层输入信号y(或x)其中输出层误差信号同网络的期望输出与实际输出输出层误差信号同网络的期望输出与实际输出之差有关之差有关,直接反映了输出误差,各隐层的误差信号

17、与前面各层的误差信号都有关各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。 BPBP算法的程序实现算法的程序实现前面导出的算法是标准前面导出的算法是标准BP算法。软件编程实现标准算法。软件编程实现标准BP算法编程的步骤。算法编程的步骤。 (1)初始化初始化 对权值矩阵对权值矩阵W、V赋随机数,将样本模式计数器赋随机数,将样本模式计数器p和训练次数计数器和训练次数计数器q置为置为1,误差,误差E置置0,学习率,学习率设为设为01内的小数,网络训练后达到的精度内的小数,网络训练后达到的精度Emin设为一个正的小数。设为一个正的小数。 (2)输入训练样本对,计算各层输出输入

18、训练样本对,计算各层输出 用当前样本用当前样本Xp、dp为向量数组为向量数组X、D赋值,计算赋值,计算y和和O中各分量。中各分量。 (3)计算网络输出误差计算网络输出误差 设共有设共有P对训练样本,网络对于不同的样本具有对训练样本,网络对于不同的样本具有不同的误差不同的误差Ep可将全部样本输出误差的平方可将全部样本输出误差的平方(EP)2进行累加再开方,作为总输出误差,也可用诸误进行累加再开方,作为总输出误差,也可用诸误差中的最大者差中的最大者Emax代表网络的总输出误差,实用代表网络的总输出误差,实用中更多采用均方根误差作为网络的总误差。中更多采用均方根误差作为网络的总误差。PppRMEEpE12)(1 (4)计算各层误差信号计算各层误差信号计算计算 和和 。 (5)调整各层权值调整各层权值:计算计算W、V中各分量。中各分量。 (6)检查是否对所有样本完成一次轮训检查是否对所有样本完成一次轮训 若若pP,计数器,计数器p、q增增1,返回步骤,返回步骤(2),否则转步骤否则转步骤(7)。 (7)检查网络总误差是否达到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论