模式识别第3章人工神经网络及模式识别_第1页
模式识别第3章人工神经网络及模式识别_第2页
模式识别第3章人工神经网络及模式识别_第3页
模式识别第3章人工神经网络及模式识别_第4页
模式识别第3章人工神经网络及模式识别_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章

人工神经网络及模式识别

2023/2/12引言

模式识别:研究的是如何用计算机实现人脑的一些功能。人脑:可看作是由大量神经元组成的巨大的神经网络。人工神经网:1943年,McCulloch和Pitts提出了神经元的数学模型1949年,Hebb提出神经元的学习准则,为神经网络的学习算法奠定了基础50年代末,Rosenblatt提出了感知器模型,首次把神经网络的研究付诸工程实践。1982年,Hopfield提出了神经网络模型,设计出用电子线路实现这一网络的方案,开拓了神经网络用于联想记忆和优化计算的新途径,大大促进了神经网络的研究。1986年,Rumelhart及LeeCun等提出了多层感知器的反向传播算法,克服了阻碍感知器模型发展的重要障碍。现在神经网络的应用已渗透到多个领域,如智能控制、模式识别、信号处理、计算机视觉、优化计算、知识处理、生物医学工程等。2023/2/133.1人工神经元

3.1.1生物神经元

胞体。是神经细胞的本体(可看成系统)树突。长度较短,接受自其他神经元的信号(输入)轴突。它用以输出信号突触。它是一个神经元与另一个神经元相联系的部位,是一个神经元轴突的端部将信号(兴奋)传递给下一个神经元的树突或胞体;

对树突的突触多为兴奋性的,使下一个神经元兴奋;

而对胞体的突触多为抑制性,其作用是阻止下一个神经元兴奋。2023/2/14神经元的基本工作机制一个神经元有两种状态:兴奋和抑制。平时处于抑制状态的神经元,其树突和胞体接收其他神经元经由突触传来的兴奋电位;多个输入在神经元中以代数和的方式叠加;如果输入兴奋总量超过某个阈值,神经元就会被激发进入兴奋状态,发出输出脉冲,并由轴突的突触传递给其他神经元。神经元被触发之后有一个不应期,在此期间内不能被触发,然后阈值逐渐下降,恢复兴奋性。2023/2/153.1.2人工神经元

(1)输入xi:相当于其他神经元的输出;(2)权值ωi

:相当于突触的连接强度(3)f:是一个非线性函数,如阈值函数或Sigmoid函数2023/2/16神经元的动作:当f为阈值函数时,其输出为:也可写为:或:其中:2023/2/17选取不同的输出函数f,y的取值范围也不同则则某些算法要求f可微,此时通常选用Sigmoid函数:

若或:若则则或:Sigmoid函数的特性:1)非线性,单调性。2)无限次可微。3)当权值很大时可近似阈值函数。当权值很小时可近似线性函数。2023/2/18如果神经元ui接收来自另一神经元uj的输出,则当这两个神经元同时兴奋时,从uj到ui的权值wij就得到加强。具体到前述的神经元模型,可以将Hebb规则表现为如下的算法:

式中是对第i个权值的修正量η是控制学习速度的系数。太大会影响训练的稳定性,太小则使训练的收敛速度变慢,一般取0<η≤1;人工神经网络首先要以一定的学习准则进行学习,然后才能工作3.1.3神经元的学习算法–--

Hebb学习规则2023/2/193.2前馈神经网络3.2.1前馈神经网络(用于监督学习)网络的神经元接受前一级输入,并输出到下一级,无反馈。节点分为两类:输入节点与计算单元。每个计算单元可有任意个输入,但只有一个输出,而输出可藕合到任意多个其他节点的输入。前馈网络通常分为不同的层,第i层的输入只与第i-1层的输出相联。输入节点为第一层。输入和输出节点由于可与外界相连,称为可见层,而其他的中间层则称为隐层。2023/2/1103.2.2感知器(Perceptron)也称双层神经网络、单计算层感知器(1)输入层,也称为感知层每个节点接收一个输入信号,n个输入信号构成输入列向量X

(2)具有计算单元的输出层有m个神经元节点,均有信息处理能力,m个节点向外部输出信息,构成输出列向量O。(3)两层之间的连接权值

用权值列向量Wj表示,m个权向量构成单层感知器的权值矩阵W。

感知器模型示意图

2023/2/111感知器用于模式识别

输入X:样本的特征向量。

输出O:每个节点输出为:

输出向量O可以用来表示类别属性:例如:

若X∈ωj时,应使对应于该类的输出节点的输出Oj=1,

而其他节点的输出则为Oi=0(或-1),2023/2/112例:单计算节点感知器(1)设输入向量X=(x1,x2)T则输出为:ojx1-Tx2则由方程w1jx1+w2jx2-Tj=0确定了二维平面上的一条分界线。(2)输入n维向量,X=(x1,x2,…,xn)Twijx1+w2jx2+…+wnj

–Tj=0确定了n维空间上的一个分界平面可见:一个最简单的单计算节点感知器具有分类功能。可实现线性分类器感知器的学习规则可以用已知类别的模式向量或特征向量作为训练集若X∈ωj,应使对应于该类的输出节点的输出Oj=1,

而其他节点的输出则为Oi=0(或-1)设理想的输出为:Y=[y1,y2,y3,….,ym]T某次迭代(k)上的实际输出为:Y’=[y’1,y’2,y’3,….,y’m]T对权值ω利用Hebb规则作如下的修改:wij(k+1)=wij(k)+Δwij(k)其中:Δwij(k)=η(yj-y’j)xj,i=1,2,…,n;j=1,…,m

η为学习率,用于控制调整速度,太大会影响训练的稳定性,太小则使训练的收敛速度变慢,一般0<η≤1;2023/2/113感知器学习规则的训练步骤:(1)对各权值w0j(0),w1j(0),┄,wnj(0),j=1,2,┄,m

(m为计算层的节点数)赋予较小的非零随机数;(2)输入样本对{Xp,Yp},其中Xp=(-1,x1p,x2p,┄,xnp),

Yp为期望的输出向量,上标p代表样本对的序号,样本集中的样本总数为P,p=1,2,┄,P;(3)计算各节点的实际输出:yjp(k)=sgn[WjT(k)Xp],j=1,2,...,m(4)调整各节点对应的权值:Wj(k+1)=Wj(k)+η[Yjp-Yjp(k)]Xp,j=1,2,┄,m,(5)返回到步骤(2),输入下一对样本,周而复始直到对所有样本,感知器的实际输出与期望输出相等:Yjp(k)=Yjp2023/2/1142023/2/115感知器的学习过程与求取线性判别函数的过程是等价的感知器的一些特性:①两层感知器只能用于解决线性可分问题。②学习过程收敛很快,且与初始值无关。2023/2/116例:单计算节点感知器,3个输入。给定3对训练样本对如下:X1=(-1,1,-2,0)T

y1=1 X2=(-1,0,1.5,-0.5)T

y2=1X3=(-1,-1,1,0.5)T

y3=1设初始权向量W(0)=(0.5,1,-1,0)T,η=0.1。注意,输入向量中第一个分量x0恒等于-1,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。2023/2/117解:第一步输入X1,得

WT(0)X1=(0.5,1,-1,0)(-1,1,-2,0)T=2.5,y1(0)=sgn(2.5)=1W(1)=W(0)+η[y1-y1(0)]X1=(0.5,1,-1,0)T+0.1(-1-1)(-1,1,-2,0)T=(0.7,0.8,-0.6,0)T第二步输入X2,得

WT(1)X2=(0.7,0.8,-0.6,0)(-1,0,1.5,-0.5)T=-1.6y2(1)=sgn(-1.6)=-1W(2)=W(1)+η[y2-y2(1)]X2=(0.7,0.8,-0.6,0)T+0.1[-1-(-1)](-1,0,1.5,-0.5)T=(0.7,0.8,-0.6,0)T=W(1)第三步输入X3,得

WT(2)X3=(0.7,0.8,-0.6,0)(-1,-1,1,0.5)T=-2.1y3(2)=sgn(-2.1)=-1W(3)=W(2)+η[d3-o3(2)]X3=(0.7,0.8,-0.6,0)T+0.1[1-(-1)](-1,-1,1,0.5)T=(0.5,0.6,-0.4,0.1)T

第四步返回到第一步,继续训练直到yp(k)-yp=03.2.3三层前馈网络及MLP三层前馈网络由输入层、中间层和输出层构成。有两个计算层也称三层感知器能够求解非线性问题三层或三层以上的前馈网络通常又被叫做多层感知器(Multi-LayerPerceptron.简称MLP)。由三部分组成:①、一组感知单元组成输入层;②、一层或多层计算节点的隐藏层;③、一层计算节点的输出层。MLP的表示:输入节点数-第1隐层节点数-第2隐层节点数-…,-输出节点数。如图,可表示为:4-4-3网络2023/2/118用感知器实现逻辑“与”功能y=sgn(0.5x1+0.5x2-0.75)2023/2/119感知器结构x1 x2 y0 0 00 1 01 0 01 1 1逻辑“与”真值表用感知器实现逻辑“或”功能y=sgn(x1+x2-0.5)2023/2/120感知器结构x1 x2 y0 0 00 1 11 0 11 1 1逻辑“或”真值表2023/2/121用感知器实现逻辑“与非”功能感知器结构y=sgn(-0.5x1-0.5x2+0.75)x1 x2 y0 0 10 1 11 0 11 1 0“与非”真值表2023/2/122单感知器不能实现“异或”功能“异或”的真值表x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 0只能解决线性可分问题2023/2/123多层感知器可实现非线性函数人工神经元可实现与非门,任何逻辑函数都可以由与非门组成任何逻辑函数都可用一个三层(只有两层计算单元)的前馈网络实现。当神经元的输出函数为Sigmoid函数时,上述结论可以推广到连续的非线性函数。在很宽松的条件下,三层前馈网络可以逼近任意的多元非线性函数,突破了二层前馈网络线性可分的限制。

感知器,决策域:平面;双层计算单元,决策域:凸区域三层计算单元,决策域:任意形状2023/2/1242023/2/124MLP能实现“异或”功能“异或”的真值表x1 x2 yy1y2 0 0 0 000 1 1 011 0 1 101 1 000只能解决线性可分问题2222-2-2x1x2yy1=sgn(2x1-2x2);y12=sgn(-2x1+2x2)y=sgn(2y1+2y2)2023/2/1253.2.4反向传播算法(BP法)三层前馈网络的适用范围大大超过二层前馈网络,但学习算法较为复杂,主要困难是中间的隐层不直接与外界连接,无法直接计算其误差。

BP算法(Back-Propogation)可解决这一问题。主要思想:从后向前(反向)逐层传播输出层的误差,以间接算出隐层误差。算法分为两个阶段:第一阶段(正向过程):输入信息从输入层经隐层逐层计算各单元的输出值;第二阶段(反向传播过程):输出误差逐层向前算出隐层各单元的误差,并用此误差修正前层权值。在反向传播算法中通常采用梯度法修正权值,为此要求输出函数可微,通常采用Sigmoid函数作为输出函数。2023/2/126第一阶段(正向过程)考虑如图所示的某层的某单元Oj当输入样本某个样本时,则若

输出函数是Sigmoid函数,则2023/2/126i:前层第i个单元k:后层第k个单元Oj:代表本层输出wij:前层到本层的权值第二阶段(反向传播过程)

对于输出层,Oj是实际输出,与理想输出yj的误差:局部梯度:

权值对误差的影响:负梯度修正权值:修正算法:2023/2/127i:前层第i个单元;:后层第k个单元Oj:本层输出;wij:前层到本层的权值实际计算时,为了加快收敛速度,一般要加上前次权值修正量,称为惯性量:η:步长α:惯性系数局部梯度的计算若节点j是输出单元,则输出量可得到:yj’=Oj2023/2/128若节点j不是输出单元,则若

输出函数是Sigmoid函数输出单元:非输出单元2023/2/1292023/2/129(逐个样本修正的)BP算法(1)选定权系数初始值wij,

步长η,惯性系数α(2)重复下述过程直至收敛(对各样本依次计算)①从前向后各层计算各单元(前向)计算误差:若E=0或小于一个设定的小常数E0,算法终止②对输出层计算:③从后向前计算各隐层:④计算并保存各权值修正量⑤修正权值(成批样本修正的)BP算法在(逐个样本修正的)BP算法中,可以按所有样本得到的求和,然后按总误差修正。算法类似。2023/2/130训练误差与迭代次数的关系曲线,称为学习曲线。学习曲线可以看出收敛速率及收敛情况。误差

