第2章 单层前向网络及LMS学习算法汇总

1970-01-01 08:00

第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。即:

y?Sgn(?wijxj?b)

j?1m (2.1)

m??1,若(?wijxj?b)?0j?1?y?? m??1,若(wx?b)?0j?ij?j?1? (2.2)

24

x1x2xjwi1wi2wijuibiivif(?)yiwiNxN

图2.1 单层感知器

使用单层感知器的目的就是让其对外部输入x1, x2, …, xm进行识别分类,单层感知器可将外部输入分为两类l1和l2。当感知器的输出为+1时,我们认为输入x1, x2, …, xm属于l1类,当感知器的输出为-1时,认为输入x1, x2, …, xm属于l2类,从而实现两类目标的识别。在m维信号空间,单层感知器进行模式识别的判决超平面有下式决定:

?wijxj?b?0 (2.3)

j?1m在图2.2中我们给出了一种只有两个输入x1和x2的判决超平面的情况,它的判决边界是

直线:w1x1?w2x2?b?0。

x2类l1x1类l2判决边界0w1x1?w2x2?b?0

图2.2两类模式识别的判定问题

决定判决边界是直线的主要参数是权值向量w1和w2,通过合适的学习算法可训练出满意的w1和w2。

2.1.2单层感知器的学习算法

单层感知器对权值向量的学习算法是基于迭代的思想,通常是采用纠错学习规则的学习

25

算法。

为方便起见,将偏差b作为神经元突触权值向量的第一个分量加到权值向量中去,那么对应的输入向量也应增加一项,可设输入向量的第一个分量固定为+1,这样输入向量和权值向量可分别写成如下的形式:

X(n)??1,x1(n),x2(n),?,xm(n)

W(n)???T

(2.4) (2.5)

?b(n),w1(n),w2(n),?,wm(n)?

T其中的变量n表示迭代次数,其中的b(n)可用w0(n) 表示,则二值阈值元件的输入可重新写为:

v??wj(n)xj(n)?WT(n)X(n)

j?0m (2.6)

令(2.6)式等于零,即WTX?0可得在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)],指定它的期望输出d(亦称之为

导师信号)。if第四步:计算实际输出:

X?l1,d?1,ifX?l2,d??1。

y(n)?Sgn(WT(n)X(n))

第五步:调整感知器的权值向量:

(2.7)

w(n?1)?w(n)???d(n)?y(n)?X(n)

(2.8)

第六步:判断是否满足条件,若满足算法结束,若不满足将n值增加1,转到第三步重新执行。

注意:在以上学习算法的第六步需要判断是否满足条件,这里的条件可以是:误差小于我们设定的值ε,即:d(n)?y(n)??;或者是权值的变化已很小,即w(n?1)?w(n)??。

26

另外,在实现过程中还应设定最大的迭代次数,以防止算法不收敛时,程序进入死循环。

在感知器学习算法中,重要的是引入了一个量化的期望输出d(n),其定义为:

??1如果X(n)属于类l1 d(n)?? (2.9)

?1如果X(n)属于类l2?这样,就可以采用纠错学习规则对权值向量进行逐步修正。

对于线性可分的两类模式,可以证明单层感知器的学习算法是收敛的,即通过学习调整突触权值可以得到合适的判决边界,正确区分两类模式。如图2.3(a)所示。而对于线性不可分的两类模式,如图2.3(b)所示,无法用一条直线区分两类模式。因而单层感知器的学习算法是不收敛的,即单层感知器无法正确区分线性不可分的两类模式。

判决边界类l1类l1类l2类l2 (a) (b)

图2.3 线性可分与不可分的问题

对于以上所述的问题可用单层感知器实现逻辑函数来进一步说明。 x1 x2 x1 x2 Y=w1·x1+w2·x2-b=0 条件

“与”

0 0 1 1

0 1 0 1 0 0 0 1

Y=w1·0+w2·0-b<0 Y=w1·0+w2·1-b<0 Y=w1·1+w2·0-b<0 Y=w1·1+w2·1-b≥0

b>0

b>w2 b>w1

b≤w1+w2

可解。比如取w1=1,w2=1,b=1.5。 “或”

0 0 0 Y=w1·0+w2·0-b<0 0 1 1 Y=w1·0+w2·1-b≥0 1 0 1 Y=w1·1+w2·0-b≥0 1 1 1 Y=w1·1+w2·1-b≥0

可解。比如取w1=1,w2=1,b=0.5。

b>0 b≤w2 b≤w1 b≤w1+w2

27

“异或”

0 0 1 1

b>0 Y=w1·0+w2·0-b<0

Y=w1·0+w2·1-b≥0 b≤w2 Y=w1·1+w2·0-b≥0 b≤w1 Y=w1·1+w2·1-b<0 b>w1+w2

无解,即无法得到w1、w2和b满足条件。

如图2.4所示,逻辑运算的结果“0”代表 l1类,用空心小圆表示;逻辑运算的结果“1”代表 l2类,用实心小圆表示。可见单层感知器可实现逻辑“与”运算、逻辑“或”运算,即总可以得到一条直线将“0”和“1”区分开来,但单层感知器不可实现逻辑“异或”运算,即无法用一条直线将“0”和“1”区分开。

“1”“1”0 1 0 1 0 1 1 0

“0”(0,1)(1,1)“1”(0,1)(1,1)“0”(0,0)“0”(1,0)“0”(0,0)“1”(1,0)

“与”

“或”

“1”(0,1)“0”(1,1)“0”(0,0)“1”(1,0)

“异或”

图2.4 逻辑运算问题图示

单层感知器无法解决线性不可分的两类模式识别问题,采用多层感知器可解决此类问题。关于多层感知器将在第3章详细介绍。

2.2自适应线性元件

自适应线性元件(Adaptive Linear Element,Adaline )模型是由美国斯坦福大学的Widrow和Hoff于1961年提出的。

28


第2章 单层前向网络及LMS学习算法汇总.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生产与运营管理复习题(2)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: