感知器神经网络模型与学习算法_第1页
感知器神经网络模型与学习算法_第2页
感知器神经网络模型与学习算法_第3页
感知器神经网络模型与学习算法_第4页
感知器神经网络模型与学习算法_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

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

文档简介

1、智能中国网提供学习支持智能中国网提供学习支持2.22.2感知器神经网络模型感知器神经网络模型与学习算法与学习算法2022-5-32.2.12.2.1单层感知器单层感知器p概述概述由美国学者Rosenblatt在1957年首次提出学习算法是Rosenblatt在1958年提出的 包含一个突触权值可调的神经元 属于前向神经网络类型 只能区分线性可分的模式 IEEE设立以其名字命名的奖项 2022-5-32.2.12.2.1单层感知器单层感知器p单层感知器模型单层感知器模型2022-5-32.2.12.2.1单层感知器单层感知器p单层感知器工作原理单层感知器工作原理 单层感知器可将外部输入分为两类和

2、。当单层感知器可将外部输入分为两类和。当感知器的输出为感知器的输出为+1+1时,输入属于时,输入属于 类,当感知类,当感知器的输出为器的输出为-1-1时,输入属于时,输入属于 类,从而实现两类,从而实现两类目标的识别。在维空间,单层感知器进行模类目标的识别。在维空间,单层感知器进行模式识别的判决超平面由下式决定:式识别的判决超平面由下式决定: 10miiiw xb1l2l2022-5-32.2.12.2.1单层感知器单层感知器p单层感知器工作原理单层感知器工作原理 对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的 和 ,当它用于两类模式的分类时,相当于在高维样本

3、空间中,用一个超平面将两类样本分开。1 12 20wxwxb 1w2w2022-5-32.2.22.2.2单层感知器的学习算法单层感知器的学习算法p单层感知器学习算法思想单层感知器学习算法思想基于迭代的思想,通常是采用误差校正学习规则的学习算法。可以将偏差作为神经元突触权值向量的第一个分量加到权值向量中 输入向量和权值向量可分别写成如下的形式:令上式等于零,可得到在维空间的单层感知器的判别超平面。 T121,mnxnxnxn X T12,mnb nw nwnwnw2022-5-32.2.22.2.2单层感知器的学习算法单层感知器的学习算法p单层感知器学习算法单层感知器学习算法第一步,设置变量和

4、参量。 为激活函数为激活函数, , 为网络实际输出,为网络实际输出, 为期望输出,为期望输出, 为学习为学习速率,速率, 为迭代次数,为迭代次数, 为实际输出与期望输出的误差。为实际输出与期望输出的误差。 第二步,初始化 给权值向量给权值向量 的各个分量赋一个较小的随机非零值,置的各个分量赋一个较小的随机非零值,置 第三步,输入一组样本 ,并给出 它的期望输出 。 第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加小于预设

5、的值,则算法结束,否则将值增加1 1,并用下式调整权值:,并用下式调整权值:然后转到第三步,进入下一轮计算过程然后转到第三步,进入下一轮计算过程 f( ) ( )ny( )ndne(0)W0n 121,mnxnxnxn X( )nd0( )f( )( )miiiy nwn x n( )( )ed ny n 1w nw nd ny nx n2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现 p MATLAB MATLAB中单层感知器常用工具函数名称中单层感知器常用工具函数名称和基本功能和基本功能 函函 数数 名名功功 能能newp()生成一个感知器生

6、成一个感知器hardlim()硬限幅激活函数硬限幅激活函数learnp()感知器的学习函数感知器的学习函数train()神经网络训练函数神经网络训练函数sim()神经网络仿真函数神经网络仿真函数mae()平均绝对误差性能函数平均绝对误差性能函数plotpv()在坐标图上绘出样本点在坐标图上绘出样本点plotpc()在已绘制的图上加分类线在已绘制的图上加分类线2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现pnewpnewp()()功能:创建一个感知器神经网络的函数格式:net = newp(PR,S,TF,LF)说明:net为生成的感知机神经网络

7、;PR为一个R2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnp phardlimhardlim()()功能 硬限幅激活函数格式 A = hardlim(N) 说明 函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。 plearnplearnp()()功能 感知机的权值和阈值学习函数 2022-5-32.2.3 2.2

8、.3 单层感知器的单层感知器的MATLABMATLAB实现实现ptrain()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; VV为验证矢量(可省略);TV为测试矢量(可省略)。网络训练函数是一种通用的学习函数,训练函数重复地把

9、一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现psimsim()()功能 对网络进行仿真格式 (1) Y(1) Y,PfPf,AfAf,E E,perf = sim(NETperf = sim(NET,P P,PiPi,AiAi,T) T) (2) Y(2) Y,PfPf,AfAf,E E,perf = sim(NETperf = sim(NET,Q TSQ TS,PiPi,AiAi,T) T) (3) Y(3) Y,

