神经网络ANN课件_第1页
神经网络ANN课件_第2页
神经网络ANN课件_第3页
神经网络ANN课件_第4页
神经网络ANN课件_第5页
已阅读5页,还剩61页未读, 继续免费阅读

下载本文档

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

文档简介

1、 神经网络绪论 一个人可以很容易地识别他人的脸孔,但计算机则很难做到这一点。这是因为脸孔的识别不能用一个精确的数学模型加以描述,而计算机工作则必须有对模型进行各种运算的指令才行,得不到精确的模型,程序也就无法编制。而大脑是由生物神经元构成的巨型网络,它在本质上不同于计算机,是一种大规模的并行处理系统,它具有学习、联想记忆、综合等能力,并有巧妙的信息处理方法。 人工神经网络(简称神经网络)也是由大量的、功能比较简单的形式神经元互相连接而构成的复杂网络系统,用它可以模拟大脑的许多基本功能和简单的思维方式。尽管它还不是大脑的完美元缺的模型,但它可以通过学习来获取外部的知识并存贮在网络内,可以解决计算

2、机不易处理的难题,特别是语音和图像的识别、理解、知识的处理、组合优化计算和智能控制等一系列本质上是非计算的问题。 因此,神经网络技术已成为当前人工智能领域中最令人感兴趣和最富有魅力的研究课题之一。一,生物神经元模型神经元是脑组织的基本单元,神经元由三部分构成:细胞体,树突和轴突;每一部分虽具有各自的功能,但相互之间是互补的。树突是细胞的输入端,通过细胞体间联结的节点“突触”接受四周细胞传出的神经冲动;轴突相当于细胞的输出端,其端部的众多神经未梢为信号的输出端子,用于传出神经冲动。神经元具有兴奋和抑制两种工作状态。当传入的神经冲动,使细胞膜电位升高到阀值(约为40mV)时,细胞进入兴奋状态,产生

3、神经冲动,由轴突输出。相反,若传入的神经冲动,使细胞膜电位下降到低于阀值时,细胞进入抑制状态,没有神经冲动输出。二,人工神经网络 人工神经网络(ANNS)常常简称为神经网络(NNS),是以计算机网络系统模拟生物神经网络的智能计算系统, 是对人脑或自然神经网络的若干基本特性的抽象和模拟。网络上的每个结点相当于一个神经元,可以记忆(存储)、处理一定的信息,并与其它结点并行工作。 人工神经元模型是以大脑神经细胞的活动规律为原理的,反映了大脑神经细胞的某些基本特征,但不是也不可能是人脑细胞的真实再现,从数学的角度而言,它是对人脑细胞的高度抽象和简化的结构模型。虽然人工神经网络有许多种类型,但其基本单元

4、人工神经元是基本相同的。如图是一个典型的人工神经元模型:神经网络的特点及其应用神经网络的应用领域 语音识别语音识别娃娃图像识别与理解人脸检测2022/9/1510神经网络的特点及其应用神经网络的应用领域机器人智能故障检测医学应用医学图像处理2022/9/1511神经网络的应用领域国防军事应用航天器姿态控制导弹的智能引导 2022/9/1512响应函数的基本作用控制输入对输出的激活作用对输入、输出进行函数转换将可能无限域的输入变换成指定的有限范围内的输出 (a)阈值函数 (b)线性函数(c)(d)非线性函数:Sigmoid函数 常见神经元响应函数神经元的模型确定之后,一个神经网络的特性及能力主要

5、取决于网络的拓扑结构及学习方法人工神经网络连接的几种基本形式前向网络 (a) 从输出到输入有反馈的前向网络 (b)用来存储某种模式序列层内互连前向网络 (c)限制层内同时动作的神经元;分组功能相互结合型网络 (d)人工神经网络典型结构神经网络的典型结构 典型网络结构简单单级网x1x2xno1o2onwnmw11w1mw2mwn1输出层输入层多级网输出层隐藏层输入层o1o2omx1x2xn神经网络的学习 通过向环境学习获取知识并改进自身性能是人工神经网络的一个重要特点,而性能改进是按照某种预定的度量通过调节权值达到学习目的的。学习方式有导师学习(有监督学习)无导师学习(无监督学习)再励学习202

