Upload
kawena
View
262
Download
3
Embed Size (px)
DESCRIPTION
第十一章 人工神经网络建模 ( Artificial Neuron Nets ). 1981 年生物学家格若根( W . Grogan )和维什( W . Wirth )发现了两类蚊子 ( 或飞蠓 midges) .他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:. 一、引例. 翼长 触角长 类别 1.64 1.38 Af 1.82 1.38 Af 1.90 1.38 Af 1.70 1.40 Af 1.82 1.48 Af - PowerPoint PPT Presentation
Citation preview
第十一章 人工神经网络建模( Artificial Neuron Nets )
• 一、引例 • 1981 年生物学家格若根( W . Grogan )和维什( W . Wirth )发
现了两类蚊子 ( 或飞蠓 midges) .他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:
• 翼长 触角长 类别• 1.64 1.38 Af
• 1.82 1.38 Af
• 1.90 1.38 Af
• 1.70 1.40 Af
• 1.82 1.48 Af
• 1.82 1.54 Af
• 2.08 1.56 Af
• 翼长 触角长 类别• 1.78 1.14 Apf
• 1.96 1.18 Apf
• 1.86 1.20 Apf
• 1.72 1.24 Af
• 2.00 1.26 Apf
• 2.00 1.28 Apf
• 1.96 1.30 Apf
• 1.74 1.36 Af
• 问:如果抓到三只新的蚊子,它们的触角长和翼长分别为 (l.24,1.80); (l.28 , 1.84) ;( 1.40 , 2.04 ).问它们应分别属于哪一个种类?
• 解法一:
• 把翼长作纵坐标,触角长作横坐标;那么每个蚊子的翼长和触角决定了坐标平面的一个点 .其中 6 个蚊子属于 APf 类;用黑点“ ·” 表示; 9 个蚊子属 Af 类;用小圆圈“。”表示.
• 得到的结果见图 1
• 图 1 飞蠓的触角长和翼长
• 思路:作一直线将两类飞蠓分开
• 例如;取 A =( 1.44 , 2.10 )和 B = (1.10 ,1.16) ,过 A B 两点作一条直线:
• y = 1.47x - 0.017 ,• 其中 X 表示触角长; y 表示翼长.
• 分类规则:设一个蚊子的数据为( x, y ) ,• 如果 y≥1.47x - 0.017 ,则判断蚊子属 Apf 类;• 如果 y < 1.47x - 0.017 ;则判断蚊子属 Af 类.
• 分类结果: (1.24 , 1.80) , (1.28 , 1.84)属于 Af 类; (1.40 , 2.04 )属于 Apf 类.
图 2 分类直线图
• · 缺陷:根据什么原则确定分类直线?
• 若取 A=(1.46,2.10), B=(1.1,1.6) 不变,则分类直线变为 y=1.39x+0.071
分类结果变为: (1.24,1.80) , (1.40,2.04) 属于 Apf类; (1.28,1.84) 属于 Af 类
• 哪一分类直线才是正确的呢?
• 因此如何来确定这个判别直线是一个值得研究的问题.一般地讲,应该充分利用已知的数据信息来确定判别直线.
• 再如,如下的情形已经不能用分类直线的办法:
• 新思路:将问题看作一个系统,飞蠓的数据作为输入,飞蠓的类型作为输出,研究输入与输出的关系。
二、神经元与神经网络
• 大脑可视作为 1000 多亿神经元组成的神经网络• 神经元的解剖图
• 图 3 神经元的解剖图
• 神经元的信息传递和处理是一种电化学活动.树突由于电化学作用接受外界的刺激;通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位;再通过轴突末梢传递给其它的神经元.从控制论的观点来看;这一过程可以看作一个多输入单输出非线性系统的动态过程
• 神经网络研究的两个方面• 从生理上、解剖学上进行研究• 从工程技术上、算法上进行研究
三、人工神经网络( Artificial Neuron Nets, 简称 ANN )
• 神经元的数学模型
• 图 4 神经元的数学模型
• 其中 x =( x1 ,… xm ) T 输入向量, y 为输出,wi 是权系数;输入与输出具有如下关系:
m
iii xwfy
1
)(
• θ 为阈值, f ( X )是激发函数;它可以是线性函数,也可以是非线性函数.
例如,若记
• 取激发函数为符号函数
m
iiixwz
1
.0,0
,0,1)sgn(
x
xx
则
• S 型激发函数:
m
iii
m
iii
xw
xwzfy
1
1
,,0
,,1)(
,1
1)(
xexf
;1)(0 xf
或
• 注:若将阈值看作是一个权系数, -1 是一个固定的输入,另有 m-1 个正常的输入,则( 1 )式也可表示为: ( 1 )‘
,)(xx
xx
ee
eexf
.1)(1 xf
m
iii xwfy
1
)( • ( 1 )‘
• 参数识别:假设函数形式已知,则可以从已有的输入输出数据确定出权系数及阈值。
2 、神经网络的数学模型
• 众多神经元之间组合形成神经网络,例如下图的含有中间层(隐层)的 B-P 网络
• 图 5 带中间层的 B-P 网络
3、量变引起质变 ------ 神经网络的作用
• ( 1 )蚂蚁群
• 一个蚂蚁有 50个神经元,单独的一个蚂蚁不能做太多的事;甚至于不能很好活下去.但是一窝蚂蚁;设有 10 万个体,那么这个群体相当于 500 万个神经元(当然不是简单相加,这里只为说明方便而言);那么它们可以觅食、搬家、围攻敌人等等.
( 2 )网络说话
• 人们把一本教科书用网络把它读出来(当然需要通过光电,电声的信号转换);开始网络说的话像婴儿学语那样发出“巴、巴、巴”的声响;但经过 B- P 算法长时间的训练竟能正确读出英语课本中 90%的词汇.
• 从此用神经网络来识别语言和图象形成一个新的热潮.
4 、人工神经网络的基本特点
• ( 1 )可处理非线性
• ( 2 )并行结构.对神经网络中的每一个神经元来说;其运算都是同样的.这样的结构最便于计算机并行处理.
• ( 3 )具有学习和记忆能力.一个神经网络可以通过训练学习判别事物;学习某一种规律或规则.神经网络可以用于联想记忆.
• ( 4 )对数据的可容性大.在神经网络中可以同时使用量化数据和质量数据(如好、中、差、及格、不及格等).
• ( 5 )神经网络可以用大规模集成电路来实现.如美国用 256 个神经元组成的神经网络组成硬件用于识别手写体的邮政编码.
四、反向传播算法( B-P 算法) • Back propagation algorithm
• 算法的目的:根据实际的输入与输出数据,计算模型的参数(权系数)
• 1 .简单网络的 B-P 算法
• 图 6 简单网络
• 假设有 P 个训练样本,即有 P 个输入输出对• ( Ip, Tp ) ,p=1,…,P, •
• 其中输入向量为 ,
• 目标 输 出 向 量 为 (实际上的)
Tpmpp iiI ),...,( 1
Tpnpp ttT ),...,( 1
• 网络输出向量为 (理论上的)
Tpnpp ooO ),...,( 1
• 记 wij 为从输入向量的第 j (j=1,…,m) 个分量到输出向量的第 i (i=1,…,n) 个分量的权重。通常理论值与实际值有一误差,网络学习则是指不断地把与比较,并根据极小原则修改参数 wij ,使误差平方和达最小:
n
ipipi ot
1
2)(min • ( p=1,…,P ) • ( 2)
• 记• Delta 学习规则 :
ijijij www
P
ppjpipj
P
ppipiij iiotw
11
)(
pi pipi ot
( 4)
( 3 )
ijw 表示递推一次的修改量,则有
称为学习的速率
• ipm= -1 , wim= ( 第 i 个 神 经 元 的 阈 值 )
( 5 )
• 注:由( 1 )‘ 式,第 i 个神经元的输出可表示为
m
jpjijpi iwfo
1
)(
• 特别当 f 是线性函数时
biwaom
jpjijpi
1
)( ( 6 )
• 图 7 多层前馈网络
• 2 .多层前馈网络
假设: • ( l )输入层不计在层数之内,它有 N0 个神经元.设网
络共有 L 层;输出层为第 L 层;第 k 层有 Nk 个神经元.
• (2) 设 )(iuk 表示第 k 层第 i 神经元所接收的信息
wk(i,j) 表示从第 k-1 层第 j 个元到第 k 层第 i 个元的权重,
)(iak 表第 k 层第 i 个元的输出
• ( 3 )设层与层间的神经元都有信息交换(否则,可设它们之间的权重为零);但同一层的神经元之间无信息传输.
• (4) 设信息传输的方向是从输入层到输出层方向;因此称为前向网络.没有反向传播信息.
• ( 5 ) 表示输入的第 j 个分量.
)(0 ja
• 在上述假定下网络的输入输出关系可以表示为:
,1)),(()(
),()(),()(
.......................................
,1)),(()(
),()(),()(
,1)),(()(
),()(),()(
1
1
0
111
222
12122
111
11011
LLL
N
jLLLL
N
j
N
j
Niiufia
ijajiwiu
Niiufia
ijajiwiu
Niiufia
ijajiwiu
L
( 7 )
• 其中表示第 k 层第 i 个元的阈值 .
( 9 )
P
ppEE
1
LN
i
pL
pp iaitE
1
2)()( ))()((2
1
• 定理 2 对于具有多个隐层的前馈神经网络;设激发函数为 S 函数;且指标函数取
( 8)
( 10 )
• 则每个训练循环中按梯度下降时;其权重迭代公式为
),(),(),( )(1
)()1()( jajiwjiw pl
pl
pl
pl
,,...,1 Ll
表示第 -1 层第个元对第层第个元输入的第次迭代时的权重
),()( jiw pl
其中
))(())()(()( )(')()()( iufiaiti pL
pL
ppL
( 12 )
( 11 )
1
1
)1(1
)(1
)(')( ),()())(()(lN
j
pl
pl
pl
pl ijwjiufi
.11 Ll
BP 算法 • Step1 • 选定学习的数据 ,p=1,…,P, 随机确定初
始权矩阵 W ( 0 )• Step2
• 用( 10 )式反向修正 , 直到用完所有学习数据 .
用学习数据计算网络输出• Step3
),(),(),( )(1
)()1()( jajiwjiw pl
pl
pl
pl
,,...,1 Ll
•五.应用之例:蚊子的分类
• 已知的两类蚊子的数据如表 1 :
• 翼长 触角长 类别• 1.78 1.14 Apf• 1.96 1.18 Apf• 1.86 1.20 Apf• 1.72 1.24 Af• 2.00 1.26 Apf• 2.00 1.28 Apf• 1.96 1.30 Apf• 1.74 1.36 Af
目标值0.90.90.90.10.90.90.90.1
• 翼长 触角长 类别• 1.64 1.38 Af• 1.82 1.38 Af• 1.90 1.38 Af• 1.70 1.40 Af• 1.82 1.48 Af• 1.82 1.54 Af• 2.08 1.56 Af
目标 t0.10.10.10.10.10.10.1
• 输入数据有 15 个,即 , p=1,…,15; j=1, 2; 对应 15个输出。
• 建模:(输入层,中间层,输出层,每层的元素应取多少个?)
• 建立神经网络
• 规定目标为: 当 t(1)=0.9 时表示属于 Apf 类, t(2)=0.1 表示属于 Af 类。
• 设两个权重系数矩阵为:
)3,2()2,2()1,2(
)3,1()2,1()1,1(
111
1111 www
wwwW
)3,1()2,1()1,1( 2222 wwwW
• 其中 )()3,( jjw ii
(分析如下:
为第一层的输出,同时作为第二层的输入。
为阈值
)2()2()2,2()1()1,2()2(
)1()2()2,1()1()1,1()1(
101011
101011
awawu
awawu
))1(()1( 11 ufa ))2(()2( 11 ufa
• 其中, 为阈值, 为激励函数
1)3(0 a若令
(阈值作为固定输入神经元相应的权系数)
则有:
(作为一固定输入)
i f
jjw )3,(1 2,1j
• 取激励函数为
3
1010101011
3
1010101011
)(),2()3()3,2()2()2,2()1()1,2()2(
)(),1()3()3,1()2()2,1()1()1,1()1(
j
j
jajwawawawu
jajwawawawu
xexf
1
1)(
• 则 ))(()( 11 iufia =
•则
• 同样,取
))(exp(1
1
1 iu 2,1i
,1)3(1 a )3,1(2w
))1(exp(1
1)1(
)(),1()1(
22
3
1122
ua
jajwuj
令 p=0• 具体算法如下:
( 1 )随机给出两个权矩阵的初值;例如用 MATLAB软件时可以用以下语句:
)0(1W
)0(2W
=rand(2,3);
=rand(1,3);
(2) 根据输入数据利用公式算出网络的输出
取
3
1010101011
3
1010101011
)(),2()3()3,2()2()2,2()1()1,2()2(
)(),1()3()3,1()2()2,1()1()1,1()1(
j
j
jajwawawawu
jajwawawawu
))(()( 11 iufia ))(exp(1
1
1 iu= 2,1i
,1)3(1 a
))1(exp(1
1)1(
)(),1()1(
22
3
1122
ua
jajwuj
( 3)计算
xexf
1
1)(因为 所以
( 4 )取
(或其他正数,可调整大小)
计算
2'
)1()(
x
x
e
exf
))1(())1()1(()1( 2'
22 ufat 2
222 )))1(exp(1/())1(exp())1()1(( uuat
1.0
),1()1(2 jW P j=1,2,3
• j=1,2,3 )()1(),1(),1( )1(1
)1(2
)(2
)1(2 jajWjW pppp
)()1(1 ip(5) 计算 和 :),()1(
1 jiW p
)()1(1 ip 2
22)1(
2)1(
2 )))1(exp(1/())1(exp()),1()1(( uuiW pp
)()(),(),( )1(0
)1(1
)(1
)1(1 jaijiWjiW pppp
j=1,2,3, i=1,2,3,
• (6) p=p+1 ,转( 2 ) • 注:仅计算一圈( p=1 , 2 ,…, 15 )是不够的,
直到当各权重变化很小时停止,本例中,共计算了147 圈,迭代了 2205次。
• 最后结果是:
2764.02875.05787.0
5765.05976.75921.51W
9829.34838.04075.82 W
•即网络模型的解为:
2764.0)2(2875.0)1(5787.0)2(
5765.0)2(5976.7)1(5921.5)1(
001
001
aau
aau
))(()( 11 iufia ))(exp(1
1
1 iu2,1i=
))1(exp(1
1)1(
9829.3)2(4838.0)1(4075.8)1(
22
112
ua
aau