人工神经网络.pdf
更新
y(t )(w(t − 1) ∗ x(t )) > 0 . y(t )(w(t − 1) ∗ x(t )) ≤ 0
( x (t ) 分错)
控制收敛速度的参数
5.1 感知机
学习算法收敛性:
对线性可分的数据有下面的定理。
定理(Novikoff):假设训练数据有界 x(i ) ≤ D, 两类样本的最大边界距离(maximal margin)为 2ρ (线性SVM)。则当学习速度参数η = 1 时, 2 次更新就会收敛。 D 感知机学习算法至多做
x2
x1 0 0 1 1
A
B
B
A
x1
5.2 多层感知机
解决XOR问题
x2
A
B
B
A
x1
5.2 多层感知机
两层神经网络解决XOR问题的真值表
第一层
x1 0 0 1 1
x2 0 1 0 1
y1 0 1 1 1
y2 0 0 0 1
第二 层 B(0) A(1) A(1) B(0)
y2
B
BLeabharlann Ay15.2 多层感知机
5.2 多层感知机
例: (XOR问题)
问题的提出以及重要性:
1956-1958年Rosenblatt提出感知机,是为了实现 另一种形式(模拟)的计算机。与数字计算机形 成鲜明对照。 数字计算机是用逻辑门电路实现的。逻辑门电路 的设计:AND, OR, NOT; 实际上,数字计算机的所有逻辑电路都是用XOR 门实现的。
MLPs具有一致逼近能力,因此可以学习这个函 数,也就解决了XOR问题。后面要讲到的RBF网 络也是一致逼近子,也可以解决XOR问题。
5.2 多层感知机
多层感知机把输入空间变换到由其隐层 输出所张成的空间,然后在这个空间中 进行线性分类。
5.2 多层感知机
与Bayes决策的关系:对两类问题[0,1], 采用最小均方误差训练时,多层感知机 的输出是Bayes后验概率的估计。
5.3 反向传播算法
计算步骤:
初始值选择 前向计算: 求出所有神经元的输出 v j (t ); 反向计算各隐层的局部梯度:
δ j (t ), ∇E.
更新网络权重:
w(k ) = w(k − 1) + η∇E.
5.3 反向传播算法
准则的选用:通常用LMS:
稳定,计算量比LS小; LMS的最优解的数学期望收敛到LS的最优解。 收敛速度快。
2 ρ
5.1 感知机
对应于线性判别函数 算法的问题:
对线性不可分的数据,算法不收敛!
一个解决方案:
多层感知机,非线性分类器。
5.2 多层感知机
5.2 多层感知机
多层感知机(Multilayer Perceptrons)结构:
o
ϕ
wi
输出层
ϕ h
2 w kj
2 1
ϕ h
2 2
5.3 反向传播算法
5.3 反向传播算法
多层感知机的中间隐层不直接与外界连 接,其误差无法估计。 反向传播算法
从输入层经隐层逐层正向计算各单元的输出; 由输出误差逐层反向计算隐层各单元的误差, 并用此误差修正前层的权值。
5.3 反向传播算法
反向传播:Back-Propagation (BP) 符号:
5.3 反向传播算法
最小平方误差(Least Square)准则:
平方误差:
1 n 2 1 n E = ∑ e (t ) = ∑ ( y (t ) − o(t )) 2 . 2 t =1 2 t =1
最速下降法:
w(k ) = w(k − 1) − η∇E.
∇E 要用到所有的训练数据 — 批处理。
第五章 人工神经网络简介
5.0 引言 5.1 感知机 5.2 多层感知机 5.3 反向传播算法 5.4 径向基函数网络 5.5 说明
5.0 引言
5.0 引言
人工神经网络结构:
示例:
神经元
输出信号
输入信号
M
M
连接权重
M
5.0 引言
神经元:
x1 x2
连接权重
w1 w2
y = ϕ (u ) = ϕ (∑ wi x i + b )
i =1 d
ϕ
y
M
x
d
wd
b
5.0 引言
Hebb学习规则:如果神经元 u j 接收来自 另一个神经元 ui 的输出,则当这两个神经 元同时兴奋时,从 ui 到 u j 的权值 wij 就得 到加强。
∆wij = ηyxi
5.0 引言
发展历程:
McCulloch-Pitts模型( McCulloch, Pitts 1943 ); Hebb提出神经元学习准则(1949) 感知机(Rosenblatt 1958); Hopfield模型(1982) 多层感知机与反向传播算法(Rumelhart, Hinton 1986).
5.2 多层感知机
XOR是通用门(universal logic gate):任何一个逻 辑电路都可以只用XOR门来实现(因为用XOR 可以实现AND、OR、NOT)。而AND, OR, NOT 都不是通用门。 能否实现XOR关系到学习机的“学习”能力,若连 XOR都实现不了,更不用谈实现计算机。
两层感知机解决XOR问题
1 x1 1 -1/2 1 x2 1 -1 -3/2 -1/2 1
5.2 多层感知机
多层感知机为什么能解决XOR问题?
XOR可以看作两类的分类学习问题: (0,0)、(1,1)是一类,(1,0)、(0,1)是一类。学习一 个连续函数 ϕ ,满足:
ϕ (( 0 , 0 )) = ϕ (( 1,1)) = 1, ϕ (( 1, 0 )) = ϕ (( 0 ,1)) = − 1 .
5.2 多层感知机
E(ω) = ∑[ϕ ( x, w) −1]2 + ∑[ϕ ( x, w)]2
x∈I x∈II
≈ P(ω1 )∫ [ϕ ( x, w) −1]2 P( x | ω1 )dx + P(ω2 )∫ [ϕ ( x, w)]2 P( x | ω2 )dx = ∫ [ϕ ( x, w) −1]2 P( x) P(ω1 | x)dx + ∫ [ϕ ( x, w)]2 P( x) P(ω2 | x)dx = ∫ ϕ 2 ( x, w)P( x)dx − 2∫ ϕ ( x, w) P( x)P(ω1 | x)dx + ∫ P( x) P(ω1 | x)dx = ∫ [ϕ ( x,w) − P(ω1 | x)]2 P( x)dx + ∫ P(ω1 | x)[1 − P(ω1 | x)]P( x)dx
5.3 反向传播算法
当
vj
为输出节点时: o
j
(t) = ϕ(v j (t ))
∂E ∂E (t ) ∂o j (t ) = • δ j (t ) = ∂v j (t ) ∂o j (t ) ∂v j (t ) = −( y j (t ) − o j (t ))ϕ (v j (t )).
'
5.3 反向传播算法
x(t ) ∈ ω1 . x(t ) ∈ ω 2
权重: w(t ) = {w0 (t ), w1 (t ), w2 (t ),L, wd (t )}.
5.1 感知机
学习算法: 是LMS算法 (1)初始化 w(0) = {0,0, L ,0}.
(2)迭代
保持
( x (t ) 分对)
w(t − 1) w(t ) = w(t − 1) + η y(t ) x(t )
5.3 反向传播算法
BP算法:
+1
u j (t )
ui (t )
w ij
= ϕ (v j (t ))
w
jk
ϕ (vk (t ))
M
v j (t )
u j (t )
vk (t )
u k (t )
v j (t ) = ∑ wij (t )ui (t )
i
第j个神经元
第k个神经元
5.3 反向传播算法
当
vj
不是输出节点时,局部梯度的反向传播:
∂E δ j (t ) = ∂v j (t ) ∂E (t ) ∂uk (t ) ∂o j (t ) • • =∑ ∂o j (t ) ∂v j (t ) k ∂u k (t ) = ∑ δ k (t )w jkϕ ' (vk (t ))
k
对所有以神经元j的输出为输入的k求和。
L L L
ϕ
2 hn 2
ϕ h
w 1ji
1 1
ϕ
1 h2
隐含层
ϕ
x
1
x
2
x
d
输入层
5.2 多层感知机
激活函数(activation function):
符号函数(不可微): ϕ ( u ) = sgn( u ). Sigmoid函数(可微):
ϕ (u ) =
1 1 + e −u
ϕ (u )
u
v j (t ) =
∑
i
w ij ( t ) u i ( t )
考虑局部梯度δ j (t ) 和权值 wij 对误差的影响
∂E ∂e(t ) ' δ j (t ) = = e(t ) ϕ (v j (t )). ∂v j (t ) ∂u j (t )