迭代次数学习曲线2023/2/131BP算法的问题BP算法解决了隐层权值修正问题。可以用于三层或更多层的前馈网络。问题:可能陷入局部极小点,不能达到全局收敛。初始权值不能设为0或都相同(此时,各隐层单元无差异,运算不能正常进行)。初始权值对收敛有影响。解决办法:用较小的随机数做初始权值。不收敛时,改变权值,试算。2023/2/132参数η和α的影响η:影响收敛性影响

不同的问题其最佳值相差很大通常可在0.1~0.3之间试探,复杂的问题用较大的值。α:影响收敛速度

在很多应用中其值可在0.9~1之间选择(比如0.95)

α≥1时,不收敛;

也可不用惯性项(即α=0)。2023/2/1332023/2/134MLP用于模式识别三层网络可以应付任何问题,但对于较复杂的问题,更多层的网络有可能获得更精简的结果。输入层:由特征向量构成。输入单元数是特征维数输出层:由类别构成。输出单元数目可以是类数。隐层单元数:单元数目如何确定则缺乏有效的方法。问题越复杂,需要的隐层单元越多;隐层单元越多越容易收敛。但会增加计算量,而且会产生“过学习”效果,使对未出现过的样本的推广能力变差。隐层单元数难以确定时,可以先选较多单元数,待学习完成后,再逐步删除一些隐层单元。若性能明显变坏,则恢复原状,逐个测试各隐层单元的贡献,把不必要的删去。2023/2/1353.2.5其他神经网络径向基函数网络(可用于非监督学习)自组织映射神经网络(SOM)网络Hopfield网络:是一种反馈网络2023/2/1362023/2/1363.3竞争学习和侧抑制前述前馈网络属于监督学习,需要同时提供输入样本和相应的理想输出。引进竞争机制的前馈网络可以实现无监督学习,完成聚类的任务。竞争学习网络的结构与二层前馈网络类似,只是在输出层加上了侧抑制,如图所示。竞争学习网络结构示意图2023/2/1372023/2/137侧抑制(不讲,自学)侧抑制是在输出层各单元之间相互用较大的负权值输入对方的输出,这种互连构成正反馈,类似于双稳态或多稳态触发器。竞争的结果是,具有较大输入的单元输出为1,而其他单元的输出都为0。网络动作机制为:2023/2/1382023/2/138初始值及权向量的处理:学习时先用随机数作为权值初始值,为了防止某个输出单元的权值过大造成不应有的侧重,在初始值和整个学习过程中随时将权向量进行归一化处理,即使得学习算法:当样本为归一化样本(||x||=1)时,学习可按如下算法进行:2023/2/1392023/2/139注意的问题网络不可能收敛。因此可以采取强制收敛的方法,在学习过程中将步长参数缓慢减少至零。学习结果受初始值和学习样本顺序影响很大。聚类的结果未必是我们想要的结果,因此在实际应用时需要加入适当的人工干预。例如先选择少量典型性好的样本作为权向量初始。2023/2/1403.4神经网络用于模式识别的典型做法

3.4.1多层前馈网络用于模式识别在各种人工神经网络模型中,在模式识别中应用最多的也是最成功的当数多层前馈网络,其中又以采用BP学习算法的多层感知器(习惯上也简称为BP网络)为代表。由于网络采用的是监督学习方式进行训练,因此只能用于监督模式识别问题。一般有以下两种应用方式:1、多输出型2、单输出型2023/2/141一、多输出型

输入层:对应样本特征向量,每一个节点对应一个特征输出层:节点数等于类别数,一个输出节点对应一个类。训练阶段:如果输入训练样本的类别标号是i,则训练时的期望输出设为第个节点为1,而其余输出节点均为0。识别阶段:未知类别的样本作用到输入端时,样本的类别判定为与输出值最大的那个节点对应的类别。若输出最大的节点与其他节点输出的差较小,可作拒绝决策。“1-0”编码模式或者“C中取1”模式:m个输出节点,用它们的某种编码来代表C个类别。2023/2/1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论