文档详情

bp神经网络算法(同名8805).doc

发布:2019-09-06约5.31千字共6页下载文档
文本预览下载声明
BP神经网络算法 三层BP神经网络如图: 目标输出向量 目标输出向量 传递函数输出层,输出向量输入层,输入向量隐含层,隐含层输出向量权值为传递函数 传递函数 输出层,输出向量 输入层,输入向量 隐含层,隐含层输出向量 权值为 传递函数 设网络的输入模式为,隐含层有h个单元,隐含层的输出为,输出层有m个单元,他们的输出为,目标输出为设隐含层到输出层的传递函数为,输出层的传递函数为g 于是::隐含层第j个神经元的输出;其中 :输出层第k个神经元的输出 此时网络输出与目标输出的误差为,显然,它是的函数。 下面的步骤就是想办法调整权值,使减小。 由高等数学的知识知道:负梯度方向是函数值减小最快的方向 因此,可以设定一个步长,每次沿负梯度方向调整个单位,即每次权值的调整为: ,在神经网络中称为学习速率 可以证明:按这个方法调整,误差会逐渐减小。 BP神经网络(反向传播)的调整顺序为: 1)先调整隐含层到输出层的权值 设为输出层第k个神经元的输入 -------复合函数偏导公式 若取,则 于是隐含层到输出层的权值调整迭代公式为: 2)从输入层到隐含层的权值调整迭代公式为: 其中为隐含层第j个神经元的输入: 注意:隐含层第j个神经元与输出层的各个神经元都有连接,即涉及所有的权值,因此 于是: 因此从输入层到隐含层的权值调整迭代为公式为: 例: 下表给出了某地区公路运力的历史统计数据,请建立相应的预测模型,并对给出的2010和2011年的数据,预测相应的公路客运量和货运量。 时间 人数(单位:万人) 机动车数(单位:万辆) 公路面积(单位:万平方公里) 公路客运量(单位:万人) 公路货运量(单位:万吨) 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.9 0.14 9145 1399 1994 29.45 1.05 0.2 10460 1663 1995 30.1 1.35 0.23 11387 1714 1996 30.96 1.45 0.23 12353 1834 1997 34.06 1.6 0.32 15750 4322 1998 36.42 1.7 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.2 0.36 19490 11203 2002 41.93 2.25 0.38 20433 10524 2003 44.59 2.35 0.49 22598 11115 2004 47.3 2.5 0.56 25107 13320 2005 52.89 2.6 0.59 33442 16762 2006 55.73 2.7 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.1 0.79 43462 21804 2010 73.3900 3.9635 0.9880 2011 75.5500 4.0975 1.0268 function main() clc % 清屏 clear all; %清除内存以便加快运算速度 close all; %关闭当前所有figure图像 SamNum=20; %输入样本数量为20 TestSamNum=20; %测试样本数量也是20 ForcastSamNum=2; %预测样本数量为2 HiddenUnitNum=8; %中间层隐节点数量取8,比工具箱程序多了1个 InDim=3; %网络输入维度为3 OutDim=2; %网络输出维度为2 %原始数据 %人数(单位:万人) sqrs=[20.55 22.44 25.37 27.13 29.45 30.10 30.96 34.06 36.42 38.09 39.13 39.99 ... 41.93 44.59 47.30 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.8
显示全部
相似文档