第04讲感知器-Read.DOC
文本预览下载声明
第04讲 感知器(Perceptron)
感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输人矢量的响应达到元素为0或1的目标输出,从而实现对输人矢量分类的目的。图4.1给出了单层感知器神经元模型图。
图4.1 感知器神经元模型
其中,每一个输入分量严pj(j=1,2…,r)通过一个权值分量wj,进行加权求和,并作为阈值函数的输人。偏差b的加入使得网络多了一个可调参数,为使网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类问题。F.Roseblatt已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。
感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制中。
感知器实际上是在MP模型的基础上加上学习功能,使其权值可以调节的产物。罗森布拉特研究了单层的以及具有一个隐含层的感知器。但在当时他只能证明单层感知器可以将线性可分输入矢量进行正确划分,所以本书中所说的感知器是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修正,所以把它们均归类为反向传播网络之中。
4.1 感知器的网络结构
感知器的网络是由单层的s个感知神经元,通过一组权值{ωij}(i=1,2…s;j=l,2…r)与r个输入相连组成。对于具有输入矢量Pr×q和目标矢量Ts×q的感知器网络的简化结构,如图4.2所示。
图4.2 感知器简化结构图
根据网络结构,可以写出第i个输出神经元(i=1,2,…,s)的加权输入和ni及其输出ai为:
(4-1)
(4-2)
感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类的,即有:
(4-3)
阈值激活函数如图4.3所示。
由图4.3可知:当输入ni十bi大于等于0,即有ni≥-bi时,感知器的输出为1,否则输出ai为0。利用偏差bi的使用,使其函数可以左右移动,从而增加了一个自由调整变量和实现网络特性的可能性。
图4.3 阈值激活函数
4.2 感知器的图形解释
由感知器的网络结构,我们可以看出感知器的基本功能是将输入矢量转化成0或1的输出。这一功能可以通过在输人矢量空间里的作图来加以解释。为了简单起见,以下取s=1,即输出为一个节点的网络的情况来进行作图解释。
由感知器的输从输出的关系式(4.3)可知,感知器的输出只有1或0两个状态,其他值由W*P+b的值大于、等于或小于零来确定。当网络的权值W和b确定后,在由各输入矢量pj(j=1,2…,r)为坐标轴所组成的输入矢量空间里,可以画出W*P+b=0的轨迹,对于任意给定的一组输入矢量P,当通过感知器网络的权值W和b的作用,或落在输入空间W*P+b=0的轨迹上,或落在W*P+b=0轨迹的上部或下部,而整个输入矢量空间是以W*P+b=0为分割界,即不落在W*P+b=0轨迹上的输入矢量,不是属于W*P+b>0,就是使W*P+b<0。因而感知器权值参数的设计目的,就是根据学习法则设计一条W*P+b=0的轨迹,使其对输入矢量能够达到期望位置的划分。
以输入矢量r=2为例,对于选定的权值w1、w2和b,可以在以p1和p2分别作为横、纵坐标的输入平面内画出W*P+b=w1 p1十w2 p2十b=0的轨迹,它是一条直线,此直线上的及其线以上部分的所有p1、p2值均使w1 p1十w2 p2十b>0,这些点若通过由w1、w2和b构成的感知器则使其输出为1;该直线以下部分的点则使感知器的输出为0。所以当采用感知器对不同的输入矢量进行期望输出为0或1的分类时,其问题可转化为:对于已知输入矢量在输人空间形成的不同点的位置,设计感知器的权值W和b,将由W*P+b=0的直线放置在适当的位置上使输入矢量按期望输出值进行上下分类。
阈值函数通过将输入矢量的r维空间分成若干区域而使感知器具有将输入矢量分类的能力。输出矢量的0或1,取决于对输入的分类。
图4.4给出了感知器在输入平面中的图形,从中可以清楚看出:由直线W*P十b=0将由输人矢量p1和p2组成的平面分为两个区域,此线与权重矢量W正交可根据偏差b进行左右平移。直线上部的输人矢量使阈值函数的输入大于0,所以使感知器神经元的输出为1。直线下部的输入矢量使感知器神经元的输出为0。分割线可以按照所选的权值和偏差上下左右移动到期望划分输入平面的地方。
图4.4输入矢量平面图(此图横坐标有问题)
感知器神经元不带偏差时,得到的是通过原点的分类线。有些可以用带偏差解决的问题,不带偏差
显示全部