《《线性神经网络》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《线性神经网络》PPT课件.ppt(17页珍藏版)》请在三一办公上搜索。
1、2.3 线性神经网络,2.3.1 线性神经元网络模型,线性神经元模型它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。,2.3.1 线性神经元网络模型,线性神经元激活函数,2.3.1 线性神经元网络模型,线性神经元网络分类图示双输入输出如下式所示,2.3.1 线性神经元网络模型,线性神经网络的结构,2.3.2 线性神经网络的学习算法,Widrow-Hoff学习规则又称为最小均方误差LMS(Least Mean Square Error)学习算法,由Widrow-Hoff提出,属于有导师学习算法LMS学习规则定义如下:目标是通
2、过调节权值,使mse从误差空间的某点开始,沿着mse的斜面向下滑行,最终使mse达到最小值。,Bernard Widrow,2.3.2 线性神经网络的学习算法,算法实现步骤第一步:初始化给各个连接赋一个较小的随机值第二步:输入一个样本,计算连接权值的调整量,2.3.2 线性神经网络的学习算法,其中 表示第 次循环中的第个输入向量。则有:第三步:调整连接权值根据负梯度下降的原则,网络权值和阈值修正公式如下式中 为学习率,当其取较大值时,可以加快网络的训练速度,但是如果其值太大,会导致网络稳定性的降低和训练误差的增加。所以,为了保证网络进行稳定的训练,学习率的值必须选择一个合适的值。,2.3.2
3、线性神经网络的学习算法,第四步:计算均方误差第五步:判断误差是否为零或者是否达到预先设定的要求。如果是,则结束算法,否则输入下一个样本,返回第二步进入下一轮求解过程,2.3.3 线性神经网络的MATLAB实现,MATLAB中线性神经网络相关的常用函数和基本功能,2.3.3 线性神经网络的MATLAB实现,MATLAB中线性神经网络相关的常用函数和基本功能newlin()功能 新建一个线性神经网络函数。格式(1)net=newlin(2)net=newlin(PR,S,ID,LR)说明 式(1)返回一个没有定义结构的空对象,并显示图形用户界面函数nntool的帮助文字;式(2)中net为生成的线
4、性神经网络;PR为网络输入向量中的最大值和最小值组成的矩阵Pmin,Pmax;S为输出向量的个数;ID为输入延时向量(可省略);LR为学习速率(可省略),默认值为0.01。learnwh()功能 线性神经网络学习函数格式(1)dW,LS=learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)(2)db,LS=learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS),2.3.3 线性神经网络的MATLAB实现,MATLAB中线性神经网络相关的常用函数和基本功能Purelin()功能 纯线性传输函数格式 A=purelin(N)说明 函数purel
5、in(N)为返回网络输入向量N的输出矩阵a;神经元最简单的传输函数是简单地从神经元输入到输出的线性传输函数,输出仅仅被神经元所附加的偏差所修正,newlin和newlind函数建立的网络都可以用该函数做为传递函数。mse()功能 均方误差性能函数格式 perf=mae(E,w,pp)说明 perf表示均方误差,E为误差矩阵或向量(网络的目标向量与输出向量之差),w为所有权值和偏值向量(可忽略),pp为性能参数(可忽略)。,2.3.3 线性神经网络的MATLAB实现,例2-2 要求设计一个线性神经网络,寻找给定数据之间的线性关系。P=1.1-1.3;T=0.6 1;%创建一个只有一个输出,输入延
6、时为0,学习速率为0.01的线性神经网络,minmax(P)表示样%本数据的取值范围net=newlin(minmax(P),1,0,0.01);%对创建的线性神经网络进行初始化,设置权值和阈值的初始值net=init(net);=500;%设置网络训练后的目标误差为0.0001=0.0001;net=train(net,P,T);y=sim(net,P)%求解网络的均方误差值E=mse(y-T),2.3.3 线性神经网络的MATLAB实现,例2-2的输出结果%使用TRAINB作为训练函数,最大训练次数为500,开始训练时的均方误差值为0.68,%目标误差为0.0001 TRAINB,Epoc
7、h 0/500,MSE 0.68/0.0001.TRAINB,Epoch 200/500,MSE 0.000193748/0.0001.TRAINB,Epoch 217/500,MSE 9.87777e-005/0.0001.%训练到217次时,达到目标误差要求,结束训练TRAINB,Performance goal met.y=0.5883 0.9922E=9.8778e-005,2.3.3 线性神经网络的MATLAB实现,例2-2的训练误差曲线,2.3.3 线性神经网络的MATLAB实现,原数据关系与线性神经网络逼近关系对比注:两者仍存在误差,可以通过修改训练步数或精度来减少两者的误差,小结,线性神经网络模型线性神经网络激活函数神经网络学习算法线性神经网络的MATLAB实现线性神经网络的局限性,