第五章人工神经网络简介
? 5.0 引言
? 5.1感知机
? 5.2 多层感知机
? 5.3 反向传播算法
? 5.4 径向基函数网络
? 5.5 说明
5.0 引言
5.0 引言
?人工神经网络结构:
?示例:
神经元
M M
M
连接权重输出信号输入信号
5.0 引言
?神经元:
M
1
x
2
x
d
x
1
w
2
w
d
w
b
连接权重
)(
)(
1
bxw
uy
i
d
i
i
+=
=

=
y
5.0 引言
? Hebb学习规则:如果神经元接收来自另一个神经元的输出,则当这两个神经元同时兴奋时,从到的权值就得到加强。
iij
yxw η=?
i
u
j
u
i
u
j
u
ij
w
5.0 引言
?发展历程:
? McCulloch-Pitts模型( McCulloch,Pitts 1943 );
? Hebb提出神经元学习准则(1949)
?感知机(Rosenblatt 1958);
? Hopfield模型(1982)
?多层感知机与反向传播算法(Rumelhart,
Hinton 1986).
5.0 引言
?大规模并行、分布表达和计算
?本质上可以理解为函数逼近
5.1 感知机
5.1 感知机
?感知机(Perceptrons)模型:
)(u?
M
1
x
2
x
d
x
1
w
2
w
d
w
b
1
u
y
1?
).sgn()( uu =?
)sgn(
1
bxwy
i
d
i
i
+=

=
线性分类器!
5.1 感知机
?等价表示:
M
1
x
2
x
d
x
1
w
2
w
d
w
bw =
0
1
0
+=x
固定输入
y
输出输入信号
5.1 感知机
?感知机的学习算法:
?训练数据:
?权重:
))(),((,)),2(),2((),)1(,)1(( nynxyxyx L
.
)(1
)(1
)(
)},(,),(),(1{)(
2
1
21
∈?
∈+
=
+=
ω
ω
tx
tx
ty
txtxtxtx
d
L,
增广向量
)}.(,),(),(),({)(
210
twtwtwtwtw
d
L=
5.1 感知机
?学习算法:
(1)初始化
(2)迭代是
}.0,,0,0{)0( L=w
LMS算法
(分对))(tx
保持
.
0))()1()(()()()1(
0))()1()(()1(
)(
≤+?
>
=
txtwtytxtytw
txtwtytw
tw
η
更新
(分错))(tx
控制收敛速度的参数
5.1 感知机
?学习算法收敛性:
对线性可分的数据有下面的定理。
定理(Novikoff):假设训练数据有界,
两类样本的最大边界距离(maximal margin)为
(线性SVM)。则当学习速度参数时,
感知机学习算法至多做次更新就会收敛。
Dix ≤)(
ρ2 1=η
2
2
ρ
D
5.1 感知机
?对应于线性判别函数
?算法的问题:
对线性不可分的数据,算法不收敛!
?一个解决方案:
多层感知机,非线性分类器。
5.2 多层感知机
5.2 多层感知机
?多层感知机(Multilayer Perceptrons)结构:
o
L
L
L
1
x
2
x
d
x
1
1
h
1
2
h
2
1
h
2
2
h
2
2
n
h
i
w


输出层
2
kj
w
隐含层
1
ji
w
输入层
5.2 多层感知机
?激活函数(activation function):
?符号函数(不可微):
? Sigmoid函数(可微):
).sgn()( uu =
)(u?
u
e
u
+
=
1
1
)(?
u
Logistic函数
5.2 多层感知机
?多层感知机的一致逼近性:
?定理(Funahashi(1989),Hornik(1989),
Stinchcombe& White(1989),Hecht(1989)):
具有一个隐含层的感知机,可以在闭区间上一致逼近任意连续函数。
?只要增加网络隐单元个数,就能提高逼近精度。因此,复杂的网络可以实现训练数据集上的零错误率分类器。
5.2 多层感知机
?例,(XOR问题)
?问题的提出以及重要性:
? 1956-1958年Rosenblatt提出感知机,是为了实现另一种形式(模拟)的计算机。与数字计算机形成鲜明对照。
?数字计算机是用逻辑门电路实现的。逻辑门电路的设计:AND,OR,NOT;
?实际上,数字计算机的所有逻辑电路都是用XOR
门实现的。
5.2 多层感知机
? XOR是通用门(universal logic gate):任何一个逻辑电路都可以只用XOR门来实现(因为用XOR
可以实现AND、OR、NOT)。而AND,OR,
NOT 都不是通用门。
?能否实现XOR关系到学习机的“学习”能力,若连
XOR都实现不了,更不用谈实现计算机。
5.2 多层感知机
?感知机不能解决。
1
x
2
x
1
w
2
w
b
y
5.2 多层感知机
?两个隐单元的三层感知机解决XOR问题。
1+
1+1+
1+
1+
5.1?
1+
1+
1+
1+
2?
5.0?
1
x
2
x
5.2 多层感知机
?多层感知机为什么能解决XOR问题?
? XOR可以看作两类的分类学习问题:
(0,0)、(1,1)是一类,(1,0)、(0,1)是一类。学习一个连续函数,满足:
MLPs具有一致逼近能力,因此可以学习这个函数,也就解决了XOR问题。后面要讲到的RBF网络也是一致逼近子,也可以解决XOR问题。
.1))1,0(())0,1((
,1))1,1(())0,0((
==
==


5.2 多层感知机
?多层感知机把输入空间变换到由其隐层输出所张成的空间,然后在这个空间中进行线性分类。
5.2 多层感知机
?与Bayes决策的关系:对两类问题[0,1],
采用最小均方误差训练时,多层感知机的输出是Bayes后验概率的估计。
5.2 多层感知机
dxxPxPxPdxxPxPwx
dxxPxPdxxPxPwxdxxPwx
dxxPxPwxdxxPxPwx
dxxPwxPdxxPwxP
wxwxE
IIxIx
)()]|(1)[|()()]|(),([
)|()()|()(),(2)(),(
)|()()],([)|()(]1),([
)|()],([)()|(]1),([)(
)],([]1),([)(
11
2
1
11
2
2
2
1
2
2
2
21
2
1
22
ωωω?
ωω
ω?ω?
ω?ωω?ω
ω
+?=
+?=
+?=
+?≈
+?=
∫∫
∫∫∫
∫∫
∫∫
∑∑
∈∈
5.3 反向传播算法
5.3 反向传播算法
?多层感知机的中间隐层不直接与外界连接,其误差无法估计。
?反向传播算法
?从输入层经隐层逐层正向计算各单元的输出;
?由输出误差逐层反向计算隐层各单元的误差,
并用此误差修正前层的权值。
5.3 反向传播算法
?反向传播:Back-Propagation (BP)
?符号:
训练数据:))(),((,)),2(),2((),)1(,)1(( nynxyxyx L
希望的输出值。

:)(
)},(,),(),(1{)(
21
ty
txtxtxtx
d
L+=
实际输出值。:)(to
误差。:)()()( totyte?=
5.3 反向传播算法
?最小平方误差(Least Square)准则:
?平方误差:
?最速下降法:
要用到所有的训练数据—批处理。
.)1()( Ekwkw= η
.))()((
2
1
)(
2
1
1
2
1
2
∑∑
==
==
n
t
n
t
totyteE
E?
5.3 反向传播算法
? Least-Mean-Square (LMS)算法:
?第步只用当前误差只用当前训练数据—串行处理。
t
.))()((
2
1
)(
2
1
22
totyteE?==
.
)(
)(
)(
))()((
w
to
te
w
to
totyE
=
=?
E?
5.3 反向传播算法
? BP算法:
))((
)(
tv
tu
j
j
=
M
1+
ij
w
)(tu
j
jk
w
))(( tv
k
)(tv
k
)(tu
k)(tv
j
)(tu
i

=
i
iijj
tutwtv )()()(
第j个神经元第k个神经元
5.3 反向传播算法

=
i
iijj
tutwtv )()()(
考虑局部梯度和权值对误差的影响
)(t
j
δ
ij
w
)).((
)(
)(
)(
)(
)(
'
tv
tu
te
te
tv
E
t
j
jj
j
δ
=
=
)()(
)(
)(
)()(
tut
tw
tv
tv
E
tw
E
ij
ij
j
jij
δ=
=
5.3 反向传播算法当为输出节点时:
j
v
))(()( tvto
jj
=
)).(())()((
)(
)(
)(
)(
)(
)(
'
tvtoty
tv
to
to
tE
tv
E
t
jjj
j
j
jj
j
δ
=
=
=
5.3 反向传播算法
))(()(
)(
)(
)(
)(
)(
)(
)(
)(
'
tvwt
tv
to
to
tu
tu
tE
tv
E
t
kjk
k
k
j
j
k
j
k
k
j
j
δ
δ


=
=
=
当不是输出节点时,局部梯度的反向传播:
j
v
对所有以神经元j的输出为输入的k求和。
5.3 反向传播算法
?计算步骤:
?初始值选择
?前向计算:
求出所有神经元的输出
?反向计算各隐层的局部梯度:
?更新网络权重:
);(tv
j
.),( Et
j
δ
.)1()( Ekwkw?+?= η
5.3 反向传播算法
?准则的选用:通常用LMS:
稳定,计算量比LS小;
LMS的最优解的数学期望收敛到LS的最优解。
收敛速度快。
5.4 径向基函数网络
5.4 径向基函数网络
?只有一个隐层,隐层单元采用径向基函数
?输出为隐层的线性加权求和
5.4 径向基函数网络
?径向基函数网络(RBFNs)结构:
o
L
L
L
1
x
2
x
i
w
d
x

ii
γμ,
()?
5.4 径向基函数网络
?径向基函数,Radial Basis Function (RBF)
?常用的径向基函数:
? Gauss函数:
? Inverse multiquadratics:
.)()(

=
m
i
iii
xwxf μγ?
d
x?∈
).
2
exp()(
2
r
r?=?
.
)1(
1
)(
2/12
+
=
r
r?
5.4 径向基函数网络
?采用基函数的加权和来实现对函数的逼近。
?把原始的非线性可分的特征空间变换到另一个空间(通常是高维空间),使得可以线性可分。
?用于模式识别的径向基函数网络等价于首先应用非参数方法估计出概率密度,
然后进行分类。
5.4 径向基函数网络
?主要用途:
?函数插值;
?函数逼近;
?模式识别:
?把模式识别看作从样本空间到类别的映射,用径向基函数重构映射。
d
X
}1,1{?
5.4 径向基函数网络
?参数估计:
?参数:
? RBF的
?隐单元的个数也要事先确定。
?估计方法:
?聚类的方法估计,LMS估计。
?非线性SVM。
iii
w γμ,,
m
mi,,2,1 L=
ii
γμ,
i
w
5.4 径向基函数网络
? RBFNs的一致逼近性能:
与MLPs一样,可以一致逼近闭区间上的任意连续函数。
5.4 径向基函数网络
? XOR问题:
? XOR问题可以非常容易地被RBF网络解决。
γ
μ )1,0(
1
=
γ
μ )0,1(
2
=
5.5 说明
5.5 说明
?感知机——线性判别函数
?多层感知机——非线性判别函数
?径向基函数网络——Parzen窗密度估计分类器
5.5 说明
? MLPs和RBFNs的过拟合现象:
?增加隐单元个数训练数据分类正确率提高。
?训练数据分类正确率提高?测试数据正确率提高。
?识别正确率与隐单元个数有很大关系!
5.5 说明错误率训练数据过拟合测试数据
40%
0
100
1 10
隐单元个数参考文献
? [1] S,Haykin,Neural Networks — A
Comprehensive Foundation (神经网络的综合基础),2
nd
Edition,Tsinghua University Press,
Prentice Hall Press,2001.
? [2] B,Ripley,Pattern Recognition and Neural
Networks,Cambridge University Press,1996.
? [3] H,White,Artificial Neural Networks —
Approximation &Learning Theory,Blackwell,1992.