《线性神经网络》PPT课件.ppt_第1页
《线性神经网络》PPT课件.ppt_第2页
《线性神经网络》PPT课件.ppt_第3页
《线性神经网络》PPT课件.ppt_第4页
《线性神经网络》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 线性神经网络,编者,Outline,1.线性神经网络的结构 2.LMS学习算法 3.LMS算法中学习率的选择 4.线性神经网络与感知器的对比 5.线性神经网络相关函数详解 6.线性神经网络应用实例,1.线性神经网络的结构,线性神经网络最典型的例子是自适应线性元件(Adaptive Linear Element,Adaline)。 线性神经网络与感知器的主要区别在于,感知器的传输函数只能输出两种可能的值,而线性神经网络的输出可以取任意值,其传输函数是线性函数。 线性神经网络在收敛的精度和速度上较感知器都有了较大提高,但由于其线性运算规则,它也只能解决线性可分的问题,1.线性神经网络的结构

2、,线性神经网络在结构上与感知器网络非常相似,只是神经元传输函数不同,1.线性神经网络的结构,若网络中包含多个神经元节点,就能形成多个输出,这种线性神经网络叫Madaline网络,Madaline可以用一种间接的方式解决线性不可分的问题,方法是用多个线性函数对区域进行划分,然后对各个神经元的输出做逻辑运算,1.线性神经网络的结构,线性神经网络解决线性不可分问题的另一个方法是,对神经元添加非线性输入,从而引入非线性成分,这样做会使等效的输入维度变大,2.LMS学习算法,LMS算法与感知器网络的学习算法在权值调整上都基于纠错学习规则,但LMS更易实现,因此得到了广泛应用,成为自适应滤波的标准算法。也

3、称为 规则,采用均方误差作为评价指标,是输入训练样本的个数。线性神经网络学习的目标 是找到适当的 ,使得误差的均方差最小。只要用对 求偏导,再令该偏导等于零即可求出 的极值。显然, 必为正值,因此二次函数是凹向上的,求得的极值必为极小值,2.LMS学习算法,误差表示为,求导,误差等于期望输出实际输出,求导,代入,有,权值的修正值正比于当前位置上的梯度,2.LMS学习算法,1)定义变量和参数。 (2)初始化。给向量赋一个较小的随机初值 。 (3)输入样本,计算实际输出和误差。 (4)调整权值向量。 (5)判断算法是否收敛。若满足收敛条件,则算法结束 ,否则跳转到第3步重新计算,3.LMS算法中学

4、习率的选择,学习率越小,算法的运行时间就越长,算法也就记忆了更多过去的数据。因此,学习率的倒数反映了LMS算法的记忆容量大小。 1996年Hayjin证明,只要学习率满足下式,LMS算法就是按方差收敛的,输入向量自相关矩阵的最大特征值,一般不可知,用矩阵的迹代替,迹就是主对角线元素之和,3.LMS算法中学习率的选择,自相关矩阵的主对角线元素就是各输入向量的均方值 ,故,在感知器学习算法中曾提到,学习率随着学习的进行逐渐下降比始终不变更加合理,反比例函数,指数式下降,搜索收敛方案,4.线性神经网络与感知器的对比,网络传输函数。感知器传输函数是一个二值阈值元件,而线性神经网络的传输函数是线性的。这

5、就决定了感知器只能做简单的分类,而线性神经网络还可以实现拟合或逼近。 学习算法 。LMS算法得到的分类边界往往处于两类模式的正中间,而感知器学习算法在刚刚能正确分类的位置就停下来了,从而使分类边界离一些模式距离过近,使系统对误差更敏感,5.线性神经网络相关函数详解,net=newlind(P,T) P:R*Q矩阵,包含Q个训练输入向量。 T:S*Q矩阵,包含Q个期望输出向量。 net:训练好的线性神经网络,newlind设计一个线性层,newlind函数返回的net已经训练完毕,不需要再自行调用train函数训练,5.线性神经网络相关函数详解,x=-5:5; y=3*x-7;% 直线方程为 r

6、andn(state,2);% 设置种子,便于重复执行 y=y+randn(1,length(y)*1.5;% 加入噪声的直线 plot(x,y,o); P=x;T=y; net=newlind(P,T);% 用newlind建立线性层 new_x=-5:.2:5;% 新的输入样本 new_y=sim(net,new_x);% 仿真 hold on;plot(new_x,new_y); legend(原始数据点,最小二乘拟合直线); net.iw net.b title(newlind用于最小二乘拟合直线,newlind拟合直线,5.线性神经网络相关函数详解,net=newlin(P,S,ID

7、,LR) P:R*Q矩阵,P中包含Q个典型输入向量,向量维数为R S:标量,表示输出节点个数。 ID:表示输入延迟的向量,默认值为0 LR:学习率,默认值为0.01,newlin构造一个线性层 。newlin函数用于创建一个未经训练的线性神经网络。输入参数格式如下,5.线性神经网络相关函数详解,x=-5:5; y=3*x-7;% 直线方程为 randn(state,2);% 设置种子,便于重复执行 y=y+randn(1,length(y)*1.5;% 加入噪声的直线 plot(x,y,o); P=x;T=y; net=newlin(minmax(P),1,0,maxlinlr(P);% 用n

8、ewlin创建线性网络 tic;net=train(net,P,T);toc new_x=-5:.2:5; new_y=sim(net,new_x);% 仿真 hold on;plot(new_x,new_y); legend(原始数据点,最小二乘拟合直线); title(newlin用于最小二乘拟合直线); net.iw net.b,newlin实现直线拟合,5.线性神经网络相关函数详解,purelin线性传输函数 输入就等于输出,不做其他操作,5.线性神经网络相关函数详解,learnwhLMS学习函数 learnwh 是Widrow-Hoff规则(LMS算法)的学习函数。 dW,LS=le

9、arnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) 用learnwh可以自行编写训练函数。 用learwh实现的线性神经网络与newlin、newlind函数算得的结果是一样的。 运行example5_4.m,5.线性神经网络相关函数详解,maxlinlr计算最大学习率 lr=maxlinlr(P) lr=maxlinlr(P,bias) :包含偏置,X = 1 2 -4 7; 0.1 3 10 6 % 输入的矩阵,由4个二维向量组成 lr = maxlinlr(X,bias)% 带偏置时的最大学习率 lr = maxlinlr(X)% 不带偏置的最大学习率 lr = 0.9

10、999/max(eig(X*X) P=-5:5; lr = maxlinlr(P,5.线性神经网络相关函数详解,mse均方误差性能函数 。 rand(seed,2) a=rand(3,4) mse(a) b=a(:); sum(b.2)/length(b) mse(b,5.线性神经网络相关函数详解,linearlayer构造线性层的函数. linearlayer 函数用于设计静态或动态的线性系统,给定一个足够小的学习率能使它稳定收敛。 net=linearlayer(inputDelays,widrowHoffLR) inputDelays:表示输入延迟的行向量 widrowHoffLR:学习

11、率 newlin是将被系统废弃的函数,使用newlin函数的场合以后用linearlayer代替,5.线性神经网络相关函数详解,x=-5:5; y=3*x-7; randn(state,2);% 设置种子,便于重复执行 y=y+randn(1,length(y)*1.5;% 加入噪声的直线 plot(x,y,o); P=x;T=y; lr=maxlinlr(P,bias)% 计算最大学习率 net=linearlayer(0,lr);% 用linearlayer创建线性层,输入延迟为0 tic;net=train(net,P,T);toc% 用train函数训练 new_x=-5:.2:5;

12、new_y=sim(net,new_x);% 仿真 hold on;plot(new_x,new_y); title(linearlayer用于最小二乘拟合直线); legend(原始数据点,最小二乘拟合直线); xlabel(x);ylabel(y); s=sprintf(y=%f * x + %f, net.iw1,1, net.b1,1) text(-2,0,s,linearlayer实现直线拟合,6.线性神经网络应用实例与,网络的训练中共需确定3个自由变量,而输入的训练向量则有4个,因此可以形成一个线性方程组,由于方程的个数超过了自变量的个数,因此方程没有精确解,只有近似解,用伪逆的方

13、法可以求得权值向量的值: P=0,0,1,1;0,1,0,1 P=ones(1,4);P d=0,0,0,1 pinv(P)*d,6.线性神经网络应用实例与,手算: % 定义 P=0,0,1,1;0,1,0,1 P=ones(1,4);P % 包含偏置的输入向量 d=0,0,0,1% 期望输出向量 % 初始化 w=0,0,0% 权值向量初始化为零向量 lr=maxlinlr(P)% 根据输入矩阵求解最大学习率 MAX=200;% 最大迭代次数,根据经验确定,for i=1:MAX. fprintf(第%d次迭代n, i); v=w*P;% 求出输出 y=v; disp(线性网络的二值输出:);

14、 yy=y=0.5% 将模拟输出转化为二值输出,以0.5为阈值 e=d-y;% 误差 m(i)=mse(e);% 均方误差 fprintf(均方误差: %fn,m(i); dw=lr*e*P;% 权值向量的调整量 fprintf(权值向量:n); w=w+dw% 调整权值向量 end,6.线性神经网络应用实例与,plot(0,0,1,0,1,0,o);hold on; plot(1,1,d); x=-2:.2:2; y=1.5-x; plot(x,y) axis(-0.5,2,-0.5,2) xlabel(x);ylabel(ylabel); title(线性神经网络用于求解与逻辑) legend(0,1,分类面,得到的分类超平面为,6.线性神经网

温馨提示

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

最新文档

评论

0/150

提交评论