BP神经网络设计课件.pptx
《BP神经网络设计课件.pptx》由会员分享,可在线阅读,更多相关《BP神经网络设计课件.pptx(44页珍藏版)》请在三一办公上搜索。
1、主 讲:周润景 教授单 位:电子信息工程学院,基于BP网络数据分类设计,目 录,前馈神经网络简介BP网络简介BP神经网络的工作原理BP网络的特点BP网络的建立及执行BP网络应用于模式分类BP网络的其他学习算法的应用结论,一.前馈神经网络简介,对于很多应用,一个确定的网络计算与确定的时间行为一样重要。网络架构允许中间单元的循环结构计算依靠神经元内部激活的输出值。即使输入不变化,输出也可能不同,直到网络内的计算达到稳定状态,单元之间不仅有单方向连接的网络,而且有反方向的网络,这些相反方向的网络称为前馈网络。,一.前馈神经网络简介,前馈神经网络包括感知器网络和BP神经网络。感知器网络是最简单的前馈网
2、络,主要用于模式分类,也可用在基于模式分类的学习控制和多模态控制中。感知器网络中神经元的变换函数采用的是符号函数,即输出为二值量1或1,它主要用于模式分类。BP神经网络的神经元变换函数采用S形函数时,系统的输出量将为01之间的连续量,它可实现从输入到输出的任意非线性映。,二.BP神经网络简介,BP神经网络即反向传播网络,这是由于该算法连接权的调整采用的是反向传播(Back Propagation)。在人工神经网络的实际应用中,BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,80%90%的人工神经网络模型是采用BP网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络最精华的部
3、分。,三.BP神经网络的工作原理,三.BP神经网络的工作原理,BP神经元与其他神经元类似,不同的是BP神经元的传输函数为非线性函数,最常用的函数是 和 函数,有的输出层也采用线性函数( )。其输出为BP网络一般为多层神经网络。由BP神经网络构成的二层网络如图1.2所示。,三.BP神经网络的工作原理,三.BP神经网络的工作原理,BP网络的信息从输入层流向输出层,因此是一种多层前馈神经网络。 如果多层BP网络的输出层采用S形传输函数(如 ),其输出值将会限制在一个较小的范围内(0,1);而采用线性传输函数则可以取任意值。 在确定了BP网络的结构后,要通过输入和输出样本集对网络进行训练,以及对网络的
4、阈值和权值进行学习和修正,以使网络实现给定的输入输出映射关系。,三.BP神经网络的工作原理,BP网络的学习过程包含两个过程,即正向传播和反向传播。(1)正向传播。输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元输出。(2)反向传播:反向传播时,对权值和阈值进行修改:从最后一层向前计算各权值和阈值对总误差的影响(梯度),据此对各权值和阈值进行修改。以上两个过程反复交替,直到达到收敛为止,三.BP神经网络的工作原理,由于误差逐层往回传递,以修正层与层间的权值和阈值,所以称该算法为误差反向传播(back propagation)算法,这种误差反传学习算法可
5、以推广到有若干个中间层的多层网络,因此该多层网络常称之为BP网络。标准的BP算法,其权值的修正是沿着误差性能函数梯度的反方向进行的。,四.BP网络的特点,1.BP网络具有以下主要优点:只有有足够多的隐含层结点和隐含层,BP网络可以逼近任意的非线性映射关系BP网络的学习算法属于局部逼近的方法,因此它具有较好的泛化能力2.BP网络的主要缺点如下:收敛速度慢容易陷入局部极值点难以确定隐含层和隐含层结点的个数,五. BP网络的建立及执行,1建立BP网络首先需要选择网络的层数和每层的结点数。网络输入层和输出层的结点个数与输入变量个数及输出变量个数对应。隐含层结点的选择应遵循以下原则:尽量选取较少的隐含层
6、结点,使网络尽量简单。一种方法是先设置较少结点,对网络进行训练,并测试网络的逼近能力,然后逐渐增加结点数,直到测试的误差不再有明显的较小为止;另一种方法是先设置较多的结点,再对网络进行训练,从而得到一个适合规模的网络结构。一般采用单隐层的BP网络就可以实现较好的训练效果。,五. BP网络的建立及执行,2确定网络的初始权值BP网络的各层初始权值一般选取一组较小的非零随机数。为了避免出现局部极值问题,可选取多组初始权值,最后选用最好的一种。3产生训练样本建立样本数据之前,首先要收集大量的原始数据,并在大量的原始数据中确定出最主要的输入模式,分析数据的相关性,选择其中最主要的输入模式,并确保所选择的
7、输入模式互不相同。在确定了最重要的输入模式后,需要进行尺度变换和预处理。使得经变换后的数据对神经网络更容易学习和训练。确定样本大小,样本大小取决于许多因素,如网络的大小、网络测试的需要和输入/输出的分布等。其中,网络的大小是最关键的因素。通常较大的网络需要较多的训练数据。经验规则:训练模式应是连接权总数的35倍。,五. BP网络的建立及执行,4训练网络 通常训练一个网络需要多次,但并非训练的次数越多,越能得到正确的输入/输出的映射关系。由于所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录下来。5测试网络 在测试时需要保持连接权系数不改变,用确定的数据作为网络的输入,正向运
8、行该网络,检验输出的均方误差。6判断网络 在实际确定BP网络时,通常应将训练和测试交替进行,即每训练一次,同时用测试数据测试一遍网络,画出均方误差随训练次数的变化曲线。,六. BP网络应用于模式分类,1.网络创建及重要代码介绍(1)网络的构建:首先需要构造一个网络构架,函数newff()就是构建神经网的。 下面具体介绍参数的选择。网络层数:选用两层BP网络即可。 输入层节点数m:其节点数取决于矢量的维数。输出层节点数n:输出层的节点数取决于两个方面,输出数据类型和表示该类型所需数据大小。当BP网络用于模式分类时,则输出层的节点数可根据待分类模式数来确定。隐含层结点数:对于用于模式识别/分类的B
9、P网络,隐层节点数可以参照以下公式进行设计: 其中,m为输入层结点数;n为输出层结点数;a为110之间的常数。,六. BP网络应用于模式分类,传输函数:BP网络中的传输函数通常采用S( )形函数,在某些特定情况下还可能采用纯线性( )函数。训练函数:BP神经网络的训练函数有 等,每种训练函数各有特点,但是没有一种函数能适应所有情况下的训练过程。代码如下:net=newff(minmax(p),12,4,tansig,logsig,trainlm);(2)网络的初始化:网络的输入向量: 。网络的目标向量: 。网络初始化程序:net=init(net)。,六. BP网络应用于模式分类,(3)训练参
10、数初始化:代码如下:max_epoch=x; %最大训练次数xerr_goal=E ; %期望误差(4)网络训练:net=train(net,p,t);(5)网络仿真:y=sim(net,p_test);(6)结果对比:,六. BP网络应用于模式分类,2.完整代码本例采用BP网络对酒瓶颜色进行分类。其中,前29组数据已确定类别,后30组数据待确定类别。BP网络的输入和输出层的神经元数目由输入和输出向量的维数确定。输入向量由A、B、C这三列决定,所以输入层的神经元数目为3;输出结果有4种模式,1、2、3、4代表4种输出,因此输出层的神经元个数为4。模式识别程序如下:%构建训练样本中的输入向量pp
11、=1739.94 373.3 1756.77 864.45 222.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.
12、04 3389.83 3305.75 3340.14 3177.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
13、 1725.1 1984.98 2328.65 1257.21 3405.12 1570.38 2438.63 2088.95 2251.96;,六. BP网络应用于模式分类,%构建训练样本中的目标向量tt=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; 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; 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; 0 0 0 1 0 1 0 0 0 0
14、 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0;%创建一个BP网络,隐含层有12个神经元,传递函数为tansig%中间层有4个神经元,传递函数为logsig,训练函数为trainlmnet=newff(minmax(p),12,4,tansig,logsig,trainlm);%训练次数 默认为100net.trainParam.epochs=500;%训练的目标 默认为0net.trainParam.goal=0.01;%神经网络训练 net=train(net,p,t);%测试样本进行分类 p_test=1702.8 1877.93 867.81 1831.4
15、9 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网络应用于模式分类,1639.79 1860.96 2334.68 1713.11 3274.77 3346.98 3482.97 1597.99 3250.45 2072.59 1921.5
16、2 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 1954.51 2036.94 9
17、35.53 1298.87 2463.04 1835.95 3498.02 2937.73 2145.01 2701.97 1966.35 2328.79 1875.83; y=sim(net,p_test); 运行上述程序代码后,可以得到网络的训练结果:TRAINLM-calcjx, Epoch 0/500, MSE 0.303441/0.01, Gradient 173.123/1e-010TRAINLM-calcjx, Epoch 25/500, MSE 0.0862919/0.01, Gradient 0.0209707/1e-010TRAINLM-calcjx, Epoch460/5
18、00, MSE 0.00159/0.01, Gradient 0.226/1e-07TRAINLM, Performance goal met.,六. BP网络应用于模式分类,如图1为神经网络训练模块,在这里可以查看训练结果、训练状态等。可见网络经过460次训练后即可达到误差要求,结果如图2所示。从图中可以看出网络具有非常好的学习性能,网络输出与目标输出的误差已经达到了预先的要求。,图1 神经网络训练图,图2 训练曲线图,六. BP网络应用于模式分类,对预测样本值的仿真输出结果如下:y = 1 至 18 列0.0144 0.0144 0.4828 0.0144 0.9788 0.0353 0.
19、0353 0.0144 0.9788 0.0877 0.0144 0.0239 0.0525 0.0353 0.9788 0.0353 0.9788 0.0144 0.9857 0.9857 0.3637 0.9857 0.0187 0.0300 0.0300 0.9857 0.0187 0.9528 0.9857 0.8961 0.1056 0.0300 0.0187 0.0300 0.0187 0.9857 0.0057 0.0057 0.0020 0.0057 0.0221 0.9693 0.9693 0.0057 0.0221 0.0006 0.0057 0.0822 0.0001 0
20、.9693 0.0221 0.9693 0.0221 0.0057 0.0264 0.0264 0.0233 0.0264 0.0565 0.0050 0.0050 0.0264 0.0565 0.0453 0.0264 0.0099 0.8830 0.0050 0 .0565 0.0050 0.0565 0.0264 19 至 30 列0.9787 0.0353 0.0353 0.0144 0.0144 0.0525 0.0525 0.9788 0.0568 0.0144 0.0144 0.0144 0.0187 0.0300 0.0300 0.9857 0.9857 0.1056 0.10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 设计 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1480060.html