人工智能:第9章-神经计算_第1页
人工智能:第9章-神经计算_第2页
人工智能:第9章-神经计算_第3页
人工智能:第9章-神经计算_第4页
人工智能:第9章-神经计算_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1、8.1人工神经元模型1 概述2 神经网络基础3神经网络的学习方法4 常用神经网络模型1 概述生物神经网络(biological neural network, BNN),特别是人脑人工神经网络(artificial neural network, ANN):由大量神经元经广泛互联组成的非线性网络(功能模块,数学模型)。实现人脑的一些功能。神经网络发展历史简介M-P神经元模型 (心理学家McCulloch & 数学家Pitts 1943)Hebb神经元学习准则 (心理学家Hebb, 1949)分布式系统方面的研究(如Von Neumann)Perceptron感知机模型(Rosenblatt 1

2、958)Adaline(Widrow and Hoff)Perceptron (Minsky & Papert, 1969)Hopfield模型 (Hopfield,1982)多层感知机MLP与反向传播算法BP (Rumelhart, 1986)脉冲耦合神经网络(PCNN , 1991)神经网络的特点神经网络的应用NN从计算模型的角度本质上可以理解为函数逼近,可以应用到众多领域。2 神经网络基础生物神经网络:Biological Neural Network (BNN)神经元:neuron (结构见图示)神经元经突触传递信号给其他神经元(胞体或树突)1011个神经元/人脑104个连接/神经元神

3、经元基本工作机制:状态:兴奋与抑制互联,激励,处理,阈值神经元模型Neuron Model: 多输入,单输出,带偏置R个输入piR,即R维输入矢量pn: net input, n=wp+b。R个权值wiR,即R维权矢量w阈值b输出a=f(n), f: transfer function常用输出函数aWp-b1-1阈值函数:线性输出函数Purelin Transfer Function :anSigmoid函数Sigmoid Function :特性:值域a(0,1)非线性,单调性无限次可微|n|较小时可近似线性函数|n|较大时可近似阈值函数3 神经网络的学习方法神经网络的学习:从环境中获取知识

4、并改进自身性能,主要指调节网络参数使网络达到某种度量,又称为网络的训练学习方式:监督学习非监督学习再励学习监督学习对训练样本集中的每一组输入能提供一组目标输出。样本数据(p, t)。网络根据目标输出与实际输出的误差信号来调节网络参数教师神经网络比较环境实际输出输入期望输出误差信号p(n)t(n)a(n)e(n)非监督学习与再励学习非监督学习:不存在教师,网络根据外部数据的统计规律来调节系统参数,以使网络输出能反映数据的某种特性再励学习:外部环境对网络输出只给出评价信息而非正确答案,网络通过强化受奖励的动作来改善自身的性能神经网络环境输入神经网络环境输入输出评价信息学习方法4 常见神经网络模型感

5、知器BP神经网络径向基函数神经网络( RBFNN)自组织映射神经网络( SOMNN)Hopfield神经网络脉冲耦合神经网络(PCNN)小结神经网络概述神经网络基础神经网络的学习方法常用神经网络模型8.2 感知器感知器概述感知器工作原理感知器的学习算法感知器的MATLAB实现1 感知器概述概述由美国学者Rosenblatt在1957年首次提出学习算法是Rosenblatt在1958年提出的 包含一个突触权值可调的神经元 属于前向神经网络类型 只能区分线性可分的模式 IEEE设立以其名字命名的奖项 感知器模型2 感知器工作原理感知器可将外部输入分为两类和。当感知器的输出为+1时,输入属于 类,当

6、感知器的输出为-1时,输入属于 类,从而实现两类目标的识别。在维空间,单层感知器进行模式识别的判决超平面由下式决定: 对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的 和 ,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。基于迭代的思想,通常是采用误差校正学习规则的学习算法。可以将偏差作为神经元突触权值向量的第一个分量加到权值向量中 输入向量和权值向量可分别写成如下的形式:令上式等于零,可得到在维空间的单层感知器的判别超平面。 3 感知器学习算法第一步,设置变量和参量。 为激活函数, 为网络实际输出, 为期望输出, 为学习速率, 为

