,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/1/8,线性神经网络,线性神经网络,第1页,Outline,1.,线性神经网络结构,2.LMS,学习算法,3.LMS,算法中学习率选择,4.,线性神经网络与感知器对比,5.,线性神经网络相关函数详解,6.,线性神经网络应用实例,线性神经网络,第2页,1.,线性神经网络结构,线性神经网络最经典例子是自适应线性元件(,Adaptive Linear Element,,,Adaline,)。,线性神经网络与感知器主要区分在于,感知器传输函数只能输出两种可能值,而线性神经网络输出能够取任意值,其传输函数是线性函数。,线性神经网络在收敛精度和速度上较感知器都有了较大提升,但因为其线性运算规则,它也只能处理线性可分问题。,线性神经网络,第3页,1.,线性神经网络结构,线性神经网络在结构上与感知器网络非常相同,只是神经元传输函数不一样。,线性神经网络,第4页,1.,线性神经网络结构,若网络中包含多个神经元节点,就能形成多个输出,这种线性神经网络叫,Madaline,网络。,Madaline,能够用一个间接方式处理线性不可分问题,方法是用多个线性函数对区域进行划分,然后对各个神经元输出做逻辑运算。,线性神经网络,第5页,1.,线性神经网络结构,线性神经网络处理线性不可分问题另一个方法是,对神经元添加非线性输入,从而引入非线性成份,这么做会使等效输入维度变大。,线性神经网络,第6页,2.LMS,学习算法,LMS,算法与感知器网络学习算法在权值调整上都基于纠错学习规则,但,LMS,更易实现,所以得到了广泛应用,成为自适应滤波标准算法。也称为 规则,采取均方误差作为评价指标,是输入训练样本个数。线性神经网络学习目标 是找到适当 ,使得误差均方差最小。只要用对 求偏导,再令该偏导等于零即可求出 极值。显然,必为正值,所以二次函数是凹向上,求得极值必为极小值。,线性神经网络,第7页,2.LMS,学习算法,误差表示为,求导,误差等于期望输出,实际输出,求导,代入,有:,权值修正值正比于当前位置上,梯度,线性神经网络,第8页,2.LMS,学习算法,(,1,)定义变量和参数。,(,2,)初始化。给向量赋一个较小随机初值。,(,3,)输入样本,计算实际输出和误差。,(,4,)调整权值向量。,(,5,)判断算法是否收敛。若满足收敛条件,则算法结束,不然跳转到第,3,步重新计算。,线性神经网络,第9页,3.LMS,算法中学习率选择,学习率越小,算法运行时间就越长,算法也就记忆了更多过去数据。所以,学习率倒数反应了,LMS,算法记忆容量大小。,1996,年,Hayjin,证实,只要学习率满足下式,,LMS,算法就是按方差收敛,:输入向量自相关矩阵最大特征值,普通不可知,用矩阵迹代替,迹就是主对角线元素之和。,线性神经网络,第10页,3.LMS,算法中学习率选择,自相关矩阵主对角线元素就是各输入向量均方值,故:,在感知器学习算法中曾提到,学习率伴随学习进行逐步下降比一直不变愈加合理。,反百分比函数,指数式下降,搜索,收敛方案,线性神经网络,第11页,4.,线性神经网络与感知器对比,网络传输函数。感知器传输函数是一个二值阈值元件,而线性神经网络传输函数是线性。这就决定了感知器只能做简单分类,而线性神经网络还能够实现拟合或迫近。,学习算法。,LMS,算法得到分类边界往往处于两类模式正中间,而感知器学习算法在刚才能正确分类位置就停下来了,从而使分类边界离一些模式距离过近,使系统对误差更敏感,。,线性神经网络,第12页,5.,线性神经网络相关函数详解,net=newlind(P,T),P,:,R*Q,矩阵,包含,Q,个训练输入向量。,T,:,S*Q,矩阵,包含,Q,个期望输出向量。,net:,训练好线性神经网络,newlind,设计一个线性层,newlind,函数返回,net,已经训练完成,不需要再自行调用,train,函数训练,线性神经网络,第13页,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=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,拟合直线,线性神经网络,第14页,5.,线性神经网络相关函数详解,net=newlin(P,S,ID,LR),P,:,R*Q,矩阵,,P,中包含,Q,个经典输入向量,向量维数为,R,S,:标量,表示输出节点个数。,ID,:表示输入延迟向量,默认值为,0,LR,:学习率,默认值为,0.01,newlin,结构一个线性层。,newlin,函数用于创建一个未经训练线性神经网络。输入参数格式以下,线性神经网络,第15页,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);%用newlin创建线性网络,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,实现直线拟合,线性神经网络,第16页,5.,线性神经网络相关函数详解,purelin,线性传输函数,输入就等于输出,不做其它操作,线性神经网络,第17页,5.,线性神经网络相关函数详解,learnwhLMS,学习函数,learnwh,是,Widrow-Hoff,规则(,LMS,算法)学习函数。,dW,LS=learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS),用,learnwh,能够自行编写训练函数。,用,learwh,实现线性神经网络与,newlin,、,newlind,函数算得结果是一样。,运行,example5_4.m,线性神经网络,第18页,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.9999/max(eig(X*X),P=-5:5;,lr=maxlinlr(P),线性神经网络,第19页,5.,线性神经网络相关函数详解,mse,均方误差性能函数。,rand(seed,2),a=rand(3,4),mse(a),b=a(:);,sum(b.2)/length(b),mse(b),线性神经网络,第20页,5.,线性神经网络相关函数详解,linearlayer,结构线性层函数,.linearlayer,函数用于设计静态或动态线性系统,给定一个足够小学习率能使它稳定收敛。,net=linearlayer(inputDelays,widrowHoffLR),inputDelays,:表示输入延迟行向量,widrowHoffLR,:学习率,newlin,是将被系统废弃函数,使用,newlin,函数场所以后用,linearlayer,代替,线性神经网络,第21页,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;,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,实现直线拟合,线性神经网络,第22页,6.,线性神经网络应用实例,与,网络训练中共需确定,3,个自由变量,而输入训练向量则有,4,个,所以能够形成一个线性方程组:,因为方程个数超出了自变量个数,所以方程没有准确解,只有近似解,用伪逆方法能够求得权值向量值:,P=0,0,1,1;0,1,0,1,P=ones(1,4);P,d=0,0,0,1,pinv(P)*d,线性神经网络,第23页,6.,线性