6、2/9/1521神经网络的学习学习算法:学习算法是指针对学习问题的明确规则,不同的学习算法对神经元的权值调整的表达式是不同的。算法分类Hebb学习算法 学习算法随机学习算法竞争学习算法2022/9/1522神经网络的学习 学习算法误差校正学习算法是根据神经网络的输出误差对神经元的连接强度进行修正,属于有导师学习 权值调整公式:调整目标是使下述公式所表达的误差为最小2022/9/1524神经网络的学习随机学习算法误差学习算法通常采用梯度下降法,因此存在局部最小问题,随机学习算法通过引入不稳定因子来处理这种情况。经典随机学习算法模拟退化算法遗传算法。 2022/9/1525 感知器神经网络模型与学

7、习算法单层感知器单层感知器模型2022/9/15单层感知器单层感知器工作原理 单层感知器可将外部输入分为两类。当感知器的输出为+1时,输入属于 类,当感知器的输出为-1时,输入属于 类,从而实现两类目标的识别。单层感知器进行模式识别的判决超平面由下式决定: 2022/9/15单层感知器单层感知器工作原理 对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的 和 ,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。2022/9/15单层感知器的学习算法单层感知器学习算法思想基于迭代的思想,通常是采用误差校正学习规则的学习算法。输入向量和权值

8、向量可分别写成如下的形式: 2022/9/15单层感知器的学习算法单层感知器学习算法第一步,设置变量和参量。 为激活函数, 为网络实际输出, 为期望输出, 为学习速率, 为迭代次数, 为实际输出与期望输出的误差。 第二步,初始化 给权值向量 的各个分量赋一个较小的随机非零值,置 第三步,输入一组样本 并给出 它的期望输出 。 第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加1,并用下式调整权值:然后转到第三步,进入下一轮计算过程 2022/9/15单层感知器的MATLAB实现 MAT

9、LAB中单层感知器常用工具函数名称和基本功能 函 数 名功 能newp()生成一个感知器hardlim()硬限幅激活函数learnp()感知器的学习函数train()神经网络训练函数sim()神经网络仿真函数mae()平均绝对误差性能函数plotpv()在坐标图上绘出样本点plotpc()在已绘制的图上加分类线2022/9/15单层感知器的MATLAB实现newp()功能:创建一个感知器神经网络的函数格式:net = newp(PR,S,TF,LF)说明:net为生成的感知机神经网络;PR为一个R2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省

10、值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnp hardlim()功能 硬限幅激活函数格式 A = hardlim(N) 说明 函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。 learnp()功能 感知机的权值和阈值学习函数 2022/9/15单层感知器的MATLAB实现train()功能 神经网络训练函数格式 语法: net, tr, Y1, E = train( net, X, Y )参数:X:网络实际

11、输入Y:网络应有输出tr:训练跟踪信息Y1:网络实际输出E:误差矩阵网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。2022/9/15单层感知器的MATLAB实现sim()功能 对网络进行仿真格式 (1) Y,Pf,Af,E,perf = sim(NET,P,Pi,Ai,T) (2) Y,Pf,Af,E,perf = sim(NET,Q TS,Pi,Ai,T) (3) Y,Pf,Af,E,perf = sim(NET,Q,Pi,Ai,T)说明 Y为网络的输出;Pf表

12、示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。2022/9/15单层感知器的MATLAB实现 mae()功能 平均绝对误差性能函数格式 perf=mae(E,w,pp) 说明 perf表示平均绝对误差和, E为误差矩阵或向量(网络的目标向量与输出向量之差), w为所有权值和偏值向量(可忽略), pp为性能参

13、数(可忽略)。 2022/9/15单层感知器的MATLAB实现 plotpv()功能 绘制样本点的函数格式 (1) plotpv(P,T) (2) plotpv(P,T,V)说明 P定义了n个2或3维的样本,是一个2n维或3n维的矩阵;T表示各样本点的类别,是一个n维的向量;V=x_min x_max y_min y_max,为一设置绘图坐标值范围的向量。利用plotpv()函数可在坐标图中绘出给定的样本点及其类别,不同的类别使用不同的符号。如果T只含一元矢量,则目标为0的输入矢量在坐标图中用符号o表示: 目标为1的输入矢量在坐标图中用符号+表示。如果T含二元矢量,则输入矢量在坐标图中所采用的