7、迭代次数, 为实际输出与期望输出的误差。 第二步,初始化 给权值向量 的各个分量赋一个较小的随机非零值,置 第三步,输入一组样本 ,并给出 它的期望输出 。 第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加1,并用下式调整权值:然后转到第三步,进入下一轮计算过程 4 感知器的MATLAB实现 MATLAB中单层感知器常用工具函数名称和基本功能 函 数 名功 能newp()生成一个感知器hardlim()硬限幅激活函数learnp()感知器的学习函数train()神经网络训练函数sim

8、()神经网络仿真函数mae()平均绝对误差性能函数plotpv()在坐标图上绘出样本点plotpc()在已绘制的图上加分类线newp()功能:创建一个感知器神经网络的函数格式:net = newp(PR,S,TF,LF)说明:net为生成的感知机神经网络;PR为一个R2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnp hardlim()功能 硬限幅激活函数格式 A = hardlim(N) 说明 函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩

9、阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。 learnp()功能 感知机的权值和阈值学习函数 train()功能 神经网络训练函数格式 net,tr,Y,E,Pf,Af = train(NET,P,T,Pi,Ai,VV,TV)说明 net为训练后的网络;tr为训练记录;Y为网络输出矢量;E为误差矢量;Pf为训练终止时的输入延迟状态;Af为训练终止时的层延迟状态;NET为训练前的网络;P为网络的输入向量矩阵;T表示网络的目标矩阵,缺省值为0;Pi表示初始输入延时,缺省值为0;Ai表示初始的层延时,缺省值为0;

10、 VV为验证矢量(可省略);TV为测试矢量(可省略)。网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。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表示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出

11、与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。 mae()功能 平均绝对误差性能函数格式 perf=mae(E,w,pp) 说明 perf表示平均绝对误差和, E为误差矩阵或向量(网络的目标向量与输出向量之差), w为所有权值和偏值向量(可忽略), pp为性能参数(可忽略)。 plotpv()功能 绘制样本点的函数格式 (1) plotpv(P,T) (2) plo

