420 likes | 774 Views
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.
E N D
3 前馈神经网络 3.1单层感知器 3.1.1感知器模型
j=1,2,…,m 3 前馈神经网络 3.1单层感知器 3.1.1感知器模型
x1 oj … xn -1 净输入: (3.1) 输出: (3.2) 3 前馈神经网络 3.1单层感知器 3.1.1感知器模型
x1 oj x2 -1 输出: 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 单计算节点感知器 (1)设输入向量X=(x1 ,x2)T 则由方程 w1jx1+w2jx2-Tj=0(3.3) 确定了二维平面上的一条分界线。
3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能
x1 x2 oj x3 -1 输出: 3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 (2)设输入向量X=(x1,x2,x3)T 则由方程 w1jx1+w2jx2+w3jx3–Tj=0 (3.4) 确定了三维空间上的一个分界平面。
3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能
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维空间上的一个分界平面。
3 前馈神经网络 3.1单层感知器 3.1.2感知器的功能 一个最简单的单计算节点感知器具有分类功能。其分类原理是将分类知识存储于感知器的权向量(包含了阈值)中,由权向量确定的分类判决界面将输入模式分为两类。
逻辑“与”真值表 感知器结构 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
逻辑“或”真值表 感知器结构 x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 1 例二 用感知器实现逻辑“或”功能。 w1x1+w2x2 -T=0 x1+x2-0.5=0
“异或”的真值表 x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 0 3 前馈神经网络 3.1单层感知器 3.1.3感知器的局限性 问题:能否用感知器实现“异或”功能?
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;
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)输入下一对样本,周而复始直到对所有 样本,感知器的实际输出与期望输出相等。
例三 单计算节点感知器,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,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。
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
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)。
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。
双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。
双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。
双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。
双层感知器 “异或”问题分类 3 前馈神经网络 “异或”的真值表 3.2多层感知器 例四 用两计算层感知器解决“异或”问题。
3 前馈神经网络 3.2多层感知器
3 前馈神经网络 3.2多层感知器 具有不同隐层数的感知器的分类能力对比
3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型
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)
对于输出层: 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算法的多层前馈网络模型
单极性Sigmoid函数: (3.4.5) 双极性Sigmoid函数: 3 前馈神经网络 3.4误差反传(BP)算法 3.4.1 基于BP算法的多层前馈网络模型
输出误差E定义: (3.4.6) (3.4.7) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.2 BP学习算法 一、网络误差 定义与权值调整思路 将以上误差定义式展开至隐层:
(3.4.8) 3 前馈神经网络 3.4误差反传(BP)算法 3.4.2 BP学习算法 一、网络误差与权值调整 进一步展开至输入层:
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
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)可写为
(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。
(3.4.13a) (3.4.13b) 对于输出层, o可展开为 对于隐层, y可展开为 下面求式(3.4.13)中网络误差对各层输出的偏导。
可得: (3.4.14a) 对于输出层,利用式(3.4.6): 对于隐层,利用式(3.4.7): 可得: (3.4.14b)
得到: (3.4.15a) (3.4.15b) 将以上结果代入式 并应用式 同理 至此两个误差信号的推导已完成。
(3.4.16a) (3.4.16b) 将式(3.4.15)代回到式(3.4.12),得到三层前馈网的BP学习算法权值调整计算公式为: