第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+b0,这些点若通过由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);
4.4网络的训练 要使前向神经网络模型实现某种功能,必须对它进行训练,让它逐步学会要 做的事情,并把所学到的知识记忆在网络的权值中。人工神经网络权值的确定不 是通过计算,而是通过网络的自身训练来完成的。这也是人工神经网络在解决问 题的方式上与其他方法的最大不同点。借助于计算机的帮助,几百次甚至上千次 的网络权值的训练与调整过程能够在很短的时间内完成。 感知器的训练过程如下: 在输入矢量P的作用下,计算网络的实际输出A,并与相应的目标矢量T进 行比较,检査A是否等于T,然后用比较后的误差量,根据学习规则进行权值和 偏差的调整;重新计算网络在新权值作用下的输入,重复权值调整过程,直到网 络的输出A等于目标矢量T或训练次数达到事先设置的最大值时训练结束 若网络训练成功,那么训练后的网络在网络权值的作用下,对于被训练的每 组输入矢量都能够产生一组对应的期望输出;若在设置的最大训练次数内,网 络未能够完成在给定的输入矢量P的作用下,使A=T的目标,则可以通过改用 新的初始权值与偏差,并采用更长训练次数进行训练,或分析一下所要解决的问 题是否属于那种由于感知器本身的限制而无法解决的一类 感知器设计训练的步骤可总结如下 )对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量 的维数以及确定网络结构大小的神经元数目:r,S和q; 2)参数初始化: a)赋给权矢量w在(-1,1)的随机非零初始值 b)给出最大训练循环次数 max epoch: 3)网络表达式:根据输人矢量P以及最新权矢量W,计算网络输出矢量A 4)检査:检査输出矢量A与目标矢量T是否相同,如果是,或已达最大循环 次数训练结束,否则转入5) 5学习:根据(4.5)式感知器的学习规则调整权矢量,并返回3)
6 4.4 网络的训练 要使前向神经网络模型实现某种功能,必须对它进行训练,让它逐步学会要 做的事情,并把所学到的知识记忆在网络的权值中。人工神经网络权值的确定不 是通过计算,而是通过网络的自身训练来完成的。这也是人工神经网络在解决问 题的方式上与其他方法的最大不同点。借助于计算机的帮助,几百次甚至上千次 的网络权值的训练与调整过程能够在很短的时间内完成。 感知器的训练过程如下: 在输入矢量 P 的作用下,计算网络的实际输出 A,并与相应的目标矢量 T 进 行比较,检查 A 是否等于 T,然后用比较后的误差量,根据学习规则进行权值和 偏差的调整;重新计算网络在新权值作用下的输入,重复权值调整过程,直到网 络的输出 A 等于目标矢量 T 或训练次数达到事先设置的最大值时训练结束。 若网络训练成功,那么训练后的网络在网络权值的作用下,对于被训练的每 一组输入矢量都能够产生一组对应的期望输出;若在设置的最大训练次数内,网 络未能够完成在给定的输入矢量 P 的作用下,使 A=T 的目标,则可以通过改用 新的初始权值与偏差,并采用更长训练次数进行训练,或分析一下所要解决的问 题是否属于那种由于感知器本身的限制而无法解决的一类。 感知器设计训练的步骤可总结如下: 1)对于所要解决的问题,确定输入矢量 P,目标矢量 T,并由此确定各矢量 的维数以及确定网络结构大小的神经元数目:r,s 和 q; 2)参数初始化: a)赋给权矢量 w 在(—l,1)的随机非零初始值; b)给出最大训练循环次数 max_epoch; 3)网络表达式:根据输人矢量 P 以及最新权矢量 W,计算网络输出矢量 A; 4)检查:检查输出矢量 A 与目标矢量 T 是否相同,如果是,或已达最大循环 次数训练结束,否则转入 5); 5)学习:根据(4.5)式感知器的学习规则调整权矢量,并返回 3)
4.5感知器神经网络应用的局限性 由于感知器神经网络在结构和学习规则上的限制,其应用也有一定的局限 性 首先,感知器的输出只能取0或1。 其次,单层感知器只能对线性可分的向量集合进行分类 4.6感知器神经网络设计实例 下面给出例题来进一步了解感知器解决问题的方式,掌握设计训练感知器的 过程 [例4.]考虑一个简单的分类问题。 设计一个感知器,将二维的四组输入矢量分成两类 输入矢量为:P=[-05-0.50.30; -0.50.5-0.51] 目标矢量为:T=[1.01000, 解: 通过前面对感知器图解的分析可知,感知器对输入矢量的分类实质是在输入 矢量空间用W*P十b=0的分割界对输人矢量进行切割而达到分类的目的。根据 这个原理,对此例中二维四组输人矢量的分类问题,可以用下述不等式组来等价 表示出: 0.5w1-0.5w2+w3>0(使车=1成立 0.5w1+0.5w2+w3>0(使2=1成立) 0.3w1-0.5w2+w3<0(使勾3=0成立) +W2<0 (使4=0成立) 实际上可以用代数求解法来求出上面不等式中的参数w1、w和w3。经过迭 代和约简,可得到解的范围为
7 4. 5 感知器神经网络应用的局限性 由于感知器神经网络在结构和学习规则上的限制,其应用也有一定的局限 性。 首先,感知器的输出只能取 0 或 1。 其次,单层感知器只能对线性可分的向量集合进行分类。 4. 6 感知器神经网络设计实例 下面给出例题来进一步了解感知器解决问题的方式,掌握设计训练感知器的 过程。 [例 4.1]考虑一个简单的分类问题。 设计一个感知器,将二维的四组输入矢量分成两类。 输入矢量为:P=[-0.5 -0.5 0.3 0; -0.5 0.5 -0.5 1]; 目标矢量为:T=[1.0 l.0 0 0], 解: 通过前面对感知器图解的分析可知,感知器对输入矢量的分类实质是在输入 矢量空间用 W*P 十 b=0 的分割界对输人矢量进行切割而达到分类的目的。根据 这个原理,对此例中二维四组输人矢量的分类问题,可以用下述不等式组来等价 表示出: 实际上可以用代数求解法来求出上面不等式中的参数 w1、w2 和 w3。经过迭 代和约简,可得到解的范围为:
<0 08w1<w2<-w1 w1/3<w3<-W1 W3<-w? 一组可能解为: v 2 0 01 而当采用感知器神经网络来对此题进行求解时,意味着采用具有阈值激活函 数的神经网络,按照问题的要求设计网络的模型结构,通过训练网络权值W Iw,w2]和b,并根据学习算法和训练过程进行程序编程,然后运行程序,让 网络自行训练其权矢量,直至达到不等式组的要求。 鉴于输入和输出目标矢量已由问题本身确定,所以所需实现其分类功能的感 知器网络结构的输人节点r,以及输出节点数,已被问题所确定而不能任意设置。 根据题意,网络结构图如图4.5所示。 q 12 q=1,2,3,4 图45网络结构图 由此可见,对于单层网络,网络的输入神经元数r和输出神经元数s分别由 输入矢量P和目标矢量T唯一确定。网络的权矩阵的维数为:Wsxr,B3x1权值总 数为s×r个,偏差个数为s个。 在确定了网络结构并设置了最大循环次数和赋予权值初始值后,设计者可方 便地利用 MATLAB,根据题意以及感知器的学习、训练过程来编写自己的程序。 下面是对例4.1所编写的网络权值训练用的 MATLAB程序
8 一组可能解为: 而当采用感知器神经网络来对此题进行求解时,意味着采用具有阈值激活函 数的神经网络,按照问题的要求设计网络的模型结构,通过训练网络权值 W= [w11,w12]和 b,并根据学习算法和训练过程进行程序编程,然后运行程序,让 网络自行训练其权矢量,直至达到不等式组的要求。 鉴于输入和输出目标矢量已由问题本身确定,所以所需实现其分类功能的感 知器网络结构的输人节点 r,以及输出节点数,已被问题所确定而不能任意设置。 根据题意,网络结构图如图 4.5 所示。 图 4.5 网络结构图 由此可见,对于单层网络,网络的输入神经元数 r 和输出神经元数 s 分别由 输入矢量 P 和目标矢量 T 唯一确定。网络的权矩阵的维数为:Ws×r,Bs×1 权值总 数为 s×r 个,偏差个数为 s 个。 在确定了网络结构并设置了最大循环次数和赋予权值初始值后,设计者可方 便地利用 MATLAB,根据题意以及感知器的学习、训练过程来编写自己的程序。 下面是对[例 4.1]所编写的网络权值训练用的 MATLAB 程序:
percep P=[0.5-0.50.30:;-0.50.5-0.51] T=[1,1,0,0] %初始化 R, Q]=size(P):s, Ql=size(T); W=rands(s, R); B=rands(s, 1) max epoch =20; %表达式 A= hardlim(W*P,B):%求网络输出 for epoch=l: max epoch%开始循环训练、修正权值过程 %检查 if all(a= %当A=T时结束 epoc %学习 dw,dB= learnp(PA,D,%感知器学习公式 W=W十dw; b=Bt dB A= hard lim(W*P,B);%计算权值修正后的网络输出 d %程序结束 以上就是根据前面所阐述的感知器训练的三个步骤:表达式、检查和学习而 编写的 MATLAB网络设计的程序 对于本例也可以在二维平面坐标中给出求解过程的图形表示。图4.6给出 了横轴为pl,纵轴为p2的输入矢量平面,以及输入矢量P所处的位置。根据目 标矢量将期望为1输出的输入分量用“+”表示出,而目标为0输出的输入分量 用“o”表示出。见演示 percept.和 percep2m
9 %percep1.m % P=[—0.5 —0.5 0.3 0;—0.5 0.5 —0.5 1]; T=[1,1,0,0]; %初始化 [R, Q]=size(P);[S, Q]=size(T); W=rands(S,R);B=rands(S, 1); max_epoch=20; %表达式 A=hardlim(W*P,B); %求网络输出 for epoch=1:max_epoch %开始循环训练、修正权值过程 %检查 if all(A==T) %当 A=T 时结束 epoch=epoch-1; beak end %学习 [dW, dB]=learnp(P, A, T); %感知器学习公式 W=W 十 dw; B=B 十 dB; A=hardlim(W*P,B); %计算权值修正后的网络输出 end %程序结束 以上就是根据前面所阐述的感知器训练的三个步骤:表达式、检查和学习而 编写的 MATLAB 网络设计的程序。 对于本例也可以在二维平面坐标中给出求解过程的图形表示。图 4.6 给出 了横轴为 pl,纵轴为 p2 的输入矢量平面,以及输入矢量 P 所处的位置。根据目 标矢量将期望为 1 输出的输入分量用“+”表示出,而目标为 0 输出的输入分量 用“o”表示出。见演示 percepl.m 和 percep2.m
4.7作业 多个神经元分类,又称模式联想 对如下输入、输出样本进行分类。要求画出最后的线形图。 P=[010.70.80.81.00.30.00.3-0.5-15; 12181.606080.5020.8-1.5-1.3] 所对应的10组二元目标矢量为: T=[1110011100 0000011111]; 4.8感知器的局限性 由于感知器自身结构的限制,使其应用被限制在一定的范围内。所以在采用 感知器解决具体问题时,必须时刻考虑到其特点。一般来说,感知器有以下局限 性 1)由于感知器的激活函数采用的是阀值函数,输出矢量只能取0或1,所以 只能用它来解决简单的分类问题; 2)感知器仅能够线性地将输入矢量进行分类。如果用一条直线或一个平面把 一组输入矢量正确地划分为期望的类别,则称该输入输出矢量是对线性可分的, 否则为线性不可分。那么,利用感知器将永远也达不到期望输出的网络权矩阵。 所以用软件设计感知器对权值进行训练时,需要设置一个最大循环次数。如果在 达到该最大循环次数后,还没有达到期望的目标,训练则停止,以便不使不可分 的矢量占用无限循环的训练时间。不过应当提醒的是,理论上已经证明,只要输 人矢量是线性可分的,感知器在有限的时间内总能达到目标矢量; 3)感知器还有另外一个问题,当输入矢量中有一个数比其他数都大或小得很 多时,可能导致较慢的收敛速度 感知器在解决实际问题时,必须在输入矢量是线性可分时才有效,这是很难 得到的情形。虽然感知器有上述局限性,但它在神经网络研究中有着重要的意义 和地位。它提出了自组织自学习的思想。对能够解决的问题有一个收敛的算法, 并从数学上给出了严格的证明。对这种算法性质的研究仍是至今存在的多种算法
10 4.7 作业 多个神经元分类,又称模式联想。 对如下输入、输出样本进行分类。要求画出最后的线形图。 4.8 感知器的局限性 由于感知器自身结构的限制,使其应用被限制在一定的范围内。所以在采用 感知器解决具体问题时,必须时刻考虑到其特点。一般来说,感知器有以下局限 性: 1)由于感知器的激活函数采用的是阀值函数,输出矢量只能取 0 或 1,所以 只能用它来解决简单的分类问题; 2)感知器仅能够线性地将输入矢量进行分类。如果用一条直线或一个平面把 一组输入矢量正确地划分为期望的类别,则称该输入/输出矢量是对线性可分的, 否则为线性不可分。那么,利用感知器将永远也达不到期望输出的网络权矩阵。 所以用软件设计感知器对权值进行训练时,需要设置一个最大循环次数。如果在 达到该最大循环次数后,还没有达到期望的目标,训练则停止,以便不使不可分 的矢量占用无限循环的训练时间。不过应当提醒的是,理论上已经证明,只要输 人矢量是线性可分的,感知器在有限的时间内总能达到目标矢量; 3)感知器还有另外一个问题,当输入矢量中有一个数比其他数都大或小得很 多时,可能导致较慢的收敛速度。 感知器在解决实际问题时,必须在输入矢量是线性可分时才有效,这是很难 得到的情形。虽然感知器有上述局限性,但它在神经网络研究中有着重要的意义 和地位。它提出了自组织自学习的思想。对能够解决的问题有一个收敛的算法, 并从数学上给出了严格的证明。对这种算法性质的研究仍是至今存在的多种算法