slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
BP 神经网络 PowerPoint Presentation
Download Presentation
BP 神经网络

Loading in 2 Seconds...

  share
play fullscreen
1 / 66
kamal-roberson

BP 神经网络 - PowerPoint PPT Presentation

234 Views
Download Presentation
BP 神经网络
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. BP 神经网络 The Backpropagation Neural Network

  2. Werbos 于 1974 年,Parker 于 1985 年,Rumelhart 等人于 1986 年各自独立地提出了误差往回传播的思想和算法。 之后,BP 网络迅速成为最流行的神经计算模型,并得到极其广泛的应用。 The BP Neural Network

  3. 内容要点 1 BPN 的体系结构 2 BPN 的工作算法 3 BP 学习算法 4 BPN 表达 (1):映射实现 5 BPN 表达 (2):泛化 The BP Neural Network

  4. 第一节 BPN 的体系结构 The Configuration of the BPN The BP Neural Network

  5. x1 w1 x2 w2 v o f(v)   xm wm 图 6.1 BPN 神经元 BPN 的神经元 (1) • BPN 神经元结构: 其中: wi: 联结强度系数 : 阈值 : 整合函数 v: 膜电位 f(v): 传递函数 The BP Neural Network

  6. x1 w1 x2 w2 v o f(v)   xm wm 图 6.1 BPN 神经元 BPN 的神经元 (2) • BPN 神经元结构: • 整合运算:求人工神经元的膜电位 整合即加权求和: The BP Neural Network

  7. x1 w1 o 1.0 x2 w2 v o   0.5 v 0 xm wm 图 6.2 Sigmoid 神经元 BPN 的神经元 (3) • BPN 神经元的 Sigmoid 传递函数 (1): The BP Neural Network

  8. x1 w1 o 1.0 x2 w2 v o v   0 -1 xm wm 图 6.3 Sigmoid 神经元 BPN 的神经元 (4) • BPN 的神经元的 Sigmoid 传递函数 (2): The BP Neural Network

  9. O Layer • 输入层 Input Layer H Layer • 隐含层 Hidden Layer • 输出层 I Layer Ouptut Layer 图 6.4 BPN 结构 BPN 的拓扑结构 (1) 如图 6.3 所示,结构上,BPN 与感知器一样被设想为一个三元组: The BP Neural Network

  10. (1) (2) (L-1) (L) 图 6.5 BPN 的 前 向 型 结 构 x1 y1 x2 y2 xm yn W(2) W(L) Input Layer Hidden Layer Output Layer BPN 的拓扑结构 (2) • BPN 是一种前向型人工神经网络: The BP Neural Network

  11. 第二节 BPN 工作算法 BPN Working Algorithm The BP Neural Network

  12. BPN 算法的变量定义 (1) • 符号与记法: • BPN 层数:L • 第 l层神经元数:nl (1lL) • 第 l层第 i个神经元:Ni(l) (1inl, 1lL) • 第 l层神经元:N(l)={Ni(l)︱i=1,2,…, nl} (1lL) • BPN 输入向量:X=(x1,x2,…,xm)T • BPN 输出向量:Y=(y1,y2,…,yn)T The BP Neural Network

  13. N(l) 输出向量 / N(l+1) 输入向量 : 其中,oi(l) 为 Ni(l)的输出,O(L)=Y • N(l) 电位向量: 其中,vi(l) 为 Ni(l)的膜电位 BPN算法的变量定义(2) • 符号与记法: The BP Neural Network

  14. N(l-1)Nj(l) (1jnl, 2lL) 联系效率向量: • Ni(l-1)Nj(l) 联系效率:wij(l) (1inl-1, 1jnl, 2lL) • N(l-1)N(l)(2lL) 联系效率矩阵: BPN算法的变量定义(3) • 符号与记法: The BP Neural Network

  15. N(l)(1lL) 阈值向量: BPN算法的变量定义(4) • 符号与记法: • Ni(l)(1inl, 1lL) 传递函数:fi(l) • 如果限定每层的神经元具有相同的传递函数,则定义,N(l)(1lL) 传递函数:f(l) The BP Neural Network

  16. BPN 的工作算法 WA 描述 BPN 由给定输入信号产生输出信号的过程,即: WA:XY BPN 的工作算法 (1) 作为前向型网络,BPN 的信号由输入层,一层一层地向前传递,直至传递到输出层,并产生其输出信号。 BPN 工作时信号前馈的信息处理方式是前向型网络 (Feed-forward Network) 的特征。 The BP Neural Network

  17. O(2) O(L-1) O(1) O(L) X Y WA:XY BPN 的工作算法 (1) BPN 信息的前馈过程为: BPN 第一层每一个神经元只有一个输入端子,接收其对应输入信号,与输入信号的联结效率为 1。 BPN 第一层神经元只对输入信号 X 进行处理工作,并将输入信号 X 分配给隐含层。 The BP Neural Network

  18. 输入: 循环:from l=2 to l=L (j=1,2,…,nl) 输出: BPN 的工作算法 (2) • 标量工作算法: The BP Neural Network

  19. 输入: 循环:from l=2 to l=L 输出: BPN 的工作算法 (3) • 向量工作算法: The BP Neural Network

  20. 第三节 BP 学习算法 BP Learning Algroithm The BP Neural Network

  21. 引述 BP 学习算法 (Backpropagation Training Algorithm) 是一种监督学习算法 (Supervised Learning Algorithm)。 与感知器一样,BPN 学习的学习过程是:从样本中选取输入模式作为 BPN 的输入,并测试其输出,即测试实际输出与期望输出的一致性,以指导 BPN 权值和阈值的修改。 与感知器一样,BPN 学习的目标是使感知器表达某种映射。 The BP Neural Network

  22. 阈值的处理 为了 BP 算法的简单性,我们需要将 BPN 的阈值与权值统一起来。 为了将阈值与权值的调节统一起来,我们需要对 BPN 的阈值进行处理,将其转化为权值。 阈值的变换来自于 BPN 结构上的等价变换和工作算法的等价变换。 在 BPN 上附加结点是解决问题的方法。 附加神经元输出恒等于 1,无输入。 The BP Neural Network

  23. 6.6 BPN 的 附 加 结 点 结 构 o0(2)=1 o0(L-1)=1 o0(1)=1 x1 y1 x2 y2 xm yn ~ ~ W(L) W(2) 阈值的处理(2) The BP Neural Network

  24. N(l) 输出扩展向量 / N(l+1) 输入扩展向量 : 阈值的处理 (3) • 符号与记法: • 附加神经元: N0(l) (1lL-1) • 附加神经元的输出: o0(l)=1(1lL-1) The BP Neural Network

  25. N0(l-1)Nj(l) 联系效率:w0j(l) =-j(l) • N(l-1)Nj(l) (1jnl+1, 2lL) 扩展权值向量: (1jnl, 2lL) • N(l-1)N(l)(2lL) 扩展权值矩阵: 阈值的处理 (4) • 符号与记法: The BP Neural Network

  26. 输入: 循环:from l=2 to l=L (j=1,2,…,nl) 输出: 阈值的处理 (5) • 标量工作算法: The BP Neural Network

  27. 输入: 循环:from l=2 to l=L 输出: 阈值的处理 (6) • 向量工作算法: The BP Neural Network

  28. 定义:(能量函数) 设有样本集合 其中,(X(s),Y(s)) 为第 s个样本对: (1) X(s)=(x1(s),x2(s),…,xm(s))T:样本输入模式 (2) Y(s)=(y1(s),y2(s),…,yn(s))T:样本期望输出 N为样本数,s为样本序号。 能量函数 (1) The BP Neural Network

  29. 记 X(k,s)=X(s)为 BPN 在第 k (0) 轮对第 s个样本进行学习时的输入,其产生的输出为: 期望输出与实际输出的差为: 则 BPN 第 k轮学习的能量函数定义为: 能量函数 (2) The BP Neural Network

  30. 如果我们定义 BPN 第 k轮对第 s个样本的能量函数为: 则 BPN 第 k轮学习的能量函数可写作: 能量函数 (3) The BP Neural Network

  31. 能量函数的梯度与权值 BPN 能量函数即 BPN 关于误差的性能函数。 BPN 学习的基本目标,就是通过修正或调节 BPN 中神经元的联结系数和神经元的阈值,使其能量函数趋于极小。 按梯度下降的原则,若能求得 BPN 能量函数对权值的偏导数,则可如下调节权值。 The BP Neural Network

  32. 复合函数求导问题 (1) 设有二元复合函数: z 关于 s和 t的偏导数为: The BP Neural Network

  33. 复合函数求导问题 (2) 一般地,设有 n 元复合函数: 其关于 i (i=1,2,…,m) 的偏导数为: The BP Neural Network

  34. n 元复合函数: 的运算可以用一个网络来描述。 图 6.7 复合函数运算网络 复合函数求导问题中 蕴含的误差反馈思想 (1) 假设 y代表网络输出误差,则这一误差可能来自 xj (j=1,2,…,m)的误差和/或 i (i=1,2,…,n) 的误差。 The BP Neural Network

  35. y/xj 是可以直接计算的: 图 6.7 复合函数运算网络 复合函数求导问题中 蕴含的误差反馈思想 (2) 根据梯度下降原理,y关于 xj (j=1,2,…,n)的导数 y/xj 意味着 xj 关于 y的误差。 这一公式意味着误差 y 传递给了 xj (j=1,2,…,n)。 The BP Neural Network

  36. y/i 需要通过复合函数求导公式间接计算: 图 6.8 复合函数运算网络 复合函数求导问题中 蕴含的误差反馈思想 (3) 同样,y关于 i (i=1,2,…,m)的导数 y/i 意味着 i 关于 y的误差。 这一公式意味着 i 关于 y的误差与误差 y 传递给 xj (j=1,2,…,n) 的误差 y/xj 和 xj 关于 i的误差相关,既, y 的误差传递给 xj后现在又传递到了 i。 The BP Neural Network

  37. 由梯度下降原理可知 xj ~ y/xj,即: 复合函数求导问题中 蕴含的误差反馈思想 (4) The BP Neural Network

  38. 同样,i ~ y/i,即: 这就是误差反馈。 复合函数求导问题中 蕴含的误差反馈思想 (5) The BP Neural Network

  39. 图 6.9 能量复合函数 BPN 能量函数求导问题 (1) BPN 能量函数可视为复合函数 其关于 oi(l-1) (i=1,2,…,nn-1) 的偏导数为: The BP Neural Network

  40. BPN Delta 算法 (1) 定义 Nj(l)(1jnl, 2lL) 的 Delta 函数: j(l)(k,s) 意味着 BPN 第 k轮第 s个样本学习时第 l 层第 j个神经元产生的误差。 The BP Neural Network

  41. BPN Delta 算法 (2) 因为 yi =yi(s)-oi(L),故对于输出层,即 l=L时: The BP Neural Network

  42. BPN Delta 算法 (3) 对于隐含层,即 1<l<L时: The BP Neural Network

  43. BPN Delta 算法 (4) 统一的 BPN Delta 算法: BPN Delta 算法显示,第 l 层的误差,可由第 l+1层的误差来计算。即: 这就是 BP 算法的误差往回传播思想。 The BP Neural Network

  44. BPN 权值修正算法 (1) 设定学习因子 ,依梯度下降原理: The BP Neural Network

  45. BPN 权值修正算法 (2) 如果令: 则 BPN 权值修正算法可记作: The BP Neural Network

  46. BPN 权值修正算法 对于 BPN 权值修正算法: 可变换为如下形式吗? The BP Neural Network

  47. 前馈 运算 BP 算法 (1) • BP 算法实现 (1) step 1. Set k=0, and initialize , , W and . step 2. Set s=1 and E=0. step 3. Input X=X(s) to BPN, and generate Y. step 4. Set j=1. step 5. Calculate E=E+0.5(yj(s)-yj)2. step 6. If j < n, then j=j+1 and go to step 5. step 7. If s < N, then s=s+1, and go to step 3. step 8. Test BPN, and if E, stop. The BP Neural Network

  48. 反馈 运算 BP 算法 (2) step 9. Set s=1 and W(l)(k)=0. step 10. Input X=X(s) to BPN, and generate Y. step 11. Set l=L. step 12. Set j=1. step 13. Calculate j(l). step 14. Set i=0. step 15. Calculate wij(k,s). step 16. If i < nl-1, then i=i+1 and go to step 15. step 17. If j < nl, then j=j+1 and go to step 13. step 18.W(l)(k)= W(l)(k)+ W(l)(k,s). step 19. If l > 2, then l=l-1 and go to step 12. step 20. If s < N, then s=s+1, and go to step 10. step 21.W(l)(k+1)= W(l)(k)+ W(l)(k). step 22.k=k+1, go to step 2. The BP Neural Network

  49. 前馈 运算 BP 算法 (3) • BP 算法实现 (1) step 1. Set k=0, and initialize , , W and . step 2. Set s=1 and E=0. step 3. Input X=X(s) to BPN, and generate Y. step 4. Memorize all information generated with X(s). step 5. Set j=1. step 6. Calculate E=E+0.5(yj(s)-yj)2. step 7. If j < n, then j=j+1 and go to step 6. step 8. If s < N, then s=s+1, and go to step 3. step 9. Test BPN, and if E, stop. The BP Neural Network

  50. 反馈 运算 BP 算法 (4) step 10. Set s=1 and W(l)(k)=0. step 11. Set l=L. step 12. Set j=1. step 13. Calculate j(l). step 14. Set i=0. step 15. Calculate wij(k,s). step 16. If i < nl-1, then i=i+1 and go to step 15. step 17. If j < nl, then j=j+1 and go to step 13. step 18.W(l)(k)= W(l)(k)+ W(l)(k,s). step 19. If l > 2, then l=l-1 and go to step 12. step 20. If s < N, then s=s+1, and go to step 10. step 21.W(l)(k+1)= W(l)(k)+ W(l)(k). step 22.k=k+1, go to step 2. The BP Neural Network