BP神经网络设计课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《BP神经网络设计课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 设计 课件
- 资源描述:
-
1、主主 讲:周润景讲:周润景 教授教授单单 位:电子信息工程学院位:电子信息工程学院基于基于BP网络数据网络数据分类设计分类设计目目 录录 前馈神经网络简介前馈神经网络简介BP网络简介网络简介BP神经网络的工作原理神经网络的工作原理BP网络的特点网络的特点BP网络的建立及网络的建立及执行执行BP网络应用于模式分类网络应用于模式分类BP网络的其他学习算法的网络的其他学习算法的应用应用结论结论 一一.前馈神经网络简介前馈神经网络简介对于很多应用,一个确定的网络计算与确定的时间行为一样重要对于很多应用,一个确定的网络计算与确定的时间行为一样重要。网络架构允许中间单元的循环结构计算依靠神经元内部激活的输
2、出。网络架构允许中间单元的循环结构计算依靠神经元内部激活的输出值。即使输入不变化,输出也可能不同,直到网络内的计算达到稳定值。即使输入不变化,输出也可能不同,直到网络内的计算达到稳定状态,单元之间不仅有单方向连接的网络,而且有反方向的网络,这状态,单元之间不仅有单方向连接的网络,而且有反方向的网络,这些相反方向的网络称为前馈网络些相反方向的网络称为前馈网络。一一.前馈神经网络简介前馈神经网络简介前馈神经网络包括感知器网络和前馈神经网络包括感知器网络和BPBP神经网络。神经网络。p感知感知器网络是最简单的前馈网络,主要用于模式分类,也可用在器网络是最简单的前馈网络,主要用于模式分类,也可用在基于
3、模式分类的学习控制和多模态控制中。感知器网络中神经元基于模式分类的学习控制和多模态控制中。感知器网络中神经元的变换函数采用的是符号函数,即输出为二值量的变换函数采用的是符号函数,即输出为二值量1 1或或1 1,它主要,它主要用于模式分类用于模式分类。pBPBP神经网络的神经元神经网络的神经元变换函数采用变换函数采用S S形函数时,系统的输出量将为形函数时,系统的输出量将为0 01 1之间的连续量,它可实现从输入到输出的任意之间的连续量,它可实现从输入到输出的任意非线性映。非线性映。二二.BP神经网络简介神经网络简介BPBP神经网络即反向传播网络,这是由于该算法连接神经网络即反向传播网络,这是由
4、于该算法连接权的调整采用权的调整采用的是反向传播(的是反向传播(Back PropagationBack Propagation)。)。在人工神经网络的实际应用中在人工神经网络的实际应用中,BPBP网络广泛应用于函数逼近、模式识别网络广泛应用于函数逼近、模式识别/ /分类、数据压缩等,分类、数据压缩等,80%90%80%90%的人工神经网络模型是采用的人工神经网络模型是采用BPBP网络或它的变化形式,它也是网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络最精华的部分。前馈网络的核心部分,体现了人工神经网络最精华的部分。 三三.BP神经网络的工作原理神经网络的工作原理三三.BP神
5、经网络的工作原理神经网络的工作原理BP神经元与其他神经元类似,不同的是神经元与其他神经元类似,不同的是BP神经元的传输函数为非神经元的传输函数为非线性函数,最常用的函数是线性函数,最常用的函数是 和和 函数,有的输出层也采用函数,有的输出层也采用线性函数(线性函数( )。其输出为)。其输出为BP网络一般为多层神经网络。由网络一般为多层神经网络。由BP神经网络构成的二层网络如图神经网络构成的二层网络如图1.2所示。所示。 logsigtansigpurelinlog()asigWp b三三.BP神经网络的工作原理神经网络的工作原理三三.BP神经网络的工作原理神经网络的工作原理 BP网络的信息从输
6、入层流向输出层,因此是一种多层前馈神经网络的信息从输入层流向输出层,因此是一种多层前馈神经网络。网络。 如果多层如果多层BP网络的输出层采用网络的输出层采用S形传输函数(如形传输函数(如 ),其输),其输出值将会限制在一个较小的范围内(出值将会限制在一个较小的范围内(0,1);而采用线性传输函数);而采用线性传输函数则可以取任意值。则可以取任意值。 在在确定了确定了BP网络的结构后,要通过输入网络的结构后,要通过输入和输出和输出样本集对网络进样本集对网络进行训练,以及对行训练,以及对网络的网络的阈值和权值进行学习和修正,以使阈值和权值进行学习和修正,以使网络实现网络实现给定的输入输出映射关系。
7、给定的输入输出映射关系。logsig三三.BP神经网络的工作原理神经网络的工作原理BP网络的学习过程包含网络的学习过程包含两个过程,即正向传播和反向传播。两个过程,即正向传播和反向传播。(1)正向传播。输入已知学习样本,通过设置的网络结构和前一次)正向传播。输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元输出。迭代的权值和阈值,从网络的第一层向后计算各神经元输出。(2)反向传播:反向传播时,对权值和阈值进行修改:从最后一层)反向传播:反向传播时,对权值和阈值进行修改:从最后一层向前计算各权值和阈值对总误差的影响(梯度)向前计算各权值和阈值对总误差的影
8、响(梯度),据此对各权值和阈据此对各权值和阈值进行修改值进行修改。以上两个过程反复交替,直到达到收敛为止以上两个过程反复交替,直到达到收敛为止三三.BP神经网络的工作原理神经网络的工作原理由于误差逐层往回传递,以修正层与层间的权由于误差逐层往回传递,以修正层与层间的权值和值和阈值,所以阈值,所以称该算法为误差反向传播(称该算法为误差反向传播(back propagation)算法,这种误差反)算法,这种误差反传学习算法传学习算法可以推广可以推广到有若干个中间层的多层网络,因此该多到有若干个中间层的多层网络,因此该多层网层网络络常称之为常称之为BP网络。标准的网络。标准的BP算法,其权值算法,其
9、权值的修正的修正是沿着误差性是沿着误差性能函数梯度的反方向进行的。能函数梯度的反方向进行的。四四.BP网络的特点网络的特点1.BP网络具有以下主要优点:网络具有以下主要优点: 只有只有有足够多的隐含层结点和隐含层,有足够多的隐含层结点和隐含层,BP网络可以逼近任意的非网络可以逼近任意的非线性映射关系线性映射关系 BP网络的学习算法属于局部逼近的方法,因此它具有较好的泛化网络的学习算法属于局部逼近的方法,因此它具有较好的泛化能力能力2.BP网络的主要缺点如下:网络的主要缺点如下: 收敛速度慢收敛速度慢 容易容易陷入局部极值点陷入局部极值点 难以难以确定隐含层和隐含层结点的个数确定隐含层和隐含层结
10、点的个数五五. BP网络的建立及执行网络的建立及执行1建立建立BP网络网络首先需要选择网络的层数和每层的结点数首先需要选择网络的层数和每层的结点数。l 网络网络输入层和输出层的结点个数与输入变量个数及输出变量个数对应输入层和输出层的结点个数与输入变量个数及输出变量个数对应。l 隐含层隐含层结点的选择应遵循以下原则结点的选择应遵循以下原则:尽量:尽量选取较少的隐含层结点选取较少的隐含层结点,使,使网络尽量简单。一种方法是先设置较少结点,对网络进行训练,并测网络尽量简单。一种方法是先设置较少结点,对网络进行训练,并测试网络的逼近能力,然后逐渐增加结点数,直到测试的误差不再有明试网络的逼近能力,然后
11、逐渐增加结点数,直到测试的误差不再有明显的较小为止;另一种方法是先设置较多的结点显的较小为止;另一种方法是先设置较多的结点,再对,再对网络进行网络进行训练,训练,从而从而得到一个适合规模的得到一个适合规模的网络结构。网络结构。一般采用单隐层的一般采用单隐层的BP网络就可以实现较好的训练效果。网络就可以实现较好的训练效果。五五. BP网络的建立及执行网络的建立及执行2确定网络的初始权确定网络的初始权值值BP网络的各层初始权值一般选取一组较小的非零随机数。为了避免出现局部网络的各层初始权值一般选取一组较小的非零随机数。为了避免出现局部极值问题,可选取多组初始权值,最后选用最好的一种极值问题,可选取
12、多组初始权值,最后选用最好的一种。3产生产生训练样本训练样本建立建立样本数据之前,首先要收集大量的原始数据,并在大量的原始数据中确样本数据之前,首先要收集大量的原始数据,并在大量的原始数据中确定出最主要的输入模式,分析数据的相关性,选择其中最主要的输入模式,并确定出最主要的输入模式,分析数据的相关性,选择其中最主要的输入模式,并确保所选择的输入模式互不相同保所选择的输入模式互不相同。在在确定了最重要的输入模式后,需要进行尺度变换和预处理。使得经变换后确定了最重要的输入模式后,需要进行尺度变换和预处理。使得经变换后的数据对神经网络更容易学习和的数据对神经网络更容易学习和训练。训练。确定样本大小,
13、样本大小取决于确定样本大小,样本大小取决于许多因素,如网络的大小、网络测试的需要许多因素,如网络的大小、网络测试的需要和输入和输入/输出的分布等。其中,网络的大小是最关键的因素。通常较大的网络需要输出的分布等。其中,网络的大小是最关键的因素。通常较大的网络需要较多的训练数据。经验规则:训练模式应是连接权总数的较多的训练数据。经验规则:训练模式应是连接权总数的35倍。倍。五五. BP网络的建立及执行网络的建立及执行4训练训练网络网络 通常通常训练一个网络需要训练一个网络需要多次,但并非多次,但并非训练的次数越多,越能得到正确的输入训练的次数越多,越能得到正确的输入/输出的映射关系输出的映射关系。
14、由于。由于所收集的数据都是包含噪声的,训练的次数过多,网络将所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录包含噪声的数据都记录下来。下来。5测试测试网络网络 在在测试时需要保持连接权系数不改变测试时需要保持连接权系数不改变,用确定的数据,用确定的数据作为网络的输入,正向运作为网络的输入,正向运行该网络,检验输出的均方误差行该网络,检验输出的均方误差。6判断判断网络网络 在在实际确定实际确定BP网络时,通常应将训练和测试交替进行,即每训练一次,同时网络时,通常应将训练和测试交替进行,即每训练一次,同时用测试数据测试一遍网络,画出均方误差随训练次数的变化用测试数据测试一遍网
15、络,画出均方误差随训练次数的变化曲线。曲线。六六. BP网络应用于模式分类网络应用于模式分类 1.网络创建及重要代码介绍网络创建及重要代码介绍(1)网络的构建:)网络的构建:首先需要构造一个网络构架,函数首先需要构造一个网络构架,函数newff()就是构建神经网的就是构建神经网的。 下面具体下面具体介绍介绍参数参数的选择。的选择。 网络层数网络层数:选用:选用两层两层BP网络即可。网络即可。 输入层节点数输入层节点数m:其:其节点数取决于矢量的维数。节点数取决于矢量的维数。 输出层节点数输出层节点数n:输出层的节点数取决于两个方面,输出数据类型和表示该类型:输出层的节点数取决于两个方面,输出数
16、据类型和表示该类型所需数据大小。当所需数据大小。当BP网络用于模式分类时,则输出层的节点数可根据待分类模网络用于模式分类时,则输出层的节点数可根据待分类模式数来确定。式数来确定。 隐含层结点数隐含层结点数:对于:对于用于模式识别用于模式识别/分类的分类的BP网络网络,隐隐层节点数可以层节点数可以参照以下参照以下公式进行设计:公式进行设计: 其中其中,m为输入层结点数;为输入层结点数;n为输出层结点数;为输出层结点数;a为为110之间的常数之间的常数。amnS1六六. BP网络应用于模式分类网络应用于模式分类 传输传输函数:函数:BP网络中的传输函数通常采用网络中的传输函数通常采用S( )形)形
17、函数,在函数,在某些特定情某些特定情况下还可能采用纯线性况下还可能采用纯线性( )函数。)函数。 训练函数:训练函数:BP神经网络的训练函数有神经网络的训练函数有 等等,每种训练函数,每种训练函数各有特点,但是没有一种函数能适应所有情况下的训练过程。代码如下:各有特点,但是没有一种函数能适应所有情况下的训练过程。代码如下:l net=newff(minmax(p),12,4,tansig,logsig,trainlm);(2)网络的初始化)网络的初始化:网络的输入向量:网络的输入向量: 。网络的目标向量网络的目标向量: 。网络初始化程序:网络初始化程序:net=init(net)。sigmoi
18、dpurelinetraindxtraindmtraingd,),.,(21nkaaap ),.,(21qkyyyt 六六. BP网络应用于模式分类网络应用于模式分类 (3)训练参数训练参数初始化:初始化:代码代码如下:如下:lmax_epoch=x; %最大训练次数xlerr_goal=E ; %期望误差(4)网络训练)网络训练:lnet=train(net,p,t);(5)网络仿真)网络仿真:ly=sim(net,p_test);(6)结果对比:)结果对比:六六. BP网络应用于模式分类网络应用于模式分类 2.完整代码完整代码本例采用本例采用BP网络对酒瓶颜色进行分类。网络对酒瓶颜色进行分
19、类。其中,前其中,前29组数据已确定类别,后组数据已确定类别,后30组数据待确定类别。组数据待确定类别。BP网络的输入和输出层的神经元数目由输入和输出向量的维数确定。输入向网络的输入和输出层的神经元数目由输入和输出向量的维数确定。输入向量由量由A、B、C这三列决定,所以输入层的神经元数目为这三列决定,所以输入层的神经元数目为3;输出结果有;输出结果有4种模式,种模式,1、2、3、4代表代表4种输出,因此输出层的神经元个数为种输出,因此输出层的神经元个数为4。模式识别程序如下:。模式识别程序如下:l %构建训练样本中的输入向量pl p=1739.94 373.3 1756.77 864.45 2
20、22.85 877.88 1803.58 2352.12 401.3 363.34 1571.17 104.8 499.85 2297.28 2092.62 1418.79 1845.59 2205.36 2949.16 1692.62 1680.67 2802.88 172.78 2063.54 1449.58 1651.52 341.59 291.02 237.63;1675.15 3087.05 1652 1647.31 3059.54 2031.66 1583.12 2557.04 3259.94 3477.95 1731.04 3389.83 3305.75 3340.14 3177
21、.21 1775.89 1918.81 3243.74 3244.44 1867.5 1575.78 3017.11 3084.49 3199.76 1641.58 1713.28 3076.62 3095.68 3077.78;2395.96 2429.47 1514.98 2665.9 2002.33 3071.18 2163.05 1411.53 2150.98 2462.86 1735.33 2421.83 2196.22 535.62 584.32 2772.9 2226.49 1202.69 662.42 2108.97 1725.1 1984.98 2328.65 1257.21
22、 3405.12 1570.38 2438.63 2088.95 2251.96;六六. BP网络应用于模式分类网络应用于模式分类 l %构建训练样本中的目标向量tl t=0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1;l 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0;l 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0;l 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0
23、0 0 0 0 0 0 0 1 0 0 0 0;l %创建一个BP网络,隐含层有12个神经元,传递函数为tansigl %中间层有4个神经元,传递函数为logsig,训练函数为trainlml net=newff(minmax(p),12,4,tansig,logsig,trainlm);l %训练次数 默认为100l net.trainParam.epochs=500;l %训练的目标 默认为0l net.trainParam.goal=0.01;l %神经网络训练l net=train(net,p,t);l %测试样本进行分类l p_test=1702.8 1877.93 867.81 1
24、831.49 460.69 2374.98 2271.89 1783.64 198.83 1494.63 1597.03 1598.93 1243.13 2336.31 354 2144.47 426.31 1507.13 343.07 2201.94 2232.43 1580.1 1962.4 1495.18 1125.17 24.22 1269.07 1802.07 1817.36 1860.45;六六. BP网络应用于模式分类网络应用于模式分类 l 1639.79 1860.96 2334.68 1713.11 3274.77 3346.98 3482.97 1597.99 3250.4
25、5 2072.59 1921.52 1921.08 1814.07 2640.26 3300.12 2501.62 3105.29 1556.89 3271.72 3196.22 3077.87 1752.07 1594.97 1957.44 1594.39 3447.31 1910.72 1725.81 1927.4 1782.88; 2068.74 1975.3 2535.1 1604.68 2172.99 975.31 946.7 2261.31 2445.08 2550.51 2126.76 1623.33 3441.07 1599.63 2373.61 591.51 2057.8 1
展开阅读全文