10-第三篇 第3章 常用神经网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章常用神经网络
3.1前馈型人工神经网络
前馈神经网络是神经网络中的一种典型分层结构,信息从输入层进入网络后逐层向前传递至
输出层。根据前馈网络中神经元转移函数、隐层数以及权值调整规则的不同,可以形成具有各种功
能特点的神经网络。
例如,如果转移函数采用线性阈值函数或符号函数且只有一个输出层(无隐层),或有一个以上的隐层,则分别称为单层感知器和多层感知器;如果转移函数采用非线性连续有界函数且只有一个输出层(无隐层),或有一个以上的隐层,则分别称为单层BP网络和多层BP网络。
3.1.1 线性阈值单元组成的前馈网络
这类前馈网络的转移函数采用线性阈值函数或符号函数。
1.单层感知器
1958年,美国心理学家Frank Rosenblat提出一种具有单层计算单元的神经网络,称为Perception,即感知器。感知器是模拟人的视觉接受环境信息,并由神经冲动进行信息传递。感知器研究中首次提出了自组织、自学习的思想,而且对所能解决的问题存在着收敛算法,并能从数学上严格证明,因而对神经网络的研究起了重要推动作用。单层感知器的结构与功能都非常简单,以
单层感知器(图3-1
神经元基本模型(即MP
基本模型。
1)
图3-1
为第j(j=1,2,…m
x n)T,通过一个阈值函数f(
从数学观点来说,
等于0时,输出为1
神经元的连接权值w ji
当输入为X,对于j
n
i
i ji
j
x w
s=∑
=1其输出为:
2 )(1
j n
i i ji j x w f y θ+=∑= (3-1)
转移函数f (•)是阈值函数(即单位阶跃函数),故: ⎪⎪⎩
⎪⎪⎨
⎧
<+≥+=∑∑==0
,00,11
1j n
i i ji
j n
i i ji
j x w
x w
y θθ (3-2)
通过转移函数,其输出只有两个状态,“1”或“0”,所以,它实际上是输入模式的分类器,即可以辨识输入模式属两类中的那一类。
当单层感知器模型只有1个输出结点时,称为简单感知器,其实就是MP 模型。
对于输出结点为的简单感知器,若输入向量的维数n=2,则向量X 用两维平面上的一个点来表示。设被观察的模式只有A 、B 两类,则:
(3-3)
A 、
B 两类分别属于集合R 1 (A ∈R 1)、R 2(B ∈R 2),且R 1与R 2是 线性可分的,如图3-2所示。
利用简单感知器的计算式(3-3)可以实现逻辑代数中的一些运算: (1)当取w 1=w 2=1, θ=-1.5时, 完成逻辑“与”的运算功 能,即 x 1∧x 2;
(2)当取w 1=w 2=1, θ=-0.5时,完成逻辑“或”的运算功能, 即x 1∨x 2;
(3)当取w 1= -1,w 2=0, θ= 1时,完成逻辑“非”的运算功能,
即x 。
若x 1与x 2分别取布尔值,逻辑运算列入表3-1中。
表3-1 逻辑运算表
若净输入为零,便得到一条线性的模式判别函数:
⎩⎨
⎧→→=++=+=∑
=类类
B A x w x w f x w f y i i i 01)()(2
12211θθ图3-2 线性可分两维模式
3
02211=++θx w x w
设 w 1=w 2=1 θ= -1.5 则 x 1
有输入样本取为“0”和“1输入样本记为(x 1,x 2):
(0,0),(0,1),(1,0),(1,1),用表“*图3-3a 所示。
若θ=-0.5,其他相同,则直线 x 1+x 2-0.5=0进行“或”运算,可分性如图3-3 b 所示。 2)单层感知器的学习方法
感知器的学习是有导师的学习,样本向量X 输入到感知器中,感知器的各处理单元按(3-1)式计算,得到实际输出yj,
算法就是前面介绍的感知器学习算法,一单层多结点感知器模型,(1(2)输入样本对{X p ,d p },样本对数望的输出向量(导师信号);
(3)将X p )s g n
(p j jp X W y = (j=1,2,…,m (4)计算各结点对应的权值:
jp jp j j y d t W t W [)()1(-+=+∆η其中η为学习率,一般取0<η<1,取值太大影响训练稳定性,太小则使训练的收敛速度变慢。 (5)返回步骤(2),输入下一对样本,周而复始直到d jp =y jp 即d jp -y jp =0为止。
例3-1 单神经元感知器有3个样本对,分别如下:
X 1=[1 -2 0 1 ]T d 1=-1 X 2=[0 1.5 -0.5 -1]T d 2=-1 X 3=[-1 1 0.5 -1]T d 3= 1
设初始权向量W o =[1 -1 0 0.5], η=0.1,试根据上面的学习规则训练感知器。 解:
(1)输入X 1,得
4 s 1=W o X 1=[1 -1 0 0.5]⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡-1021=2.5
y 1=s gn (2.5)=1
∆W 1=η(d 1-y 1)X 1T
= 0.1(-1-1)[1-2 0 1]=[-0.2 0.4 0 0.2]
W 1=W O +∆W 1
=[1 -1 0 0.5]+[-0.2 0.4 0 0.2]=[0.8 -0.6 0 0.7] (2)输入X 2,得
s 2=W 1X 2=[0.8 -0.6 0 0.7] ⎥⎥⎥⎥
⎦
⎤⎢⎢⎢
⎢⎣⎡--15.05.10= -1.6 y 2=sgn (-1.6)= -1
由于y 2=d 2 故∆W 2=0 , W 2=W 1+∆W 2=W 1
(3)输入X 3, 得
S 3=W 2X 3=[0.8 -0.6 0 0.7] ⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡-15.011= -2.1
故y 2=sgn (-2.1)= -1
所以 ∆W 3=η(d 3-y 3)X 3T =0.1[1-(-1)][-1 1 0.5 -1]=[-0.2 0.2 0.1 -0.2]
W 4 =W 3+∆W 3
=[0.8 -0.6 0 0.7]+[-0.2 0.2 0.1 -0.2]=[0.6 -0.4 0.1 0.5]
(4)重复以上三个步骤,即重新输入X 1、X 2和X 3并调整向权量,直到d p -y p =0(p=1,2,3)为止。
通过Rosenlatt 证明,当输入样本是线性可分时,不论初始权向量如何,经有限次修改,最终能找到一个权向量把n 维空间的两类模式用n-1维的超平面线性分开。
必须指出:初始值W 1不同,训练的结果W 也不同,但都能满足误差为零的要求;另外,收敛的速度与η值有关。
3) 单层感知器的局限性
1969年Minsky 和Papert 出版了《感知机》这本书,他们指出了简单感知器的局限性问题,只能解决一阶谓词逻辑和线性分类问题,不能解决高级阶谓词和非线性分类问题,如“异或”(XOR )问题。
例如,表3-2给出一组通过异或计算样本,要求经过学习,感知器能产生相应的输出。 假定简单的感知器能解这个问题,那么,根据式(3-3),须满足下列四个不等式: