1 / 40

3 前馈神经网络

3 前馈神经网络. 3.1 单层感知器. 3.1.1 感知器模型. j=1,2,… , m. 3 前馈神经网络. 3.1 单层感知器. 3.1.1 感知器模型. x 1. o j. …. x n. -1. 净输入:. (3.1). 输出:. (3.2). 3 前馈神经网络. 3.1 单层感知器. 3.1.1 感知器模型. x 1. o j. x 2. -1. 输出:. 3 前馈神经网络. 3.1 单层感知器. 3.1.2 感知器的功能. 单计算节点感知器. (1) 设输入向量 X =( x 1 ,x 2 ) T.

maine
Download Presentation

3 前馈神经网络

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3 前馈神经网络 3.1单层感知器 3.1.1感知器模型

  2. j=1,2,…,m 3 前馈神经网络 3.1单层感知器 3.1.1感知器模型

  3. x1 oj … xn -1 净输入: (3.1) 输出: (3.2) 3 前馈神经网络 3.1单层感知器 3.1.1感知器模型

  4. x1 oj x2 -1 输出: 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 单计算节点感知器 (1)设输入向量X=(x1 ,x2)T 则由方程 w1jx1+w2jx2-Tj=0(3.3) 确定了二维平面上的一条分界线。

  5. 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能

  6. x1 x2 oj x3 -1 输出: 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 (2)设输入向量X=(x1,x2,x3)T 则由方程 w1jx1+w2jx2+w3jx3–Tj=0 (3.4) 确定了三维空间上的一个分界平面。

  7. 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能

  8. 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 (3) 设输入向量X=(x1,x2,…,xn)T sgn(w1jx1+w2jx2+…+wnjxn–Tj) (3.5) 输出: 则由方程w1jx1+w2jx2+…+wnjxn–Tj=0 (3.6) 确定了n维空间上的一个分界平面。

  9. 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 一个最简单的单计算节点感知器具有分类功能。其分类原理是将分类知识存储于感知器的权向量(包含了阈值)中,由权向量确定的分类判决界面将输入模式分为两类。

  10. 逻辑“与”真值表 感知器结构 x1 x2 y 0 0 0 0 1 0 1 0 0 1 1 1 例一 用感知器实现逻辑“与”功能。 w1x1+w2x2 -T=0 0.5x1+0.5x2-0.75=0

  11. 例一 用感知器实现逻辑“与”功能。

  12. 逻辑“或”真值表 感知器结构 x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 1 例二 用感知器实现逻辑“或”功能。 w1x1+w2x2 -T=0 x1+x2-0.5=0

  13. 例二 用感知器实现逻辑“或”功能。

  14. “异或”的真值表 x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 0 3 前馈神经网络 3.1单层感知器 3.1.3感知器的局限性 问题:能否用感知器实现“异或”功能?

  15. 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 感知器学习规则的训练步骤: (1) 对各权值w0j(0),w1j(0),┄,wnj(0),j=1, 2,┄,m (m为计算层的节点数)赋予较小的非零随机数; (2) 输入样本对{Xp,dp},其中Xp=(-1,x1p,x2p,┄,xnp), dp为期望的输出向量(教师信号),上标p代表 样本对的模式序号,设样本集中的样本总数为P, 则p=1,2,┄,P;

  16. 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 感知器学习规则的训练步骤: (3)计算各节点的实际输出 ojp(t)=sgn[WjT(t)Xp], j=1,2,...,m; (4)调整各节点对应的权值,Wj(t+1)= Wj(t)+η[djp-ojp(t)]Xp, j=1, 2,┄,m,其中为学习率,用于控制调整速度,太大 会影响训练的稳定性,太小则使训练的收敛速度变慢, 一般取0<η≤1; (5)返回到步骤(2)输入下一对样本,周而复始直到对所有 样本,感知器的实际输出与期望输出相等。

  17. 例三 单计算节点感知器,3个输入。给定3对训练样本对如下: X1 = (-1,1,-2,0)T d1 = 1 X2 = (-1,0,1.5,-0.5)T d2 =  1 X3 = (-1,-1,1,0.5)Td3 =1 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 设初始权向量W(0)=(0.5,1,-1,0)T,η=0.1。注意,输入向量中第一个分量 x0 恒等于-1,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。

  18. 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 解:第一步 输入X1,得 WT(0)X1=(0.5,1,-1,0)(-1,1,-2,0)T=2.5 o1(0)=sgn(2.5)=1 W(1)= W(0)+η[d1- o1(0)] X1 =(0.5,1,-1,0)T+0.1(-1-1)(-1,1,-2,0)T =(0.7,0.8,-0.6,0)T

  19. 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 第二步 输入X2,得 WT(1)X2=(0.7,0.8,-0.6,0)(-1,0,1.5,-0.5)T= -1.6 o2(1)=sgn(-1.6)= -1 W(2)= W(1)+η[d2- o2(1)] X2 =(0.7,0.8,-0.6,0)T+0.1[-1-(-1)](-1,0,1.5,-0.5)T =(0.7,0.8,-0.6,0)T 由于d2= o2(1),所以W(2)= W(1)。

  20. 3 前馈神经网络 3.1单层感知器 3.1.4感知器的学习算法 第三步 输入X3,得 WT(2)X3=(0.7,0.8,-0.6,0)(-1,-1,1,0.5)T= -2.1 O3(2)=sgn(-2.1)= -1 W(3)= W(2)+η[d3- o3(2)] X3 =(0.7,0.8,-0.6,0)T+0.1[1-(-1)](-1,-1,1,0.5)T =(0.5,0.6,-0.4,0.1)T 第四步 返回到第一步,继续训练直到 d p- o p = 0,p=1,2,3。

  21. 双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。

  22. 双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。

  23. 双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。

  24. 双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。

  25. 3 前馈神经网络 3.2多层感知器

  26. 3 前馈神经网络 3.2多层感知器 具有不同隐层数的感知器的分类能力对比

  27. 3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型

  28. 3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型 输入向量:X=(x1,x2,…,xi,…,xn)T 隐层输出向量:Y=(y1,y2,…,yj,…,ym)T 输出层输出向量:O=(o1,o2,…,ok,…,ol)T 期望输出向量:d=(d1, d2,…,dk,…,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,…,Vj,…,Vm) 隐层到输出层之间的权值矩阵:W=(W1,W2,…,Wk,…,Wl)

  29. 对于输出层: k=1,2,…,l (3.4.1) k=1,2,…,l (3.4.2) 对于隐层: j=1,2,…,m (3.4.3) j=1,2,…,m(3.4.4) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型

  30. 单极性Sigmoid函数: (3.4.5) 双极性Sigmoid函数: 3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型

  31. 输出误差E定义: (3.4.6) (3.4.7) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.2 BP学习算法 一、网络误差 定义与权值调整思路 将以上误差定义式展开至隐层:

  32. (3.4.8) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.2 BP学习算法 一、网络误差与权值调整 进一步展开至输入层:

  33. j=0,1,2,…,m; k=1,2,…,l (3.4.9a) i=0,1,2,…,n; j=1,2,…,m (3.4.9b) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.2 BP学习算法 式中负号表示梯度下降,常数η∈(0,1)表示比例系数。 在全部推导过程中,对输出层有j=0,1,2,…,m; k=1,2,…,l 对隐层有 i=0,1,2,…,n; j=1,2,…,m

  34. yj xi (3.4.10a) 对隐层,式(3.4.9b)可写为 (3.4.10b) 对输出层和隐层各定义一个误差信号,令 (3.4.11a) (3.4.11b) 3.4.2 BP学习算法 二、BP算法推导 对于输出层,式(3.4.9a)可写为

  35. (3.4.12a) (3.4.12b) 综合应用式(3.4.2)和(3.4.11a),可将式(3.4.10a)的权值调整式改写为 综合应用式(3.4.4)和(3.4.11b),可将式(3.4.10b)的权值调整式改写为 可以看出,只要计算出式(3.4.12)中的误差信号o和y,权值调整量的计算推导即可完成。下面继续推导如何求误差信号o和y。

  36. (3.4.13a) (3.4.13b) 对于输出层, o可展开为 对于隐层, y可展开为 下面求式(3.4.13)中网络误差对各层输出的偏导。

  37. 可得: (3.4.14a) 对于输出层,利用式(3.4.6): 对于隐层,利用式(3.4.7): 可得: (3.4.14b)

  38. 得到: (3.4.15a) (3.4.15b) 将以上结果代入式 并应用式 同理 至此两个误差信号的推导已完成。

  39. (3.4.16a) (3.4.16b) 将式(3.4.15)代回到式(3.4.12),得到三层前馈网的BP学习算法权值调整计算公式为:

More Related