1、(最新整理)BP神经网络实例分析2021/7/2612021/7/262正向传播:输入样本输入层各隐层输出层判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符误差反传 误差以某种形式在各层表示修正各层单元的权值网络输出的误差减少到可接受的程度或达到预先设定的学习次数为止一、一、BPBP网络的标准学习算法网络的标准学习算法-学习过程学习过程2021/7/263 已知的两类蚊子的数据如表1:v翼长 触角长 类别v1.78 1.14 Apfv1.96 1.18 Apfv1.86 1.20 Apfv1.72 1.24 Afv2.00 1.26 Apfv2.00 1.28 Apfv
2、1.96 1.30 Apfv1.74 1.36 Af目标值目标值0.90.90.90.10.90.90.90.1 v翼长 触角长 类别v 1.64 1.38 Afv 1.82 1.38 Afv 1.90 1.38 Afv 1.70 1.40 Afv 1.82 1.48 Afv 1.82 1.54 Afv 2.08 1.56 Af目标t0.10.10.10.10.10.10.1 训练样本训练样本确定模型输入/输出结构:两输入、单输出 2021/7/264输入数据有15个,即p=1,15;j=1,2;对应15个输出。建模:(输入层、中间层、输出层、每层应选取多少个元素?)建立神经网络规定目标为:当
3、t(1)=0.9 时表示属于Apf类,当t(2)=0.1 时表示属于Af类。2021/7/265 (1)网络初始化网络初始化 给各连接权值分别赋一个区间(0,1)内的随机数,设定误差函数E,给定计算精度值 和最大学习次数M。令p=0,p为样本编号二、具体训练步骤如下:二、具体训练步骤如下:)3,2()2,2()1,2()3,1()2,1()1,1(1111111wwwwwwW)3,1()2,1()1,1(2222wwwW)()3,(jjwii 表示第i层第j个神经元的阈值 其中2021/7/2663101010101131010101011)(),2()3()3,2()2()2,2()1()1
4、,2()2()(),1()3()3,1()2()2,1()1()1,1()1(jjjajwawawawujajwawawawu(2)根据输入数据计算网络输出根据输入数据计算网络输出)()(11iufia)(exp(111iu=2,1i)1(exp(11)1()(),1()1(2231122uajajwuj同理,输出神经元取,1)3(0a1)3(1a将各神经元的阈值作为固定输入2021/7/267(3)训练输出单元的权值训练输出单元的权值xexf11)(取激励函数 则)(1)()1()(2xfxfeexfxx)1()1()1()1(222ufat2222)1(exp(1/()1(exp()1()
5、1(uuat 取学习速率(或其他正数,可调整大小)1.0计算),1()1(2jWP)()1(),1(),1()1(1)1(2)(2)1(2jajWjWppppj=1,2,3其中 p为第p个样本,j=1,2,3 PS:利用输出层各神经元的误差项 和隐含层各神经元的输出来修正权值。)1(22021/7/268(4)训练隐藏单元的权值训练隐藏单元的权值)()(),(),()1(0)1(1)(1)1(1jaijiWjiWpppp其中i=1,2,3 j=1,2,3 上述4个步骤为:使用第一个样本调整输出层和隐藏层各个神经元的权值。PS:利用隐含层各神经元的误差项 和输入层各神经元的输入来修正权值。)()
6、1(1ip),1()1()(1)(),1()1()()()1(2)1(211)1(2)1(21)1(1iWiaiaiWiufippppp2021/7/269(5)计算全局误差计算全局误差211)1()1(21)(2)(2ppatEEppppp 当用完所有样本时,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于预设最大次数,则结束算法。否则,返回(2),进入下一圈学习。注:仅计算一圈(p=1,2,15)往往是不够的,直到误差达到预设精度或学习次数大于设定的最大次数时停止。本例中,共计算了147圈,迭代了2205次。最后计算结果是:2764.02875.05787.05765.05976.75921.51W9829.34838.04075.82W2021/7/2610网络模型的解为:2764.0)2(2875.0)1(5787.0)2(5765.0)2(5976.7)1(5921.5)1(001001aauaau)()(11iufia)(exp(111iu2,1i=)1(exp(11)1(9829.3)2(4838.0)1(4075.8)1(22112uaaau2021/7/2611谢谢!2021/7/26122021/7/2613