第十一章 人工神经网络建模 ( Artificial Neuron Nets )

Preview:

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

Recommended