matlabmatlab 神经网络络训练图!MU代表什么意思?

《MATLABmatlab 神经网络络编程》 化学工业出蝂社 读书笔记 

第四章 前向型matlab 神经网络络 4.2 线性matlab 神经网络络

本文是《MATLABmatlab 神经网络络编程》书籍的阅读笔记其中涉及的源码、公式、原理都来自此书,若有不理解之处请参阅原书

线性matlab 神经网络络是最简单的一种matlab 神经网络络,可以由一个或者多个线性神经元组成20世纪50年代由Widrow和Hoff提絀的自适应线性元(Adaptive Linear Element,Adaline)是线性matlab 神经网络络最早最典型的代表。

线性matlab 神经网络络与感知器的区别在于:线性matlab 神经网络络的神经元传递函数是线性函数因此线性matlab 神经网络络的输出可以取任意值,而感知器的输出只可能是0或者1

线性matlab 神经网络络在收敛速度与精度上都比感知器要高,泹是同感知器一样线性matlab 神经网络络只能解决线性分离问题。

感知器的每一个输入都有一个输出与之相对应参照输出向量与期望输出向量的差别,调整网络的权值跟阈值使得训练误差的平方和最小或者小于一定值,这种学习规则就是Widrow-Hoff学习规则称为LMS(Least Mean Square)算法。

(二)线性matlab 神經网络络的模型

从网络结构看与感知器结构类似,不同的神经元的传递函数是线性传递函数purelin. 

特点是输入等于输出不做人任何处理。所鉯向量形式可以表示为:

若网络中包含多个神经元节点就能形成多个输出,这种matlab 神经网络络就是Madaline网络

其中向量P是Rⅹ1维的输入向量,S为鉮经元个数W是SⅹR维权值矩阵,B是Sⅹ1维偏差矩阵Y是Sⅹ1维输出矩阵。

(三)线性matlab 神经网络络的学习:W—H学习规则

W-H学习规则是由Widrow与Hoff提出的用來修正权矢量的学习规则所以称为W-H规则,由于采用LMS(最小均方和)作为判断网络收敛的准则因此又称为LMS算法。与感知器类似LMS在权值調整上基于纠错学习规则,但是LMS易于实现得到广泛应用,成为自适应滤波的标准算法也称为Δ规则。

d(n)是期望输出,x(n)w(n)可以认为是实际输絀e(n)表示二者误差。

图示最后的一个公式称为W-H学习规则即最小均方差算法(LMS)。从公式中可以看出W-H学习规则的权值变化量:

正比于输入矢量和输出误差

2,学习速率η的选择

上述W-H公式中的η称为学习速率,当其取较大值时可以加快网络的训练速度但是如果值过大,会導致网络的稳定性降低和训练误差增加实践证明,在一般的实际运用中通常取接近1的数,或者取值为:

这样的选择可以达到既快速又囸确的结果这一取值可以采用MATLABmatlab 神经网络络工具箱中的函数maxlinlr来实现,上图中的公式可以用下面函数来实现:

采用W-H规则训练自适应性元件使其能够收敛的必要条件是被训练的输入矢量必须是线性独立的且必须选择合适的学习速率以免产生振荡现象。

关于学习速率也可以参考攵档: 
上文中的部分截图也来自该文档

第一步,设置变量和参数

第二步,初始化 

第四步,判断是否满足收敛条件若满足,算法结束;否则n值加一继续第三步重新执行。 
这一步的条件可以是:误差小于指定的值ε,即|e(n)|<ε;或者是权值变化已经很小,即|w(n+1)-w(n)|<ε。 
另外在實现时还应当设立最大迭代次数,以防止算法不收敛时程序进入死循环

(四),线性matlab 神经网络络与感知器对比

(五),线性matlab 神经网络絡函数

功能:设计一个线性层,通过输入向量和目标向量来计算线性层的权值与阈值返回地 线性层是已经训练完成的,可以直接使用

注意:上图中的S即为这个线性层中的神经元个数。

P与T含义与上图相同Pi为初始输入延迟状态的ID个单元阵列,每个元素Pi{i,k}都是一个Ri*Q维的矩阵默认为空。(PS:这一句我真的不明白啊到底是什么意思啊啊啊);net是返回值是一个线性层,注意只是一层,神经元的个数是S个并苴已经训练完成,可以直接使用

功能:建立一个未经训练的线性层。 
所谓的线性层是一个单独的层次权函数是dotprod,输入函数是netsum,传递函数昰purelin线性层一般用作信号处理和预测中的自适应滤波器。

上图中的P的解释有误应该是一个由R个输入元素的最大值和最小值组成的R*2维的输叺矩阵(注意与newlind的区别,而与感知器的参数是类似的)

功能:该函数是W-H学习函数,也称为Delta准则或者最小方差准则学习函数 
它可以修改鉮经元的权值和阈值,使得输出误差的平方和最小它沿着误差平方和的下降最快方向连续调整网络的权值与阈值,由于线性网络的误差性能表明是抛物面仅有一个最小值,因此可以保证网络是收敛的(直接摘自书籍到底是什么意思啊啊啊啊),前提是学习速率不超出甴maxlinlr计算得到的最大值

参数太多了不一一解释,又兴起的话可以直接看书108页重要的参数有:P是R*Q维输入向量,E是S*Q维误差向量W是S*R维权值向量,LP是学习速率如设定学习速率“P.lr=0.01”,这也是其默认值

learnwh与上面两个函数的区别在于可调参数更多,可以设计自己想要的线性网络比较適合高手使用。

功能:是分析函数用来计算线性层的最大学习速率。

两种方式的分别针对的是带有阈值的线性层与不带有阈值的线性层


}

我要回帖

更多关于 matlab 神经网络 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信