单个神经元感知器学习训练算法c语言实现,第2章单层前向网络及LMS学习算法讲解.doc...

PAGE

PAGE 47

第2章单层前向网络及LMS学习算法在众多人工神经网络模型中,最为简单的就是所谓的单层前向网络,它是指拥有的计算节点(神经元)是“单层”的。本章所要介绍的单层感知器(Perceptron)和自适应线性元件(Adaptive Linear Element,Adaline )模型均属于典型单层前向网络。感知器是由美国学者Rosenblatt在1958年首次提出的作为有导师学习(也即是有监督学习)的模型。单层感知器是指包含一个突触权值可调的神经元的感知器模型,它的训练算法是Rosenblatt在1958年和1962年提出的。感知器是神经网络用来进行模式识别的一种最简单模型,但是由单个神经元组成的单层感知器只能用来实现线性可分的两类模式的识别。在信号处理领域,单个神经元也用来作为自适应线性元件进行自适应滤波,Widrow和Hoff在1960年提出了易实现但效率高的自适应滤波的LMS算法(Least-Mean-Square algorithm, LMS),可称之为最小均方误差规则或梯度算法,也称规则(Delta rule)。感知器和LMS算法在历史上几乎同时提出的,并且两者在对权值的调整的算法非常相似,它们都是基于纠错学习规则的学习算法。LMS算法由于其容易实现而很快得到了广泛的应用,成为自适应滤波的标准算法。本章将首先介绍单层感知器及其学习算法,然后介绍自适应线性元件以及LMS算法,最后结合讨论的问题给出典型算法的仿真实例。2.1单层感知器 感知器模型是由美国学者F. Rosenblatt于1958年提出的。它与MP模型的不同之处是假定神经元的突触权值是可变的,这样就可以进行学习。感知器模型在神经网络研究中有着重要的意义和地位,因为感知器模型包含了自组织、自学习的思想。2.1.1单层感知器模型单层感知器模型如图2.1所示,它包括一个线性的累加器和一个二值阈值元件,同时还有一个外部偏差b。线性累加器的输出作为二值阈值元件的输入,这样当二值阈值元件的输入是正数,神经元就产生输出+1,反之,若其输入是负数,则产生输出-1。即: (2.1) (2.2)

图2.1 单层感知器使用单层感知器的目的就是让其对外部输入x1, x2, …, xm进行识别分类,单层感知器可将外部输入分为两类l1和l2。当感知器的输出为+1时,我们认为输入x1, x2, …, xm属于l1类,当感知器的输出为-1时,认为输入x1, x2, …, xm属于l2类,从而实现两类目标的识别。在m维信号空间,单层感知器进行模式识别的判决超平面有下式决定: (2.3)在图2.2中我们给出了一种只有两个输入x1和x2的判决超平面的情况,它的判决边界是直线:。

图2.2两类模式识别的判定问题决定判决边界是直线的主要参数是权值向量w1和w2,通过合适的学习算法可训练出满意的w1和w2。2.1.2单层感知器的学习算法单层感知器对权值向量的学习算法是基于迭代的思想,通常是采用纠错学习规则的学习算法。为方便起见,将偏差b作为神经元突触权值向量的第一个分量加到权值向量中去,那么对应的输入向量也应增加一项,可设输入向量的第一个分量固定为+1,这样输入向量和权值向量可分别写成如下的形式: (2.4) (2.5)其中的变量n表示迭代次数,其中的b(n)可用w0(n) 表示,则二值阈值元件的输入可重新写为: (2.6)令(2.6)式等于零,即可得在m维信号空间的单层感知器的判决超平面。学习算法如下:第一步:设置变量和参量:X(n)= [1, x1(n), x2(n), …, xm(n)]为输入向量,或称训练样本;W(n)= [b(n), w1(n), w2(n), …, wm(n)]为权值向量;b(n) 为偏差;y(n)为实际输出;d(n)为期望输出;η为学习速率;n为迭代次数。第二步:初始化,赋给Wj(0)各一个较小的随机非零值, n = 0;第三步:对于一组输入样本X(n)= [1, x1(n), x2(n), …, xm(n)],指定它的期望输出(亦称之为导师信号)。,。第四步:计算实际输出: (2.7)第五步:调整感知器的权值向量: (2.8)第六步:判断是否满足条件,若满足算法结束,若不满足将n值增加1,转到第三步重新执行。注意:在以上学习算法的第六步需要判断是否满足条件,这里的条件可以是:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值