




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.2感知器神经网络模型与学习算法12/31/20222.2感知器神经网络模型与学习算法12/27/202212.2.1单层感知器概述由美国学者Rosenblatt在1957年首次提出学习算法是Rosenblatt在1958年提出的包含一个突触权值可调的神经元属于前向神经网络类型只能区分线性可分的模式IEEE设立以其名字命名的奖项12/31/20222.2.1单层感知器概述12/27/202222.2.1单层感知器单层感知器模型f(v)x1······by=f(v)x2xiw1xmw2wmwi12/31/20222.2.1单层感知器单层感知器模型f(v)x1······b32.2.1单层感知器单层感知器工作原理
单层感知器可将外部输入分为两类。当感知器的输出为+1时,输入属于类,当感知器的输出为-1时,输入属于类,从而实现两类目标的识别。在二维空间,单层感知器进行模式识别的判决超平面由下式决定:
12/31/20222.2.1单层感知器单层感知器工作原理12/27/202242.2.1单层感知器单层感知器工作原理对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的和,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。12/31/20222.2.1单层感知器单层感知器工作原理12/27/202252.2.2单层感知器的学习算法单层感知器学习算法思想基于迭代的思想,通常是采用误差校正学习规则的学习算法。可以将偏置作为神经元权值向量的第一个分量加到权值向量中,也可以设其值为0输入向量和权值向量可分别写成如下的形式:令上式等于零,可得到在维空间的单层感知器的判别超平面。
12/31/20222.2.2单层感知器的学习算法单层感知器学习算法思想12/262.2.2单层感知器的学习算法单层感知器学习算法第一步,设置变量和参量。为激活函数,为网络实际输出,为期望输出,为学习速率,为迭代次数,为实际输出与期望输出的误差。第二步,初始化给权值向量的各个分量赋一个较小的随机非零值,置第三步,输入一组样本,并给出 它的期望输出。第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加1,并用下式调整权值:然后转到第三步,进入下一轮计算过程
12/31/20222.2.2单层感知器的学习算法单层感知器学习算法12/27/72.2.2单层感知器的学习算法学习算法实例:构建一个神经元,它能够实现逻辑与操作x1 x2 d0 0 00 1 01 0 01 1
1逻辑“与”真值表12/31/20222.2.2单层感知器的学习算法学习算法实例:x1 x2 d逻82.2.2单层感知器的学习算法确定权值和阈值w1=w2=b=12/31/20222.2.2单层感知器的学习算法确定权值和阈值w1=w2=b=92.2.2单层感知器的学习算法设阈值为0.6,初始权值均为0.1,学习率为0.6,误差值要求为0,神经元的激活函数为硬限幅函数,求权值w1与w2迭代次数样本标号输入或权值标号变量12/31/20222.2.2单层感知器的学习算法设阈值为0.6,初始权值均为01012/31/202212/27/202211对于样本1,输出神经元的输入为:输出神经元的输出为:12/31/2022对于样本1,输出神经元的输入为:12/27/2022122.2.2单层感知器的学习算法权值调整样本2与3同样本1,因输出为0省略对于样本4,输出神经元的输入为:12/31/20222.2.2单层感知器的学习算法权值调整12/27/2022132.2.2单层感知器的学习算法输出神经元的输出为:权值调整:12/31/20222.2.2单层感知器的学习算法输出神经元的输出为:12/27142.2.2单层感知器的学习算法此时完成一次循环过程,由于误差没有达到0,返回第2步继续循环,在第二次循环中,前三个样本输入时因误差均为0,所以没有对权值进行调整,各权值仍保持第一次循环的最后值,第四个样本输入时各参数值如下:12/31/20222.2.2单层感知器的学习算法此时完成一次循环过程,由于误差152.2.2单层感知器的学习算法12/31/20222.2.2单层感知器的学习算法12/27/2022162.2.2单层感知器的学习算法计算误差时,对所有的样本,网络的输出误差均为0,达到预定的要求,训练结束12/31/20222.2.2单层感知器的学习算法计算误差时,对所有的样本,网络172.2.3单层感知器的MATLAB实现MATLAB中单层感知器常用工具函数名称和基本功能函数名功能newp()生成一个感知器hardlim()硬限幅激活函数learnp()感知器的学习函数train()神经网络训练函数sim()神经网络仿真函数mae()平均绝对误差性能函数plotpv()在坐标图上绘出样本点plotpc()在已绘制的图上加分类线12/31/20222.2.3单层感知器的MATLAB实现MATLAB中182.2.3单层感知器的MATLAB实现newp()功能:创建一个感知器神经网络的函数格式:net=newp(PR,S,TF,LF)说明:net为生成的感知机神经网络;PR为一个R×2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnphardlim()功能硬限幅激活函数格式A=hardlim(N)说明函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。learnp()功能感知机的权值和阈值学习函数12/31/20222.2.3单层感知器的MATLAB实现newp()12/192.2.3单层感知器的MATLAB实现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为测试矢量(可省略)。网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。12/31/20222.2.3单层感知器的MATLAB实现train()12202.2.3单层感知器的MATLAB实现sim()功能对网络进行仿真格式(1)[Y,Pf,Af,E,perf]=sim(NET,P,Pi,Ai,T)(2)[Y,Pf,Af,E,perf]=sim(NET,{QTS},Pi,Ai,T)(3)[Y,Pf,Af,E,perf]=sim(NET,Q,Pi,Ai,T)说明Y为网络的输出;Pf表示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。12/31/20222.2.3单层感知器的MATLAB实现sim()12/2212.2.3单层感知器的MATLAB实现mae()功能平均绝对误差性能函数格式perf=mae(E,w,pp)说明perf表示平均绝对误差和,E为误差矩阵或向量(网络的目标向量与输出向量之差),w为所有权值和偏值向量(可忽略),pp为性能参数(可忽略)。12/31/20222.2.3单层感知器的MATLAB实现mae()12/222.2.3单层感知器的MATLAB实现plotpv()功能绘制样本点的函数格式(1)plotpv(P,T)(2)plotpv(P,T,V)说明P定义了n个2或3维的样本,是一个2n维或3n维的矩阵;T表示各样本点的类别,是一个n维的向量;V=[x_minx_maxy_miny_max],为一设置绘图坐标值范围的向量。利用plotpv()函数可在坐标图中绘出给定的样本点及其类别,不同的类别使用不同的符号。如果T只含一元矢量,则目标为0的输入矢量在坐标图中用符号"o"表示:目标为1的输入矢量在坐标图中用符号"+"表示。如果T含二元矢量,则输入矢量在坐标图中所采用的符号分别如下:[00]用"o"表示;[01]用"+"表示:[10]用"*"表示;[11]用""表示。12/31/20222.2.3单层感知器的MATLAB实现plotpv()232.2.3单层感知器的MATLAB实现plotpc()功能在存在的图上绘制出感知器的分类线函数格式(1)plotpc(W,B)(2)plotpc(W,B,H)说明硬特性神经元可将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(W,B)对含权矩阵w和偏置矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。它在画新分类线之前,删除旧线。12/31/20222.2.3单层感知器的MATLAB实现plotpc()1242.2.3单层感知器的MATLAB实现使用MATLAB实现神经网络的步骤如下:第一步根据应用创建一个神经网络;第二步设定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步输入测试数据,测试训练好的神经网络的性能。例2-1:见《神经网络实用教程》第22页12/31/20222.2.3单层感知器的MATLAB实现使用MATLAB实252.2.3单层感知器的MATLAB实现P=[-0.4-0.50.6;0.900.1];%给定训练样本数据T=[110];%给定样本数据所对应的类别,用1和0来表示两种类别%创建一个有两个输入、样本数据的取值范围都在[-1,1]之间,并且%网络只有一个神经元的感知器神经网络net=newp([-11;-11],1); net.trainParam.epochs=20;%设置网络的最大训练次数为20次net=train(net,P,T);%使用训练函数对创建的网络进行训练Y=sim(net,P)%对训练后的网络进行仿真E1=mae(Y-T)%计算网络的平均绝对误差,表示网络错误分类Q=[0.60.9-0.1;-0.1-0.50.5];%检测训练好的神经网络的性能Y1=sim(net,Q)%对网络进行仿真,仿真输出即为分类的结果figure;%创建一个新的绘图窗口plotpv(Q,Y1);%在坐标图中绘制测试数据plotpc(net.iw{1},net.b{1})%在坐标图中绘制分类线12/31/20222.2.3单层感知器的MATLAB实现P=[-0.4262.2.3单层感知器的MATLAB实现例2-1运行后在命令行窗口中得到的结果如下:>>TRAINC,Epoch0/20%使用TRAINC作为神经网络的训练函数,第0次训练,最%大训练次数为20TRAINC,Epoch3/20%达到目标误差要求,结束训练TRAINC,Performancegoalmet.Y=110E1=0Y1=00112/31/20222.2.3单层感知器的MATLAB实现例2-1运行后在命272.2.3单层感知器的MATLAB实现例2-1训练误差曲线12/31/20222.2.3单层感知器的MATLAB实现例2-1训练误差曲282.2.3单层感知器的MATLAB实现例2-1训练后的分类线12/31/20222.2.3单层感知器的MATLAB实现例2-1训练后的分292.2.4多层感知机单层感知器的缺点是只能解决线性可分的分类模式问题采用多层网络结构可以增强网络的分类能力,即在输入层与输出层之间增加一个隐含层,从而构成多层感知器(MultilayerPerceprons,MLP)。由输入层、隐含层(可以是一层或者多层)和输出层构成的神经网络称为多层前向神经网络。12/31/20222.2.4多层感知机单层感知器的缺点是只能解决线性可分302.2.4多层感知机多层感知器的拓扑结构12/31/20222.2.4多层感知机多层感知器的拓扑结构12/27/312.2.4多层感知机多层感知器的特点含有一层或多层隐单元,从输入模式中获得了更多有用的信息,使网络可以完成更复杂的任务。每个神经元的激活函数采用可微的函数sigmoid函数多个突触使得网络更具连通性具有独特的学习算法BP算法12/31/20222.2.4多层感知机多层感知器的特点12/27/2022322.2感知器神经网络模型与学习算法12/31/20222.2感知器神经网络模型与学习算法12/27/2022332.2.1单层感知器概述由美国学者Rosenblatt在1957年首次提出学习算法是Rosenblatt在1958年提出的包含一个突触权值可调的神经元属于前向神经网络类型只能区分线性可分的模式IEEE设立以其名字命名的奖项12/31/20222.2.1单层感知器概述12/27/2022342.2.1单层感知器单层感知器模型f(v)x1······by=f(v)x2xiw1xmw2wmwi12/31/20222.2.1单层感知器单层感知器模型f(v)x1······b352.2.1单层感知器单层感知器工作原理
单层感知器可将外部输入分为两类。当感知器的输出为+1时,输入属于类,当感知器的输出为-1时,输入属于类,从而实现两类目标的识别。在二维空间,单层感知器进行模式识别的判决超平面由下式决定:
12/31/20222.2.1单层感知器单层感知器工作原理12/27/2022362.2.1单层感知器单层感知器工作原理对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的和,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。12/31/20222.2.1单层感知器单层感知器工作原理12/27/2022372.2.2单层感知器的学习算法单层感知器学习算法思想基于迭代的思想,通常是采用误差校正学习规则的学习算法。可以将偏置作为神经元权值向量的第一个分量加到权值向量中,也可以设其值为0输入向量和权值向量可分别写成如下的形式:令上式等于零,可得到在维空间的单层感知器的判别超平面。
12/31/20222.2.2单层感知器的学习算法单层感知器学习算法思想12/2382.2.2单层感知器的学习算法单层感知器学习算法第一步,设置变量和参量。为激活函数,为网络实际输出,为期望输出,为学习速率,为迭代次数,为实际输出与期望输出的误差。第二步,初始化给权值向量的各个分量赋一个较小的随机非零值,置第三步,输入一组样本,并给出 它的期望输出。第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加1,并用下式调整权值:然后转到第三步,进入下一轮计算过程
12/31/20222.2.2单层感知器的学习算法单层感知器学习算法12/27/392.2.2单层感知器的学习算法学习算法实例:构建一个神经元,它能够实现逻辑与操作x1 x2 d0 0 00 1 01 0 01 1
1逻辑“与”真值表12/31/20222.2.2单层感知器的学习算法学习算法实例:x1 x2 d逻402.2.2单层感知器的学习算法确定权值和阈值w1=w2=b=12/31/20222.2.2单层感知器的学习算法确定权值和阈值w1=w2=b=412.2.2单层感知器的学习算法设阈值为0.6,初始权值均为0.1,学习率为0.6,误差值要求为0,神经元的激活函数为硬限幅函数,求权值w1与w2迭代次数样本标号输入或权值标号变量12/31/20222.2.2单层感知器的学习算法设阈值为0.6,初始权值均为04212/31/202212/27/202243对于样本1,输出神经元的输入为:输出神经元的输出为:12/31/2022对于样本1,输出神经元的输入为:12/27/2022442.2.2单层感知器的学习算法权值调整样本2与3同样本1,因输出为0省略对于样本4,输出神经元的输入为:12/31/20222.2.2单层感知器的学习算法权值调整12/27/2022452.2.2单层感知器的学习算法输出神经元的输出为:权值调整:12/31/20222.2.2单层感知器的学习算法输出神经元的输出为:12/27462.2.2单层感知器的学习算法此时完成一次循环过程,由于误差没有达到0,返回第2步继续循环,在第二次循环中,前三个样本输入时因误差均为0,所以没有对权值进行调整,各权值仍保持第一次循环的最后值,第四个样本输入时各参数值如下:12/31/20222.2.2单层感知器的学习算法此时完成一次循环过程,由于误差472.2.2单层感知器的学习算法12/31/20222.2.2单层感知器的学习算法12/27/2022482.2.2单层感知器的学习算法计算误差时,对所有的样本,网络的输出误差均为0,达到预定的要求,训练结束12/31/20222.2.2单层感知器的学习算法计算误差时,对所有的样本,网络492.2.3单层感知器的MATLAB实现MATLAB中单层感知器常用工具函数名称和基本功能函数名功能newp()生成一个感知器hardlim()硬限幅激活函数learnp()感知器的学习函数train()神经网络训练函数sim()神经网络仿真函数mae()平均绝对误差性能函数plotpv()在坐标图上绘出样本点plotpc()在已绘制的图上加分类线12/31/20222.2.3单层感知器的MATLAB实现MATLAB中502.2.3单层感知器的MATLAB实现newp()功能:创建一个感知器神经网络的函数格式:net=newp(PR,S,TF,LF)说明:net为生成的感知机神经网络;PR为一个R×2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnphardlim()功能硬限幅激活函数格式A=hardlim(N)说明函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。learnp()功能感知机的权值和阈值学习函数12/31/20222.2.3单层感知器的MATLAB实现newp()12/512.2.3单层感知器的MATLAB实现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为测试矢量(可省略)。网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。12/31/20222.2.3单层感知器的MATLAB实现train()12522.2.3单层感知器的MATLAB实现sim()功能对网络进行仿真格式(1)[Y,Pf,Af,E,perf]=sim(NET,P,Pi,Ai,T)(2)[Y,Pf,Af,E,perf]=sim(NET,{QTS},Pi,Ai,T)(3)[Y,Pf,Af,E,perf]=sim(NET,Q,Pi,Ai,T)说明Y为网络的输出;Pf表示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。12/31/20222.2.3单层感知器的MATLAB实现sim()12/2532.2.3单层感知器的MATLAB实现mae()功能平均绝对误差性能函数格式perf=mae(E,w,pp)说明perf表示平均绝对误差和,E为误差矩阵或向量(网络的目标向量与输出向量之差),w为所有权值和偏值向量(可忽略),pp为性能参数(可忽略)。12/31/20222.2.3单层感知器的MATLAB实现mae()12/542.2.3单层感知器的MATLAB实现plotpv()功能绘制样本点的函数格式(1)plotpv(P,T)(2)plotpv(P,T,V)说明P定义了n个2或3维的样本,是一个2n维或3n维的矩阵;T表示各样本点的类别,是一个n维的向量;V=[x_minx_maxy_miny_max],为一设置绘图坐标值范围的向量。利用plotpv()函数可在坐标图中绘出给定的样本点及其类别,不同的类别使用不同的符号。如果T只含一元矢量,则目标为0的输入矢量在坐标图中用符号"o"表示:目标为1的输入矢量在坐标图中用符号"+"表示。如果T含二元矢量,则输入矢量在坐标图中所采用的符号分别如下:[00]用"o"表示;[01]用"+"表示:[10]用"*"表示;[11]用""表示。12/31/20222.2.3单层感知器的MATLAB实现plotpv()552.2.3单层感知器的MATLAB实现plotpc()功能在存在的图上绘制出感知器的分类线函数格式(1)plotpc(W,B)(2)plotpc(W,B,H)说明硬特性神经元可将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(W,B)对含权矩阵w和偏置矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。它在画新分类线之前,删除旧线。12/31/20222.2.3单层感知器的MATLAB实现plotpc()1562.2.3单层感知器的MATLAB实现使用MATLAB实现神经网络的步骤如下:第一步根据应用创建一个神经网络;第二步设定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步输入测试数据,测试训练好的神经网络的性能。例2-1:见《神经网络实用教程》第22页12/31/20222.2.3单层感知器的MATLAB实现使用MATLAB实572.2.3单层感知器的MATLAB实现P=[-0.4-0.50.6;0.900.1];%给定训练样本数据T=[110];%给定样本数据所对应的类别,用1和0来表示两种类别%创建一个有两个输入、样本数据的取值范围都在[-1,1]之间,并且%网络只有一个神经元的感知器神经网络net=newp([-11;-11],1); net.trainParam.epochs=20;%设置网络的最大训练次数为20次net=tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房屋租赁合同协议范文
- 2025股权分配协议建筑工程用地合同
- 2025年二建《市政公用工程管理与实务》通关必做强化训练试题库300题及详解
- 安徽省蚌埠市四校联考2025年3月高三下学期第一次月考
- 桥隧工技能鉴定理论资源高级技师习题(附答案)
- 试管婴儿护理健康计划
- 违纪学生协议合同书范例
- 基于主机的反弹shell检测思路
- 政府与中原证劵最紧密战略
- 车位转让协议与租赁合同
- DB11T 1182-2015 专利代理机构等级评定规范
- 2021年北京回龙观医院医护人员招聘笔试试题及答案解析
- 协会培训管理新版制度
- 对数的概念说课稿课件
- DB52∕T 1559-2021 朱砂 工艺品-行业标准
- 山东中医药大学中医学(专升本)学士学位考试复习题
- 精神障碍检查与诊断试题
- 《功能材料概论》期末考试试卷及参考答案,2018年12月
- 【原创】《“备-教-学-评”目标一致性的实施策略》讲座PPT
- 【北师大版】六年级下册数学教学设计-总复习《数的认识》(1)
- 中医护理原则和方法
评论
0/150
提交评论