10、PfPf,AfAf,E E,perf = sim(NETperf = sim(NET,Q Q,PiPi,AiAi,T)T)说明 Y为网络的输出;Pf表示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p maemae

11、()()功能 平均绝对误差性能函数格式 perf=mae(E,w,pp) 说明 perf表示平均绝对误差和, E为误差矩阵或向量(网络的目标向量与输出向量之差), w为所有权值和偏值向量(可忽略), pp为性能参数(可忽略)。 2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p plotpvplotpv()()功能 绘制样本点的函数格式 (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_

12、max,为一设置绘图坐标值范围的向量。利用plotpv()函数可在坐标图中绘出给定的样本点及其类别,不同的类别使用不同的符号。如果T只含一元矢量,则目标为0的输入矢量在坐标图中用符号o表示: 目标为1的输入矢量在坐标图中用符号+表示。如果T含二元矢量,则输入矢量在坐标图中所采用的符号分别如下:0 0用o表示;0 1用+表示:1 0用*表示;1 1用表示。 2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现pplotpcplotpc()()功能 在存在的图上绘制出感知器的分类线函数格式 (1) plotpc(W,B) (2) plotpc(W,B,H

13、)说明 硬特性神经元可将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。它在画新分类线之前,删除旧线。2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p使用使用MATLABMATLAB实现神经网络的步骤如下:实现神经网络的步骤如下:第一步 根据应用创建一个神经网络;第二步 设

14、定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步 输入测试数据,测试训练好的神经网络的性能。p例例2-12-1:见:见神经网络实用教程神经网络实用教程第第2222页页 2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现P= -0.4 -0.5 0.6; 0.9 0 0.1; P= -0.4 -0.5 0.6; 0.9 0 0.1; % %给定训练样本数据给定训练样本数据T= 1 1 0; T= 1 1 0; % %给定样本数据所对应的类别,用给定样本数据所对应的类别,用1 1和和0 0来表示两种类别来表示两种类别% %创建一个有两

15、个输入、样本数据的取值范围都在创建一个有两个输入、样本数据的取值范围都在-1-1,11之间,并且之间,并且% %网络只有一个神经元的感知器神经网络网络只有一个神经元的感知器神经网络net=newp(-1 1;-1 1,1);net=newp(-1 1;-1 1,1);net.trainParam.epochsnet.trainParam.epochs = 20; = 20; % %设置网络的最大训练次数为设置网络的最大训练次数为2020次次net=train(net,P,Tnet=train(net,P,T); ); % %使用训练函数对创建的网络进行训练使用训练函数对创建的网络进行训练Y=s

16、im(net,PY=sim(net,P) ) % %对训练后的网络进行仿真对训练后的网络进行仿真E1=mae(YE1=mae(Y-T) -T) % %计算网络的平均绝对误差,表示网络错误分类计算网络的平均绝对误差,表示网络错误分类Q=0.6 0.9 -0.1; -0.1 -0.5 0.5; Q=0.6 0.9 -0.1; -0.1 -0.5 0.5; % %检测训练好的神经网络的性能检测训练好的神经网络的性能Y1=sim(net,QY1=sim(net,Q) ) % %对网络进行仿真,仿真输出即为分类的结果对网络进行仿真,仿真输出即为分类的结果figure; figure; % %创建一个新的

17、绘图窗口创建一个新的绘图窗口plotpv(Q,Y1); plotpv(Q,Y1); % %在坐标图中绘制测试数据在坐标图中绘制测试数据plotpc(net.iw1,net.b1) plotpc(net.iw1,net.b1) % %在坐标图中绘制分类线在坐标图中绘制分类线2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1运行后在命令行窗口中得到的结果如下:运行后在命令行窗口中得到的结果如下: TRAINC, Epoch 0/20 TRAINC, Epoch 0/20% %使用使用TRAINCTRAINC作为神经网络的训练函数,第作

18、为神经网络的训练函数,第0 0次训练,最次训练,最% %大训练次数为大训练次数为2020TRAINC, Epoch 3/20TRAINC, Epoch 3/20% %达到目标误差要求,结束训练达到目标误差要求,结束训练TRAINC, Performance goal met.TRAINC, Performance goal met.Y =Y = 1 1 0 1 1 0E1 =E1 = 0 0Y1 =Y1 = 0 0 1 0 0 1 2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1训练误差曲线训练误差曲线 2022-5-32.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1训练后的分类线训练后的分类线 2022-5-32.2.4 2.2.4 多层感知机多层感知机 p单层感知器的缺点是只能解决线性可分的分类单层感

温馨提示

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

评论

0/150

提交评论