资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,BP神经网络-课件,1,BP神经网络-课件,2,1、引例,1981年生物学家格若根(W Grogan)和维什(WWirth)发现了两类蚊子(或飞蠓midges)他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:,翼长 触角长 类别,1.78 1.14 Apf,1.96 1.18 Apf,1.86 1.20 Apf,1.72 1.24 Af,2.00 1.26 Apf,2.00 1.28 Apf,1.96 1.30 Apf,1.74 1.36 Af,翼长 触角长 类别,1.64 1.38 Af,1.82 1.38 Af,1.90 1.38 Af,1.70 1.40 Af,1.82 1.48 Af,1.82 1.54 Af,2.08 1.56 Af,1、引例1981年生物学家格若根(W Grogan)和维什,3,1、引例,问:如果抓到三只新的蚊子,它们的触角长和翼长分别为(l.24,1.80); (l.28,1.84);(1.40,2.04)问它们应分别属于哪一个种类?,(1.24,1.80),(1.28,1.84),属于Af类;,(1.40,2.04)属于 Apf类,解法一:,分类结果,1、引例问:如果抓到三只新的蚊子,它们的触角长和翼长分别为(,4,1、引例,Q1:,根据什么原则确定分类直线?,Q2:,如下情形已经不能用分类直线的办法,1、引例Q1:根据什么原则确定分类直线?Q2:如下情形已经不,5,将问题看作一个系统,蚊子翼长、触角长的数据作为输入,蚊子的类型作为输出,研究输入与输出的关系。,新思路:,1、引例,新思路:1、引例,6,2、 BP神经网络原理,人工神经网络,简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。,神经元模型,神经网络模型,2、 BP神经网络原理人工神经网络简称为神经网络或类神经网络,7,2、BP神经网络原理,BP算法,BP (Back Propagation)神经网络,是一种多层前馈神经网络,因使用反向传播算法(BP算法)而得名。,多层前馈网络模型,BP神经网络,1)正向传播:输入样本输入层各隐层(处理)输出层,2)误差反向传播:输出误差(某种形式)隐层(逐层)输入层,2、BP神经网络原理BP算法BP (Back Propaga,8,2、BP神经网络原理,2、BP神经网络原理,9,2、BP神经网络的原理,BP网络的学习规则,其中:E为网络输出与实际输出样本之间的误差平方和;,为网络的学习速率即权值调整幅度,2、BP神经网络的原理BP网络的学习规则其中:E为网络输出与,10,BP神经网络的使用步骤,BP神经网络的使用步骤,11,BP神经网络的使用步骤,BP神经网络MATLAB工具箱中提供的函数:,1、前向网络,创建函数,:newcf、newff和newfftd,2、,激励函数,:logsig、dlogsig、(S型对数式)tansig、dtansig、(正切函数式)purelin、dpurelin(线性函数),3、,学习函数,:learngd(梯度下降权值/阀值学习函数)、learndm(梯度下降动量函数),4、,训练函数,:trainbfg(BFGS准牛顿BP算法)、traingd(梯度下降BP算法训练函数)、traingdm(梯度下降动量BP算法)等等,5、,性能函数,:mse(均方误差性能函数)、msereg,BP神经网络的使用步骤BP神经网络MATLAB工具箱中提供的,12,3、BP神经网络使用步骤,基于MATLAB工具箱的使用步骤,1、原始数据的输入,2、对输入数据矩阵和目标矩阵的数据进行归一化,3、利用处理好的数据对网络进行训练,4、利用训练好的BP网络对原始数据进行仿真,5、用原始数据仿真的结果与已知数据进行对比测试,6、利用训练好的BP网络对新数据进行仿真,3、BP神经网络使用步骤基于MATLAB工具箱的使用步骤1、,13,根据相关部门数据,该地区2010年和2011年的人数分别为73.39和75.55万人,机动车数量分别为3.9635和4.0975万辆,公路面积将分别为0.9880和1.0268万平方千米。请利用BP网络预测该地区2010年和2011年的公路客运量和公路货运量。,根据相关部门数据,该地区2010年和2011年的人数分别为7,14,某地区20年公路运量数据,年份,人口数量/万人,机动车数量/万辆,公路面积/万平方千米,公路客运量/万人,公路货运量/万吨,1990,20.55,0.6,0.09,5126,1237,1991,22.44,0.75,0.11,6217,1379,1992,25.37,0.85,0.11,7730,1385,1993,27.13,0.90,0.14,9145,1399,1994,29.45,1.05,0.20,10460,1663,1995,30.1,1.35,0.23,11387,1714,1996,30.96,1.45,0.23,12353,1834,1997,34.06,1.60,0.32,15750,4322,1998,36.42,1.70,0.32,18304,8132,1999,38.09,1.85,0.34,19836,8936,2000,39.13,2.15,0.36,21024,11099,2001,39.99,2.20,0.36,19490,11203,2002,41.93,2.25,0.38,20433,10524,2003,44.59,2.35,0.49,22598,11115,2004,47.30,2.50,0.56,25107,13320,2005,52.89,2.60,0.59,33442,16762,2006,55.73,2.70,0.59,36836,18673,2007,56.76,2.85,0.67,40548,20724,2008,59.17,2.95,0.69,42927,20803,2009,60.63,3.10,0.79,43462,21804,某地区20年公路运量数据年份人口数量/万人机动车数量/万辆公,15,(1)原始数据的输入,具体程序为,clc,%原始数据,%人数(单位:万人),sqrs = 20.55 22.44 25.37 27.13 29.45 30.1 30.96 34.06 36.42 38.09 39.13 39.99 41.93 44.5947.3 52.89 55.73 56.76 59.17 60.63,%机动车数(单位:万辆),Sqjdcs = 0.6 0.75 0.85 0.9 1.05 1.35 1.45 1.6 1.7 1.85 2.15 2.2 2.25 2.35 2.5 2.6 2.7 2.85 2.95 3.1,%公路面积(单位:万0.11 0.14 0.2 0.23 0.23 0.32 0.32 0.34 0.36 0.36 0.38 0.49 0.56 0.590.59 0.670.69 0.79,%公路客运量(单位:万人),glkyl = ,5126 6217 7730 9145 10460 11387 12353 15750 18304 19836 21024 19490 20433 22598 25107 33442 36836 40548 42927 43462,公路货运量(单位:万吨),glhyl = ,1237 1379 1385 1399 1663 1714 1834 4322 8132 8936 11099 11203 10524 11115 13320 16762 18673 20724 20803 21804;,平方千米),Sqglmj = 0.09 0.11,P = sqrs;sqjdcs;sqglmj; %输入数据矩阵,t = glky;glhyl; %目标数据矩阵,(1)原始数据的输入,具体程序为,16,(2)对输入数据矩阵和目标矩阵的数据进行归一化,具体程序为,%利用函数premnmx对数据归一化,pn,minp,maxp,tn,mint,maxt=premnmx(p,t); %对于输入矩阵p和输出矩阵t进行归一化处理,dx = -1,1;-1,1;-1,1 %归一化处理后最小值为-1,最大值为1,(2)对输入数据矩阵和目标矩阵的数据进行归一化,具体程序为,17,(3)利用处理好的数据对网络进行训练,具体程序为,%BP网络训练,net = newff(dx,3,7,2,tansig, tansig , purelin, traingdx); %建立模型,并用梯度下降法,%训练,net.trainParam.show = 1000; %1000步显示一次结果,net.trainParam.Lr = 0.05; %学习速率为0.05,net.trainParam.epochs = 50000;%最大训练步数为50000次,net.trainParam.goal = 0.65*10 (-3),(3)利用处理好的数据对网络进行训练,具体程序为,18,(4)利用训练好的BP网络对原始数据进行仿真,具体程序为,%利用原始数据对BP网络仿真,an = sim(net,pn);%用训练好的模型进行仿真,a = postmnmx(an,mint,maxt);%把仿真得到的数据还原为原始的数量级,(4)利用训练好的BP网络对原始数据进行仿真,具体程序为,19,(5)用原始数据仿真的结果与已知数据进行对比测试,具体程序为,%本例因样本容量有限使用训练数据进行测试,通常必须用新鲜数据进行测试,x = 1990:2009;,newk = a(1,:);,newh = a(2,:);,figure(2);,subplot(2,1,1);plot(x,newk, r-o,x,glkyl, b-+); %绘值公路客运量对比图,legend(网络输出客运量,实际客运量);,xlabel(年份);ylabel(客运量/万人);,title(运用工具箱货运量学习和测试对比图);%利用训练好的网络进行预测,(5)用原始数据仿真的结果与已知数据进行对比测试,具体程序为,20,(,6)利用训练好的BP网络对新数据进行仿真,具体程序为,%利用训练好的网络进行预测,%当用训练好的网络对新数据pnew进行预测时,也应作相应的处理,pnew=73.39 75.55 3.9635 4.0975 0.9880 1.0268;%2010年和2011年的相关数据,pnew=tramnmx(pnew,minp,maxp);利用原始输入数据的归一化参数对新数据进行归一化,anewn=sim(net,pnewn);%利用归一化后的数据进行仿真,anew=postmnmx(anewn,mint,maxt)%把仿真得到的数据还原为原始的数据级,(6)利用训练好的BP网络对新数据进行仿真,具体程序为,21,运行这部分程序,可以得到anew的值为,也就是说,2010年和2011年的公路客运量分别为43790万人和43785万人,公路货运量分别为21704万吨和21705万吨。在使用程序时,只要把上面6个程序块顺序输入到MATLAB的M文件中运行即可。,运行这部分程序,可以得到anew的值为,22,4、BP神经网络的适用领域,BP神经网络具有很强的非线性影射能力 ,从而具有很好的曲线拟合能力、优化能力、预测能力和模式分类能力,被广泛应用于各领域。,BP神经网络在建筑行业的应用:,对建设用地需求量进行预测,水泥挤压强度分类、混凝土强度预测,对建筑物的裂缝、破损程度进行预测,基于遗传BP神经网络技术的大型公建能耗分析模型的研究与应用,基于 BP 神经网络的建筑企业信息化评价模型研究,基于BP神经网络与马尔可夫链的城市轨道交通周边房地产价格的组合预测方法,基于BP神经网络的工程造价快速估算模型,4、BP神经网络的适用领域BP神经网络具有很强的非线性影射能,23,5、BP神经网络的优缺点,优点:,非线性映照能力,:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性。,并行分布处理方式,:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。,自学习和自适应能力,:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。,数据融合的能力,:神经网络可以同时处理定量信息和定性信息,因此它可以利用数值运算和人工智能技术(符号处理)。,多变量系统,:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间的解耦问题。,5、BP神经网络的优缺点优点:,24,5、BP神经网络的优缺点,缺点:,1)局部极小化问题,2)BP神经网络算法的收敛速度慢,3)BP神经网络结构选择不一,4)应用实例与网络规模的矛盾问题,5)预测能力和训练能力的矛盾问题,6)BP神经网络样本依赖性问题,5、BP神经网络的优缺点缺点:1)局部极小化问题 2)B,25,Thank you !,Thank you !,26,
展开阅读全文