欢迎来到天天文库
浏览记录
ID:41282006
大小:948.56 KB
页数:30页
时间:2019-08-21
《《线性神经网络》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章线性神经网络编者Outline1.线性神经网络的结构2.LMS学习算法3.LMS算法中学习率的选择4.线性神经网络与感知器的对比5.线性神经网络相关函数详解6.线性神经网络应用实例1.线性神经网络的结构线性神经网络最典型的例子是自适应线性元件(AdaptiveLinearElement,Adaline)。线性神经网络与感知器的主要区别在于,感知器的传输函数只能输出两种可能的值,而线性神经网络的输出可以取任意值,其传输函数是线性函数。线性神经网络在收敛的精度和速度上较感知器都有了较大提高,但由于
2、其线性运算规则,它也只能解决线性可分的问题。1.线性神经网络的结构线性神经网络在结构上与感知器网络非常相似,只是神经元传输函数不同。1.线性神经网络的结构若网络中包含多个神经元节点,就能形成多个输出,这种线性神经网络叫Madaline网络。Madaline可以用一种间接的方式解决线性不可分的问题,方法是用多个线性函数对区域进行划分,然后对各个神经元的输出做逻辑运算。1.线性神经网络的结构线性神经网络解决线性不可分问题的另一个方法是,对神经元添加非线性输入,从而引入非线性成分,这样做会使等效的输入维度
3、变大。2.LMS学习算法LMS算法与感知器网络的学习算法在权值调整上都基于纠错学习规则,但LMS更易实现,因此得到了广泛应用,成为自适应滤波的标准算法。也称为规则采用均方误差作为评价指标是输入训练样本的个数。线性神经网络学习的目标是找到适当的,使得误差的均方差最小。只要用对求偏导,再令该偏导等于零即可求出的极值。显然,必为正值,因此二次函数是凹向上的,求得的极值必为极小值。2.LMS学习算法误差表示为求导误差等于期望输出—实际输出求导代入,有:权值的修正值正比于当前位置上的梯度2.LMS学习算法(1
4、)定义变量和参数。(2)初始化。给向量赋一个较小的随机初值。(3)输入样本,计算实际输出和误差。(4)调整权值向量。(5)判断算法是否收敛。若满足收敛条件,则算法结束,否则跳转到第3步重新计算。3.LMS算法中学习率的选择学习率越小,算法的运行时间就越长,算法也就记忆了更多过去的数据。因此,学习率的倒数反映了LMS算法的记忆容量大小。1996年Hayjin证明,只要学习率满足下式,LMS算法就是按方差收敛的:输入向量自相关矩阵的最大特征值一般不可知,用矩阵的迹代替,迹就是主对角线元素之和。3.LMS
5、算法中学习率的选择自相关矩阵的主对角线元素就是各输入向量的均方值,故:在感知器学习算法中曾提到,学习率随着学习的进行逐渐下降比始终不变更加合理。反比例函数指数式下降搜索—收敛方案4.线性神经网络与感知器的对比网络传输函数。感知器传输函数是一个二值阈值元件,而线性神经网络的传输函数是线性的。这就决定了感知器只能做简单的分类,而线性神经网络还可以实现拟合或逼近。学习算法。LMS算法得到的分类边界往往处于两类模式的正中间,而感知器学习算法在刚刚能正确分类的位置就停下来了,从而使分类边界离一些模式距离过近,
6、使系统对误差更敏感。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;%直线方程为>>randn('state',2);%设置种子,便于重复执行>>y=y+randn(1,length(y))*1.5;%加入噪声的
7、直线>>plot(x,y,'o');>>P=x;T=y;>>net=newlind(P,T);%用newlind建立线性层>>new_x=-5:.2:5;%新的输入样本>>new_y=sim(net,new_x);%仿真>>holdon;plot(new_x,new_y);>>legend('原始数据点','最小二乘拟合直线');>>net.iw>>net.b>>title('newlind用于最小二乘拟合直线');newlind拟合直线5.线性神经网络相关函数详解[net=newlin(P,S,I
8、D,LR)P:R*Q矩阵,P中包含Q个典型输入向量,向量维数为RS:标量,表示输出节点个数。ID:表示输入延迟的向量,默认值为0LR:学习率,默认值为0.01newlin——构造一个线性层。newlin函数用于创建一个未经训练的线性神经网络。输入参数格式如下5.线性神经网络相关函数详解>>x=-5:5;>>y=3*x-7;%直线方程为>>randn('state',2);%设置种子,便于重复执行>>y=y+randn(1,length(y))*1.5;%加入噪声的直线
此文档下载收益归作者所有