Download presentation
Presentation is loading. Please wait.
1
第十一章 人工神经网络建模(Artificial Neuron Nets)
一、引例 1981年生物学家格若根(W. Grogan)和维什(W.Wirth)发现了两类蚊子(或飞蠓midges).他们测量了这两类蚊子每个个体的翼长和触角长,数据如下: 翼长 触角长 类别 Af Af Af Af Af Af Af 翼长 触角长 类别 Apf Apf Apf Af Apf Apf Apf Af
2
问:如果抓到三只新的蚊子,它们的触角长和翼长分别为(l. 24,1. 80); (l. 28,1. 84);(1. 40,2
解法一: 把翼长作纵坐标,触角长作横坐标;那么每个蚊子的翼长和触角决定了坐标平面的一个点.其中 6个蚊子属于 APf类;用黑点“·”表示;9个蚊子属 Af类;用小圆圈“。”表示. 得到的结果见图1
3
图1 飞蠓的触角长和翼长
4
思路:作一直线将两类飞蠓分开 例如;取A=(1.44,2.10)和 B=(1.10,1.16),过A B两点作一条直线: y= 1.47x , 其中X表示触角长;y表示翼长. 分类规则:设一个蚊子的数据为(x, y), 如果y≥1.47x ,则判断蚊子属Apf类; 如果y<1.47x ;则判断蚊子属Af类.
5
分类结果:(1.24,1.80),(1.28,1.84)属于Af类;(1.40,2.04)属于 Apf类.
图2 分类直线图
6
•缺陷:根据什么原则确定分类直线? 若取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类 哪一分类直线才是正确的呢? 因此如何来确定这个判别直线是一个值得研究的问题.一般地讲,应该充分利用已知的数据信息来确定判别直线.
7
再如,如下的情形已经不能用分类直线的办法:
新思路:将问题看作一个系统,飞蠓的数据作为输入,飞蠓的类型作为输出,研究输入与输出的关系。
8
二、神经元与神经网络 大脑可视作为1000多亿神经元组成的神经网络 神经元的解剖图 图3 神经元的解剖图
9
神经元的信息传递和处理是一种电化学活动.树突由于电化学作用接受外界的刺激;通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位;再通过轴突末梢传递给其它的神经元.从控制论的观点来看;这一过程可以看作一个多输入单输出非线性系统的动态过程 神经网络研究的两个方面 从生理上、解剖学上进行研究 从工程技术上、算法上进行研究
10
三、人工神经网络(Artificial Neuron Nets, 简称ANN)
神经元的数学模型 图4神经元的数学模型
11
其中x=(x1,…xm)T 输入向量,y为输出,wi是权系数;输入与输出具有如下关系:
θ为阈值,f(X)是激发函数;它可以是线性函数,也可以是非线性函数.
12
例如,若记 取激发函数为符号函数
13
则 S型激发函数:
14
或 注:若将阈值看作是一个权系数,-1是一个固定的输入,另有m-1个正常的输入,则(1)式也可表示为: (1)‘ (1)‘
参数识别:假设函数形式已知,则可以从已有的输入输出数据确定出权系数及阈值。
15
2、神经网络的数学模型 众多神经元之间组合形成神经网络,例如下图的含有中间层(隐层)的B-P网络 图5 带中间层的B-P网络
16
3、量变引起质变------神经网络的作用
(1)蚂蚁群 一个蚂蚁有50个神经元,单独的一个蚂蚁不能做太多的事;甚至于不能很好活下去.但是一窝蚂蚁;设有 10万个体,那么这个群体相当于500万个神经元(当然不是简单相加,这里只为说明方便而言);那么它们可以觅食、搬家、围攻敌人等等.
17
(2)网络说话 人们把一本教科书用网络把它读出来(当然需要通过光电,电声的信号转换);开始网络说的话像婴儿学语那样发出“巴、巴、巴”的声响;但经过B-P算法长时间的训练竟能正确读出英语课本中 90%的词汇. 从此用神经网络来识别语言和图象形成一个新的热潮.
18
4、人工神经网络的基本特点 (1)可处理非线性
(2)并行结构.对神经网络中的每一个神经元来说;其运算都是同样的.这样的结构最便于计算机并行处理. (3)具有学习和记忆能力.一个神经网络可以通过训练学习判别事物;学习某一种规律或规则.神经网络可以用于联想记忆.
19
(4)对数据的可容性大.在神经网络中可以同时使用量化数据和质量数据(如好、中、差、及格、不及格等).
(5)神经网络可以用大规模集成电路来实现.如美国用 256个神经元组成的神经网络组成硬件用于识别手写体的邮政编码.
20
四、反向传播算法(B-P算法) Back propagation algorithm
算法的目的:根据实际的输入与输出数据,计算模型的参数(权系数) 1.简单网络的B-P算法
21
图6 简单网络
22
假设有P个训练样本,即有P个输入输出对 (Ip, Tp),p=1,…,P, 其中输入向量为 , 目标输出向量为(实际上的)
23
网络输出向量为 (理论上的) 记wij为从输入向量的第j (j=1,…,m) 个分量到输出向量的第i (i=1,…,n)个分量的权重。通常理论值与实际值有一误差,网络学习则是指不断地把与比较,并根据极小原则修改参数wij,使误差平方和达最小: (p=1,…,P) (2)
24
Delta学习规则: 记 表示递推一次的修改量,则有 (3) (4) 称为学习的速率
25
注:由(1)‘ 式,第i个神经元的输出可表示为
ipm= -1 , wim= (第i个神经元的阈值) (5) 特别当f是线性函数时 (6)
27
2.多层前馈网络 图7 多层前馈网络
28
假设: (l)输入层不计在层数之内,它有N0个神经元.设网络共有L层;输出层为第L层;第 k层有Nk个神经元. (2) 设
表示第k层第i神经元所接收的信息 wk(i,j) 表示从第k-1层第j个元到第k层第i个元的权重, 表第k层第i个元的输出
29
(3)设层与层间的神经元都有信息交换(否则,可设它们之间的权重为零);但同一层的神经元之间无信息传输.
(4) 设信息传输的方向是从输入层到输出层方向;因此称为前向网络.没有反向传播信息. (5) 表示输入的第j个分量.
30
在上述假定下网络的输入输出关系可以表示为:
(7) 其中表示第k层第i个元的阈值.
31
定理2 对于具有多个隐层的前馈神经网络;设激发函数为S函数;且指标函数取
(8) (9)
32
则每个训练循环中按梯度下降时;其权重迭代公式为
(10) 表示第-1层第个元对第层第个元输入的第次迭代时的权重
33
其中 (11) (12)
34
BP算法 Step1 Step2 Step3 选定学习的数据,p=1,…,P, 随机确定初始权矩阵W(0) 用学习数据计算网络输出
用(10)式反向修正,直到用完所有学习数据.
35
五.应用之例:蚊子的分类 已知的两类蚊子的数据如表1:
36
翼长 触角长 类别 Apf Apf Apf Af Apf Apf Apf Af 目标值 0.9 0.1
37
翼长 触角长 类别 Af Af Af Af Af Af Af 目标t 0.1
38
输入数据有15个,即 , p=1,…,15; j=1, 2; 对应15个输出。
建模:(输入层,中间层,输出层,每层的元素应取多少个?) 建立神经网络
39
规定目标为: 当t(1)=0.9 时表示属于Apf类,t(2)=0.1表示属于Af类。
设两个权重系数矩阵为:
40
其中 为阈值 (分析如下: 为第一层的输出,同时作为第二层的输入。
41
其中, 为阈值, 为激励函数 若令 (作为一固定输入) (阈值作为固定输入神经元相应的权系数) 则有:
42
取激励函数为
43
则 = 同样,取 则
44
具体算法如下: 令p=0 =rand(2,3); =rand(1,3); (2) 根据输入数据利用公式算出网络的输出
(1)随机给出两个权矩阵的初值;例如用MATLAB软件时可以用以下语句: =rand(2,3); =rand(1,3); (2) 根据输入数据利用公式算出网络的输出
45
= 取
46
(3)计算 因为 所以 (4)取 (或其他正数,可调整大小) 计算 j=1,2,3
47
j=1,2,3 和 (5) 计算 j=1,2,3, i=1,2,3,
48
(6) p=p+1,转(2) 注:仅计算一圈(p=1,2,…,15)是不够的,直到当各权重变化很小时停止,本例中,共计算了147圈,迭代了2205次。 最后结果是:
49
即网络模型的解为: =
Similar presentations