12、tpv(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含二元矢量,则输入矢量在坐标图中所采用的符号分别如下:0 0用o表示;0 1用+表示:1 0用*表示;1 1用表示。 plotpc()功能 在存在的图上绘制出感知器的分类线函数格式 (1) pl

13、otpc(W,B) (2) plotpc(W,B,H)说明 硬特性神经元可将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。它在画新分类线之前,删除旧线。使用MATLAB实现神经网络的步骤如下:第一步 根据应用创建一个神经网络;第二步 设定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步 输入测试数据,测试

14、训练好的神经网络的性能。小结感知器模型及工作原理感知器的学习算法感知器的MATLAB实现8.2 BP神经网络BP神经网络模型BP网络的标准学习算法BP神经网络学习算法的MATLAB实现BP神经网络的特点概述Rumelhart,McClelland于1985年提出了BP网络的误差反向后传BP(Back Propagation)学习算法BP算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。 J. McClelland David Rumelhart 1 BP神经网络模型三层BP网络 1 BP神经网络模

15、型激活函数必须处处可导一般都使用S型函数 使用S型激活函数时BP网络输入与输出关系输入输出1 BP神经网络模型输出的导数2 BP网络的标准学习算法学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。学习的本质:对各连接权值的动态调整学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。2 BP网络的标准学习算法-算法思想学习的类型:有导师学习核心思想:将输出误差以某种形式通过隐层向输入层逐层反传学习的过程:信号的正向传播 误差的反向传播将误差分摊给各层的所有单元各层单元的误差信号修正各单元权值2 BP网络的标准

16、学习算法-学习过程正向传播:输入样本输入层各隐层输出层判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符误差反传误差以某种形式在各层表示修正各层单元的权值网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止2 BP网络的标准学习算法 网络结构输入层有n个神经元,隐含层有p个神经元, 输出层有q个神经元变量定义输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量; 2 BP网络的标准学习算法输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数: 误差函数:2 BP网络

17、的标准学习算法第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值 和最大学习次数M。第二步,随机选取第 个输入样本及对应期望输出 2 BP网络的标准学习算法第三步,计算隐含层各神经元的输入和输出2 BP网络的标准学习算法第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数 。 2 BP网络的标准学习算法第五步,利用隐含层到输出层的连接权值、输出层的 和隐含层的输出计算误差函数对隐含层各神经元的偏导数 。 2 BP网络的标准学习算法2 BP网络的标准学习算法第六步,利用输出层各神经元的 和隐含层各神经元的输出来修正连接权值

18、。 2 BP网络的标准学习算法第七步,利用隐含层各神经元的 和输入层各神经元的输入修正连接权。 2 BP网络的标准学习算法第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。 2 BP网络的标准学习算法BP算法直观解释情况一直观表达 当误差对权值的偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。whoe0,此时who02 BP网络的标准学习算法BP算法直解释情况二直观表达当误差对权值的偏导数小于零时,权值

19、调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。e0who3 BP神经网络学习算法的MATLAB实现 MATLAB中BP神经网络的重要函数和基本功能 函 数 名功 能newff()生成一个前馈BP网络tansig()双曲正切S型(Tan-Sigmoid)传输函数logsig()对数S型(Log-Sigmoid)传输函数traingd()梯度下降BP训练函数3 BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能newff()功能 建立一个前向BP网络格式 net = newff(PR,S1 S2.SN1,TF1 TF2.TF

20、N1,BTF,BLF,PF)说明 net为创建的新BP神经网络;PR为网络输入向量取值范围的矩阵;S1 S2SNl表示网络隐含层和输出层神经元的个数;TFl TF2TFN1表示网络隐含层和输出层的传输函数,默认为tansig;BTF表示网络的训练函数,默认为trainlm;BLF表示网络的权值学习函数,默认为learngdm;PF表示性能数,默认为mse。 3 BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能tansig()功能 正切sigmoid激活函数格式 a = tansig(n)说明 双曲正切Sigmoid函数把神经元的输入范围从(-,+)映射到(-

21、1,1)。它是可导函数,适用于BP训练的神经元。logsig()功能 对数Sigmoid激活函数格式 a = logsig(N)说明对数Sigmoid函数把神经元的输入范围从(-,+)映射到(0,1)。它是可导函数,适用于BP训练的神经元。BP神经网络学习算法的MATLAB实现例,下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig;输出层结点数为1个,输出层的激活函数为logsig,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用1、2、3

22、月的销售量为输入预测第4个月的销售量,用2、3、4月的销售量为输入预测第5个月的销售量.如此反复直至满足预测精度要求为止。 月份123456销量205623952600229816341600月份789101112销量1873147819001500204615563 BP神经网络学习算法的MATLAB实现%以每三个月的销售量经归一化处理后作为输入P=0.51520.81731.0000 ; 0.81731.00000.7308; 1.00000.73080.1390; 0.73080.13900.1087; 0.13900.10870.3520; 0.10870.35200.0000;%以第

23、四个月的销售量归一化处理后作为目标向量T=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;%创建一个BP神经网络,每一个输入向量的取值范围为0 ,1,隐含层有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);net.trainParam.epochs=15000;net.trainParam.goal=0.01;%设置学习速率为0.1LP.lr=0.1;

24、net=train(net,P,T); 3 BP神经网络学习算法的MATLAB实现BP网络应用于药品预测对比图由对比图可以看出预测效果与实际存在一定误差,此误差可以通过增加运行步数和提高预设误差精度业进一步缩小4 BP神经网络的特点非线性映射能力能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。容错能力输入样本中带有较大的误差甚至个别错误对网络的输入

25、输出规律影响很小。小结BP算法背景BP神经网络模型BP算法基本思想推导过程实现BP神经网络的MATLAB函数BP神经网络的应用实例BP神经网络的特点总 结人工神经网络是由大量神经元经广泛互联组成的非线性网络,单元间的连接强度从样本中学习神经网络模型决定于神经元类型,神经元间的连接方式和学习算法BP、RBF、Hopfield、SOM和PCNN是常用的几种模型8.4 自组织映射神经网络1981年芬兰Helsink大学的T.Kohonen教授提出一种自组织特征映射网(Self-Organizing feature Map),简称SOM网,又称Kohonen网。 Kohonen认为:一个神经网络接受外

26、界输入模式时,将会分为不同的对应区域,各区域对输入模式具有不同的响应特征,而且这个过程是自动完成的。自组织特征映射正是根据这一看法提出来的,其特点与人脑的自组织特性相类似。1 SOM网的生物学基础 生物学研究的事实表明,在人脑的感觉通道上,神经元的组织原理是有序排列。因此当人脑通过感官接受外界的特定时空信息时,大脑皮层的特定区域兴奋,而且类似的外界信息在对应区域是连续映象的。 对于某一图形或某一频率的特定兴奋过程,神经元的有序排列以及对外界信息的连续映象是自组织特征映射网中竞争机制的生物学基础。2 SOM网的拓扑结构 SOM网共有两层,输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大