14、符号分别如下:0 0用o表示;0 1用+表示:1 0用*表示;1 1用表示。 2022/9/15单层感知器的MATLAB实现plotpc()功能 在存在的图上绘制出感知器的分类线函数格式 (1) plotpc(W,B) (2) plotpc(W,B,H)说明 硬特性神经元可将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。

15、它在画新分类线之前,删除旧线。2022/9/15单层感知器的MATLAB实现使用MATLAB实现神经网络的步骤如下:第一步 根据应用创建一个神经网络;第二步 设定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步 输入测试数据,测试训练好的神经网络的性能。2022/9/15单层感知器的MATLAB实现P= -0.4 -0.5 0.6; 0.9 0 0.1; %给定训练样本数据T= 1 1 0; %给定样本数据所对应的类别,用1和0来表示两种类别%创建一个有两个输入、样本数据的取值范围都在-1,1之间,并且%网络只有一个神经元的感知器神经网络net=newp(-1 1;-1 1,1

16、);net.trainParam.epochs = 20; %设置网络的最大训练次数为20次net=train(net,P,T); %使用训练函数对创建的网络进行训练Y=sim(net,P) %对训练后的网络进行仿真E1=mae(Y-T) %计算网络的平均绝对误差,表示网络错误分类Q=0.6 0.9 -0.1; -0.1 -0.5 0.5; %检测训练好的神经网络的性能Y1=sim(net,Q) %对网络进行仿真,仿真输出即为分类的结果figure; %创建一个新的绘图窗口plotpv(Q,Y1); %在坐标图中绘制测试数据plotpc(net.iw1,net.b1) %在坐标图中绘制分类线2

17、022/9/15单层感知器的MATLAB实现运行后在命令行窗口中得到的结果如下: TRAINC, Epoch 0/20%使用TRAINC作为神经网络的训练函数,第0次训练,最%大训练次数为20TRAINC, Epoch 3/20%达到目标误差要求,结束训练TRAINC, Performance goal met.Y = 1 1 0E1 = 0Y1 = 0 0 1 2022/9/15单层感知器的MATLAB实现训练误差曲线 2022/9/15单层感知器的MATLAB实现训练后的分类线 2022/9/15多层感知器 单层感知器的缺点是只能解决线性可分的分类模式问题采用多层网络结构可以增强网络的分类

18、能力,即在输入层与输出层之间增加一个隐含层,从而构成多层感知器(Multilayer Perceprons ,MLP)。由输入层、隐含层(可以是一层或者多层)和输出层构成的神经网络称为多层前向神经网络。 2022/9/15多层感知器 多层感知器的拓扑结构 2022/9/15多层感知器多层感知器的特点含有一层或多层隐单元,从输入模式中获得了更多有用的信息,使网络可以完成更复杂的任务。每个神经元的激活函数采用可微的函数sigmoid函数多个突触使得网络更具连通性 具有独特的学习算法 BP算法 2022/9/15神经元模型Neuron Model: 多输入,单输出,带偏置输入:R维列向量权值:R维行

19、向量阀值:标量求和单元传递函数输出常用传递函数aWp-b1-1阈值函数MATLAB函数: hardlimMATLAB函数: hardlims线性函数Purelin Transfer Function :anMATLAB函数: purelinSigmoid函数Sigmoid Function :特性:值域a(0,1)非线性,单调性无限次可微|n|较小时可近似线性函数|n|较大时可近似阈值函数MATLAB函数: logsig(对数), tansig(正切)对数Sigmoid函数正切Sigmoid函数单层神经网络模型R维输入, S个神经元的单层神经网络模型多层神经网络模型 前馈神经网络前馈神经网络(

20、feed forward NN):各神经元接受前级输入,并输出到下一级,无反馈,可用一有向无环图表示。前馈网络通常分为不同的层(layer),第i层的输入只与第i-1层的输出联结。可见层:输入层(input layer)和输出层(output layer)隐藏层(hidden layer) :中间层感知器感知器(perceptron):单层网络, 传递函数为阀值函数主要功能是模式分类感知器的生成函数newp用来生成一个感知器神经网络net = newp( pr, s, tf, lf ) net: 函数返回参数,表示生成的感知器网络 pr: 一个R2矩阵, 由R维输入向量的每维最小值和最 大值组

