第04讲感知器( Perceptron) 感知器是由美国计算机科学家罗森布拉特( F. Roseblatt)于1957年提出的。 感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈 值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输人矢量 的响应达到元素为0或1的目标输出,从而实现对输人矢量分类的目的。图4.1 给出了单层感知器神经元模型图。 P2 图4.1感知器神经元模型 其中,每一个输入分量严p(=1,2…,r通过一个权值分量w,进行加权 求和,并作为阈值函数的输人。偏差b的加入使得网络多了一个可调参数,为使 网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类 问题。 F. Roseblatt I已经证明,如果两类模式是线性可分的(指存在一个超平面将 它们分开),则算法一定收敛。 感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制 中 感知器实际上是在MP模型的基础上加上学习功能,使其权值可以调节的产 物。罗森布拉特研究了单层的以及具有一个隐含层的感知器。但在当时他只能证 明单层感知器可以将线性可分输入矢量进行正确划分,所以本书中所说的感知器 是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修 正,所以把它们均归类为反向传播网络之中
1 第 04 讲 感知器(Perceptron) 感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于 1957 年提出的。 感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈 值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输人矢量 的响应达到元素为 0 或 1 的目标输出,从而实现对输人矢量分类的目的。图 4.1 给出了单层感知器神经元模型图。 图 4.1 感知器神经元模型 其中,每一个输入分量严 pj(j=1,2…,r)通过一个权值分量 wj,进行加权 求和,并作为阈值函数的输人。偏差 b 的加入使得网络多了一个可调参数,为使 网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类 问题。F.Roseblatt 已经证明,如果两类模式是线性可分的(指存在一个超平面将 它们分开),则算法一定收敛。 感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制 中。 感知器实际上是在 MP 模型的基础上加上学习功能,使其权值可以调节的产 物。罗森布拉特研究了单层的以及具有一个隐含层的感知器。但在当时他只能证 明单层感知器可以将线性可分输入矢量进行正确划分,所以本书中所说的感知器 是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修 正,所以把它们均归类为反向传播网络之中
4.1感知器的网络结构 感知器的网络是由单层的s个感知神经元,通过一组权值{oj}(i=1,2…s j=1,2…r)与r个输入相连组成。对于具有输入矢量Pq和目标矢量Ts×的感知 器网络的简化结构如图4.2所示。 N r 团 图42感知器简化结构图 根据网络结构,可以写出第i个输出神经元(i=1 s)的加权输入和 及其输出a1为: =∑wnP a;=f(n;+bi) (4-2) 感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类 的,即有: 1n;+b;>0 0(0n;+b;<0 (4-3) 阈值激活函数如图4.3所示。 由图4.3可知:当输入n十b;大于等于0,即有n≥b时,感知器的输出 为1,否则输出a为0。利用偏差b的使用,使其函数可以左右移动,从而增加 了一个自由调整变量和实现网络特性的可能性
2 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 的使用,使其函数可以左右移动,从而增加 了一个自由调整变量和实现网络特性的可能性
b T 图43阈值激活函数 4.2感知器的图形解释 由感知器的网络结构,我们可以看出感知器的基本功能是将输入矢量转化成 0或1的输出。这一功能可以通过在输人矢量空间里的作图来加以解释。为了简 单起见,以下取s=1,即输出为一个节点的网络的情况来进行作图解释。 由感知器的输从输出的关系式(4.3)可知,感知器的输出只有1或0两个状 态,其他值由W*Pb的值大于、等于或小于零来确定。当网络的权值W和b 确定后,在由各输入矢量p=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。因 而感知器权值参数的设计目的,就是根据学习法则设计一条WP+b=0的轨迹, 使其对输入矢量能够达到期望位置的划分。 以输入矢量r=2为例,对于选定的权值w、w和b,可以在以p和p分别 作为横、纵坐标的输入平面内画出W*P+b=wpn十wp+b=0的轨迹,它是 条直线,此直线上的及其线以上部分的所有p、p值均使wp十wp+b >0,这些点若通过由w1、w和b构成的感知器则使其输出为1;该直线以下部 分的点则使感知器的输出为0。所以当采用感知器对不同的输入矢量进行期望输
3 图 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将由输人矢量p和p组成的平面分为两个区域,此线与权重矢量W正 交可根据偏差b进行左右平移。直线上部的输人矢量使阈值函数的输入大于0, 所以使感知器神经元的输出为1。直线下部的输入矢量使感知器神经元的输出为 0。分割线可以按照所选的权值和偏差上下左右移动到期望划分输入平面的地方。 WP+b>0 WP+b=0 b/wr WP+6<0 图4.4输入矢量平面图(此图横坐标有问题) 感知器神经元不带偏差时,得到的是通过原点的分类线。有些可以用带偏差 解决的问题,不带偏差的网络则解决不了。 熟悉图形解释有助于我们理解和掌握感知器的工作原理。当然在实际应用 时,权值的求解全都是由计算机来完成的。 4.3感知器的学习规则 学习规则是用来计算新的权值矩阵W及新的偏差B的算法。感知器利用其 学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1 的目标输出
4 出为 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 输入矢量平面图(此图横坐标有问题) 感知器神经元不带偏差时,得到的是通过原点的分类线。有些可以用带偏差 解决的问题,不带偏差的网络则解决不了。 熟悉图形解释有助于我们理解和掌握感知器的工作原理。当然在实际应用 时,权值的求解全都是由计算机来完成的。 4.3 感知器的学习规则 学习规则是用来计算新的权值矩阵 W 及新的偏差 B 的算法。感知器利用其 学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为 0 或 1 的目标输出
对于输入矢量P,输出矢量A,目标矢量为T的感知器网络,感知器的学习 规则是根据以下输出矢量可能出现的几种情况来进行参数调整的。 1)如果第i个神经元的输出是正确的,即有:a=t,那么与第i个神经元 联接的权值w和偏差值b保持不变; 2)如果第i个神经元的输出是0,但期望输出为1,即有a=0,而t=1, 此时权值修正算法为:新的权值w为旧的权值w加上输人矢量p; 类似的,新的偏差bi为旧偏差b加上它的输入1; 3)如果第i个神经元的输出为1,但期望输出为0,即有a=1,而ti=0, 此时权值修正算法为:新的权值w等于旧的权值w减去输入矢量p 类似的,新的偏差b为旧偏差b减去1。 由上面分析可以看出感知器学习规则的实质为:权值的变化量等于正负输入 矢量。具体算法总结如下 对于所有的i和j,i=l,2,…,s;j=1,2,…,r,感知器修正权值公式 为: △wyg=(t;-y;)×P Ab;=(t1-y;)×1 用矢量矩阵来表示为: w=w+Epr B=B+E (4-5) 此处,E为误差矢量,有E=T-A 感知器的学习规则属于梯度下降法,该法则已被证明:如果解存在,则算法 在有限次的循环迭代后可以收敛到正确的目标矢量。 上述用来修正感知器权值的学习算法在 MATLAB神经网络工具箱中已编成 了子程序,成为一个名为 learnp.的函数。只要直接调用此函数,即可立即获 得权值的修正量。此函数所需要的输人变量为:输入、输出矢量和目标矢量:P、 A和T。调用命令为 Idw, dB]=learnp(P,A, T)
5 对于输入矢量 P,输出矢量 A,目标矢量为 T 的感知器网络,感知器的学习 规则是根据以下输出矢量可能出现的几种情况来进行参数调整的。 1) 如果第 i 个神经元的输出是正确的,即有:ai=ti,那么与第 i 个神经元 联接的权值 wij 和偏差值 bi 保持不变; 2) 如果第 i 个神经元的输出是 0,但期望输出为 1,即有 ai=0,而 ti=1, 此时权值修正算法为:新的权值 wij 为旧的权值 wij 加上输人矢量 pj; 类似的,新的偏差 bi 为旧偏差 bi 加上它的输入 1; 3) 如果第 i 个神经元的输出为 1,但期望输出为 0,即有 ai=1,而 ti=0, 此时权值修正算法为:新的权值 wij 等于旧的权值 wij 减去输入矢量 pj; 类似的,新的偏差 bi 为旧偏差 bi 减去 1。 由上面分析可以看出感知器学习规则的实质为:权值的变化量等于正负输入 矢量。具体算法总结如下。 对于所有的 i 和 j,i=l,2,…,s;j=1,2,…,r,感知器修正权值公式 为: (4-4) 用矢量矩阵来表示为: (4-5) 此处,E 为误差矢量,有 E=T-A。 感知器的学习规则属于梯度下降法,该法则已被证明:如果解存在,则算法 在有限次的循环迭代后可以收敛到正确的目标矢量。 上述用来修正感知器权值的学习算法在 MATLAB 神经网络工具箱中已编成 了子程序,成为一个名为 1earnp.m 的函数。只要直接调用此函数,即可立即获 得权值的修正量。此函数所需要的输人变量为:输入、输出矢量和目标矢量:P、 A 和 T。调用命令为: [dW,dB]=1earnp(P,A,T);