BP神经网络设计课件.pptx

上传人:小飞机 文档编号:1480060 上传时间:2022-11-30 格式:PPTX 页数:44 大小:1MB
返回 下载 相关 举报
BP神经网络设计课件.pptx_第1页
第1页 / 共44页
BP神经网络设计课件.pptx_第2页
第2页 / 共44页
BP神经网络设计课件.pptx_第3页
第3页 / 共44页
BP神经网络设计课件.pptx_第4页
第4页 / 共44页
BP神经网络设计课件.pptx_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《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

21、56 0.0187 0.1208 0.9857 0.9857 0.98570.0221 0.9693 0.9693 0.0057 0.0057 0.0001 0.0001 0.0221 0.0001 0.0057 0.0057 0.0057 0.0565 0.0050 0.0050 0.0264 0.0264 0.8830 0.8830 0.0565 0.8643 0.0264 0.0264 0.0264,七. BP网络的其他学习算法的应用,在应用其他学习方法训练BP网络之前,先将样本数据(bp_train_sample_data.dat)、目标数据(bp_train_target_data.

22、dat)及待分类数据(bp_simulate_data.dat)存放到数据文件,各文件内容及格式如图所示。,1.采用梯度法进行学习前向神经网络BP算法采用最速下降寻优算法,即梯度法。假设有N对学习样本,采取批处理学习方法,目标函数:其中 、 分别为第K对样本的期望输出和实际输出向量。E反映网络输出与样本的总体误差。学习过程就是通过修改各神经元之间的权值,使得目标函数E的值最小,权值按下列公式修正:其中,为学习速率。,七. BP网络的其他学习算法的应用,七. BP网络的其他学习算法的应用,应用traingd函数训练,应调整全值和阈值沿着表现函数的负梯度方向,如果应用梯度下降法训练函数,需要在训练

23、之前将网络构成函数的相应参数trainFcn设置为traingd。与函数traingd有关的训练参数有:epochs、goal、lr、max_fail、min_grad、show、time,如果不设置就表示应用内定缺省值。net.trainParam.epochs 最大训练次数(缺省为10)net.trainParam.goal 训练要求精度(缺省为0)net.trainParam.lr 学习率(缺省为0.01)net.trainParam.max_fail 最大失败次数(缺省为5)net.trainParam.min_grad 最小梯度要求(缺省为1e-10)net.trainParam.s

24、how 显示训练迭代过程(NaN表示不显示,缺省为25)net.trainParam.time 最大训练时间(缺省为inf) 训练过程中,只要满足下面四个条件之一,训练就会停止:超过最大迭代次数epochs。表现函数值小于误差指标goal。梯度值小于要求精度mingrad。训练所用时间超过时间限制time。最大失败次数超过次数限制max_fail.,七. BP网络的其他学习算法的应用,完整程序代码:function f=bpfun()%Neural Network%build train and simulate %bpfun.m%输入矩阵的范围(数据源)P=20 3000;1400 3500

25、;500 3500;%创建网络net=newff(P,12 4 1,tansig tansig purelin,traingd);%初始化神经网络net=init(net);%设置训练的参数%停止方式按键 %pause;%两次显示之间的训练步数默认为25net.trainParam.show=50;%lr不能选择太大,太大了会造成算法不收敛,太小了会使训练时间太长%一般选择0.010.1之间,七. BP网络的其他学习算法的应用,%训练速度net.trainParam.lr=0.05;%训练次数 默认为100net.trainParam.epochs=3000;%训练时间 默认为inf,表示训练

26、时间不限net.trainParam.time=6000;%训练的目标 默认为0net.trainParam.goal=0.001;%建立源数据的矩阵SourceDataConvert=importdata(bp_train_sample_data.dat);SourceData=SourceDataConvertTargetConvert=importdata(bp_train_target_data.dat);Target=TargetConvert%神经网络训练net=train(net,SourceData,Target)%显示训练后的各层权重mat1=cell2mat(net.IW(

27、1,1),七. BP网络的其他学习算法的应用,mat2=cell2mat(net.LW(2,1)mat3=cell2mat(net.LW(3,2)%读取仿真文件数据simulate_data_convert=importdata(bp_simulate_data.dat);simulate_data=simulate_data_convert;result=sim(net,simulate_data) 多次运行上述程序,可以得到满足误差要求的网络的训练结果:T TRAINLM-calcjx, Epoch 0/3000, Time 0.0%, MSE 14.4178/0.001, Gradien

28、t 10741.9/1e-010TRAINLM-calcjx, Epoch 40/3000, Time 0.0%, MSE 0.000438/0.001, Gradient 0.196/1e-07TRAINLM, Performance goal met,七. BP网络的其他学习算法的应用,如图3为神经网络训练模块,在这里可以查看训练结果、训练状态等。训练后即可达到误差要求,结果如图4所示。,图3 神经网络训练模块,图4 训练曲线图,七. BP网络的其他学习算法的应用,对预测样本值的仿真输出结果如下:result =1 至 9 列3.0016 0.9969 3.0011 3.9847 1.94

29、60 1.9460 3.0016 3.987310 至 18 列0.9973 3.0016 2.9982 0.9969 2.0245 3.9873 1.9460 3.9850 3.001619 至 27 列3.8844 1.9460 2.0245 2.5884 3.0016 0.9969 0.9969 3.9816 0.996928 至 30 列3.0016 3.0016 3.0016 3.0015,七. BP网络的其他学习算法的应用,2采用带动量最速下降法进行学习带动量最速下降法在非二次型较强的区域能使目标函数收敛较快。BP算法的最速下降方向即目标函数E在权值空间上的负梯度方向,在无约束优化

30、目标函数E时,相邻的两个搜索方向正交。因此,当权值接近于极值区域时,每次迭代移动的步长很小,呈现出“锯齿”现象,严重影响了收敛速率,有时甚至不能收敛而在局部极值区域振荡。为此,提出了各种加速学习速率的优化算法,其中加动量项的算法为当前广为应用的方法,其权值修正公式:为动量系数。,七. BP网络的其他学习算法的应用,完整程序代码:,function f=bpfun()%Neural Network%build train and simulate %bpfun.m%输入矩阵的范围(数据源)P=20 3000;1400 3500;500 3500;%创建网络net=newff(P,12 4 1,t

31、ansig tansig purelin,traingdx);%初始化神经网络net=init(net);%设置训练的参数%停止方式按键 %pause;%两次显示之间的训练步数默认为25net.trainParam.show=50;%lr不能选择太大,太大了会造成算法不收敛,太小了会使训练时间太长,七. BP网络的其他学习算法的应用,%一般选择0.010.1之间%训练速度net.trainParam.lr=0.05;%速度增长系数net.trainParam.lr_inc=1.2;%速度下调系数net.trainParam.lr_dec=0.8;%添加动量因子net.trainParam.mc

32、=0.9;%训练次数 默认为100net.trainParam.epochs=3000;%训练时间 默认为inf,表示训练时间不限net.trainParam.time=6000;%训练的目标 默认为0net.trainParam.goal=0.001;%建立源数据的矩阵SourceDataConvert=importdata(bp_train_sample_data.dat);SourceData=SourceDataConvertTargetConvert=importdata(bp_train_target_data.dat);,七. BP网络的其他学习算法的应用,Target=Targ

33、etConvert%神经网络训练net=train(net,SourceData,Target)%显示训练后的各层权重mat1=cell2mat(net.IW(1,1)mat2=cell2mat(net.LW(2,1)mat3=cell2mat(net.LW(3,2)%读取仿真文件数据simulate_data_convert=importdata(bp_simulate_data.dat);simulate_data=simulate_data_convert;result=sim(net,simulate_data),多次运行上述程序,可以得到满足误差要求的网络的训练结果:TRAINLM-

34、calcjx, Epoch 0/3000, Time 0.0%, MSE 14.0262/0.001, Gradient 7315.37/1e-010TRAINLM-calcjx, Epoch 335/3000, Time 0.0%, MSE 0.000442/0.001, Gradient1.19/1e-7TRAINLM, Performance goal met,七. BP网络的其他学习算法的应用,神经网络训练工具如图5所示,训练后即可达到误差要求,结果如图6所示。,图5神经网络训练工具箱,图6 训练曲线图,七. BP网络的其他学习算法的应用,对预测样本值的仿真输出结果如下:result

35、=1 至 9 列3.0296 2.9309 1.5220 2.9256 3.9876 1.9889 1.9904 3.0315 3.989710 至 18 列1.3982 3.0274 2.5501 1.0009 2.0562 3.9843 2.0376 3.9917 3.073319 至 27 列3.9915 2.0045 2.0212 1.8679 2.9285 0.9716 1.0037 4.0013 1.488028 至 31 列2.9780 2.9835 2.9379 3.0032,七. BP网络的其他学习算法的应用,3.采用共轭梯度法进行学习共轭梯度法是重要的无约束最优化方法,它利

36、用一维搜索所得到的极小点处的最速下降方向生成共轭方向,并据此搜索目标函数极值。共轭梯度法的计算步骤和梯度法的计算步骤差别不大,主要差别在搜索方向的不同,即每一步的方向不再是梯度方向,而是一种共轭的方向,由原来的负梯度方向加上一个修正项(前一点的梯度乘以适当的系数)得到共轭方向。设梯度向量为g,共轭向量为P,则第k次的共轭方向为其中, 为标量,其大小必须保证 和 为共轭方向。,七. BP网络的其他学习算法的应用,可以说共轭梯度法综合利用过去的梯度和现在某点的梯度信息,用其线性组合来构造更好的搜索方向,这样权值的修正公式 : 共轭梯度法在二次型较强的区域能使目标函数收敛较快。而一般目标函数在极小点

37、附近的形态近似于二次函数,故共轭梯度法在极小点附近有较好的收敛性。,七. BP网络的其他学习算法的应用,完整程序代码:function f=bpfun()%Neural Network%build train and simulate %bpfun.m%输入矩阵的范围(数据源)P=20 3000;1400 3500;500 3500;%创建网络net=newff(P,12 4 1,tansig tansig purelin,traincgb);%初始化神经网络net=init(net);%设置训练的参数%停止方式按键 %pause;%两次显示之间的训练步数默认为25net.trainParam

38、.show=50;%lr不能选择太大,太大了会造成算法不收敛,太小了会使训练时间太长%一般选择0.010.1之间%训练速度,七. BP网络的其他学习算法的应用,net.trainParam.lr=0.05;%训练次数 默认为100net.trainParam.epochs=3000;%训练时间 默认为inf,表示训练时间不限net.trainParam.time=6000;%训练的目标 默认为0net.trainParam.goal=0.001;%建立源数据的矩阵SourceDataConvert=importdata(bp_train_sample_data.dat);SourceData=

39、SourceDataConvertTargetConvert=importdata(bp_train_target_data.dat);Target=TargetConvert%神经网络训练net=train(net,SourceData,Target)%显示训练后的各层权重mat1=cell2mat(net.IW(1,1)mat2=cell2mat(net.LW(2,1)mat3=cell2mat(net.LW(3,2)%读取仿真文件数据simulate_data_convert=importdata(bp_simulate_data.dat);simulate_data=simulate_

40、data_convert;result=sim(net,simulate_data),七. BP网络的其他学习算法的应用,多次运行上述程序,可以得到满足误差要求的网络的训练结果:TRAINLM-calcjx, Epoch 0/3000, Time 0.0%, MSE 14.0262/0.001, Gradient 7315.37/1e-010TRAINLM-calcjx, Epoch 7/3000, Time 0.0%, MSE 6.11e-0.5/0.001, Gradient 0.185/1e-07TRAINLM, Performance goal met对预测样本值的仿真输出结果如下:r

41、esult =1 至 9 列2.9953 2.9953 1.0002 2.9962 3.9875 2.6118 2.6118 2.9953 4.059010 至 18 列3.2461 2.9953 3.4248 1.0096 1.9975 3.9875 2.0003 3.9875 2.995319 至 27 列3.9875 2.6118 1.9975 3.0221 2.9953 1.0011 1.0137 3.9888 1.000128 至 31 列2.9953 2.9953 2.9953 1.9339,七. BP网络的其他学习算法的应用,如图7为神经网络训练模块,在这里可以查看训练结果、训练状态等。训练后即可达到误差要求,结果如图8所示。,图7神经网络训练模块,图8 训练曲线图,八.结论,BP神经网络是神经网络中最常用的算法。它包括梯度法、带动量最速下降法及共轭梯度法。梯度下降算法、LM算法及共轭梯度法均可以实现对给定数据的分类。而梯度下降算法存在收敛速度慢、网络易陷于局部极小,学习过程常常发生震荡等缺点,在实际应用中,梯度下降算法很难胜任。而LM算法的收敛速度快,如果要求的精度比较高,则该算法优点尤其突出。共轭梯度法在二次型较强的区域能使目标函数收敛较快,而一般目标函数在极小点附近的形态近似于二次函数,故共轭梯度法在极小点附近有较好的收敛性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号