27、脑皮层。 3 SOM网的权值调整域 SOM网的获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同地调整权向量。这种调整可用三种函数表示: 以获胜神经元为中心设定一个邻域半径,该半径圈定的范围称为优胜邻域。在SOM网学习算法中,优胜邻域内的所有神经元均按其离开获胜神经元的距离远近不同程度地调整权值。 优胜邻域开始定得很大,但其大小随着训练次数的增加不断收缩,最终收缩到半径为零。4 SOM网的运行原理训练阶段 w1 w2 w3 w4 w5工作阶段5 SOM网的学习算法(1)初始化 对输出层各权向量赋小

28、随机数并进行归一化处理,得到 ,j=1,2,m;建立初始优胜邻域Nj*(0);学习率 赋初始值。(2)接受输入 从训练集中随机选取一个输入模式并进行归一化处理,得到 ,p1,2,P。(3)寻找获胜节点 计算 与 的点积,j=1,2,m,从中选出点积最大的获胜节点j*。(4)定义优胜邻域Nj* (t) 以j*为中心确定t 时刻的权值调整域,一般初始邻域Nj* (0)较大,训练过程中Nj* (t)随训练时间逐渐收缩。(5)调整权值 对优胜邻域Nj*(t)内的所有节点调整权值: i=1,2,n jNj*(t) 式中, 是训练时间t 和邻域内第j 个神经元与获胜神经元 j* 之间的拓扑距离N 的函数,

29、该函数一般有以下规律:(5)调整权值(6)结束检查 学习率是否衰减到零或某个预定的正小数?Kohonen学习算法程序流程6 功 能 分 析(1)保序映射将输入空间的样本模式类有序地映射在输出层上。例1:动物属性特征映射。功能分析(2)数据压缩 将高维空间的样本在保持拓扑结构不变的条件下投影到低维空间。(3)特征抽取 高维空间的向量经过特征抽取后可以在低维特征空间更加清晰地表达。例2:SOM网用于字符排序。功能分析小结SOM网的生物学基础SOM网的拓扑结构SOM网的权值调整域SOM网的运行原理SOM网的学习算法功 能 分 析8.5 Hopfield神经网络Hopfield模型Hopfield网络

30、的学习算法 Hopfield模型是霍普菲尔德分别于1982年及1984提出的两个神经网络模型。1982年提出的是离散型,1984年提出的是连续型,但它们都是反馈网络结构。图1给出了一个简单的反馈神经网络图。 1 Hopfield模型 由于在反馈网络中,网络的输出要反复地作为输入再送入网络中,这就使得网络具有了动态性,网络的状态在不断的改变之中,因而就提出了网络的稳定性问题。所谓一个网络是稳定的是指从某一时刻开始,网络的状态不再改变。 设用X(t)表示网络在时刻t的状态,如果从t=的任一初态X(0)开始,存在一个有限的时刻t,使得从此时刻开始神经网络的状态不再发生变化,即 就称此网络是稳定的。

31、离散网络模型是一个离散时间系统,每个神经元只有两个状态,可以用1和0来表示,由连接权值ij所构成的矩阵是一个对角线为0的对称矩阵,即 如果用x(t)表示整个网络在时刻的状态,则X是一个向量,它包含了网络中每个人工神经元的状态。所以,状态向量X中的分量个数就是网络中人工神经元的个数。假设网络中的节点(人工神经元)个数为n,则向量X的构成如下: 这里, ,其中的ij为节点到节点的连接权值; 为节点的阈值。 (9.4.3)Xi(t)表示节点i(第个i神经元)在时刻t的状态,该节点在时刻t+1的状态由下式决定:(9.4.4) Hopfield网络离散模型有两种工作模式:(1)串行方式,是指在任一时刻t,只有一个神经元i发生状态变化,而其余的神经元保持状态不变。(2)并行方式,是指在任一时刻t,都有部分或全体神经元同时改变状态。 有关离散的Hopfield网络的稳定性问题,已于1983年由Cohen和Grossberg给于了证明。而Hopfield等人又进一步证明 ,只要连接权值构成的矩阵是非负对角元的对称矩阵,则该网络就具有

温馨提示

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

评论

0/150

提交评论