21、成 s: 神经元的个数 tf: 感知器的传递函数, 默认为hardlim, 可选hardlims lf: 感知器的学习函数,默认为learnp, 可选learnpnnet = newp(-2,+2;-2,+2,2) %生成一个二维输入,两个神经元的感知器感知器的权值和阀值初始化 newp默认权值和阀值为零(零初始化函数initzero).net = newp(-2,+2;-2,+2,2); W=net.IW1,1 %显示网络的权值b=net.b1 %显示网络的阀值W =0 00 0b =0 0 改变默认初始化函数为随机函数randsnet.inputweights1,1.InitFcn = r

22、ands;net.biases1.InitFcn = rands;net =init(net); %重新初始化 直接初始化定义权值和阀值net.IW1,1=1 2; net.b1=1感知器学习感知器学习算法权值增量: 阀值增量: 权值更新: 阀值更新: 算法改进输入样本归一化t是导师输出值a是实际输出值权值和阀值训练与学习函数trainnet=train(net, P, T) 设计好的感知器并不能马上投入使用. 通过样本训练, 确定感知器的权值和阀值.输入向量目标向量被训练网络net.tranParam.epochs=10 ; %预定的最大训练次数为10, 感知器经过最多训练10次后停止,ad

23、aptnet=adapt(net, P, T)自适应训练函数权值和阀值学习函数learnpdW=learnp(W,P,Z,N,A,T,E,D,gW,gA,LP,LS)dW:权值或阀值的变化矩阵W:权值矩阵或阀值向量P:输入向量T:目标向量E:误差向量其他可以忽略,设为 learnpn归一化学习函数网络仿真函数sima = sim(net, P)输入向量网络输出分类结果显示绘图函数plotpvplotpv(P,T)plotpcplotpc(W,b)画输入向量的图像画分类线 根据给定的样本输入向量P和目标向量T, 以及需分类的向量组Q, 创建一个感知器, 对其进行分类. 例: 创建一个感知器P=-

24、0.5 -0.6 0.7;0.8 0 0.1; %已知样本输入向量T=1 1 0; %已知样本目标向量net=newp(-1 1;-1 1,1); %创建感知器handle=plotpc(net.iw1,net.b1); %返回划线的句柄net.trainParam.epochs=10; % 设置训练最大次数net=train(net,P,T); %训练网络Q=0.6 0.9 -0.1;-0.1 -0.5 0.5; %已知待分类向量Y=sim(net,Q); %二元分类仿真结果 figure; %新建图形窗口plotpv(Q,Y); %画输入向量handle=plotpc(net.iw1,ne

25、t.b1,handle) %画分类线实验一 利用感知器进行分类(1) 一个经过训练的感知器对5个输入向量进行分类(2类)。 Step 1 两个长度为5的向量构成输入样本矩阵P,行向量T为目标向量。利用PLOTPV画出这个向量的图像。例如:P = -0.5 -0.5 +0.3 -0.1 -4; -0.5 +0.5 -0.5 +1.0 5;T = 1 1 0 0 1;plotpv(P,T); % plotpv函数利用感知器的输入向量和目标向量来画输入向量的图像Step 2建立神经网络 画输入向量的图像 MATLAB提供函数newp来创建一个指定的感知器。第一个参数指定了期望的两个输入向量的取值范围,第二个参数指定了只有一个神经元。net = newp(-40 1;-1 50,1);注意:这个神经元的传递函数是hardlim函数,也就是阶跃函数。取0,1两个值。Hardlims函数,取-1,1两个值。实验一 利用感知器进行分类(2) 添加神经元的初始化值到分类图 Step3 初始化的权值被设为0,因此

温馨提示

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

评论

0/150

提交评论