Rosenblatt感知器
1、引言
感知器是用于线性可分模式(即模式分别位于超平面所分隔开的两边)分类的最简单的神经网络模型。基本上它由一个具有可调突触权值和偏置的神经元组成。用来调整这个神经网络中自由参数的算法最早出现在Rosenblatt提出的用于其脑感知模型的一个学习过程中。事实上,Rosenblatt证明了当用来训练感知器的模式(向量)取自两个线性可分的类时,感知器算法是收敛的,并且决策面是位于两类之间的超平面。算法的收敛性证明称为感知器收敛定理。
建立在一个神经元上感知器的模式分类被限制为只能完成两类(假设)的模式分类。通过扩展感知器的输出(计算)层可以使感知器包括不止一个神经元,相应地可以进行多于两类的分类。但是,只有这些类是线性可分时感知器才能正常工作。重要的是,当感知器的基本理论用于模式分类器时,只需考虑单个神经元的情况。将这个理论推广到多个神经元是不重要的。
2、感知器
Rosenblatt感知器建立在一个非线性神经元上,即神经元的McCulloch-Pitts模型,这种神经元模型由一个线性组合器和随后的硬限幅器(执行一个符号函数)组成。神经元模型的求和节点计算作用于突触上的输入的线性组合,同时也合并外部作用的偏置。求和节点计算得到的结果,也就是诱导局部域,被作用于硬限幅器。相应地,当硬限幅器输入为正时,神经元输出+1,反之则输出-1。
感知器的符号流图:
从这个模型我们发现硬限幅器输入或神经元的诱导局部域是:
感知器的目的是把外部作用刺激正确分为
和
两类。分类规则是:如果感知器输出y是+1就将对应的点分配给类
,如果感知器输出y是-1则分配给类
。
为了进一步观察模式分类器的行为,一般要在m维信号空间中画出决策区域图,这个空间是由m个输入变量所张成的。在最简单的感知器中存在被一个超平面分开的两个决策区域,此超平面定义为:
对两个输入变量x1和x2的情形已在下图中做了说明,图中的决策边界是直线,位于边界上方的点分入类,位于边界下方的点分入
类。注意这里偏置b的作用仅仅是把决策边界从原点移开。
两维两类模式分类问题决策边界超平面实例(在这个例子中超平面是一条直线)
感知器的突触权值可以通过多次迭代来调整。对于自适应性可以使用通称为感知器收敛算法的误差修正规则。
3、感知器收敛定理
为了导出感知器的误差修正学习算法,我们发现利用下图中的修正信号流图更方便。在这个模型中,偏置b被当作一个等于+1的固定输入量所驱动的突触权值。
我们因此定义(m+1)x1个输入向量(第二个“1”代表一个神经元的意思):
这里n表示使用算法时的迭代步数。相应地定义(m+1)x1个权值向量
因此,线性组合器的输出可以写成紧凑形式
这里,第一行中的对应于i = 0,表示偏置b。对于固定的n,等式
在以
为坐标的m维空间中(对某些给定的偏置)所做的图定义了一个超平面,它就是两个不同输入类之间的决策面。
为了使感知器能够正确地工作,和
两个类必须是线性可分的。这意味着待分类模式必须分离得足够开以保证决策平面是超平面。这个要求对两维感知器的情形如下图所示。
在a)中两个类分离得足够开,使得我们能画出一个超平面(在此例中是一条直线)作为决策边界。但是,假如两个类靠得太近,如图b)所示,它们就变成非线性可分的,这种情况就超出了感知器的计算能力。
假设感知器的输入变量来源于两个线性可分类。设为训练向量
中属于类
的向量所组成的子集,
表示训练向量
属于类
的向量所组成的子集。
和
的并是整个训练集
。给定向量集
和
来训练分类器,训练过程涉及对权值向量w的调整使得两个类
和
线性可分。也就是说,存在一个权值向量w具有以下性质:
在上式的第二行中当时,我们随意地选择输入向量x属于类
。给定训练向量子集
和
,感知器的训练问题就是找到一个权值向量w满足上式中的两个不等式。
使基本感知器的权值向量自适应的算法现在可以用以下公式来表述:
1)假如训练集合的第n个成员x(n)根据算法中的第n次迭代的权值向量w(n)能正确分类,那么感知器的权值向量按下述规则不做修改:
2)否则,感知器的权值向量根据以下规则进行修改:
这里学习率参数
控制着第n次迭代中作用于权值向量的调节。
假如=
>0,这里
是与迭代次数n无关的常数,我们有一个感知器的固定增量自适应规则(fixed-increment adaption rule)。
接下来首先证明当等于1时固定增量自适应规则的收敛性。很明显
的具体值并不重要,只要它是正的。
不等于1时的值不影响模式可分性而仅仅改变模式向量的大小。对于可变
的情况稍候考虑。
感知器收敛定理的证明针对初始条件w(0)=0。假设对n=1, 2, ...,,且输入向量x(n)属于子集
。即,因为式(1.4)的第二个条件不满足,感知器就不能正确地对向量
进行分类。在常量
=1的情况下,可以利用式(1.6)的第二行,有
给定初始条件w(0)=0,可以迭代求解这个关于w(n+1)的方程而得到结果:
因为假设类和
为线性可分的,因此对属于子集
的向量x(1), ... , x(n)的不等式方程
存在一个解
。对固定解
,我们定义一个正数
,
因此,在式(1.8)两边同时乘以行向量,我们有
所以,依据等式(1.9)中的定义,我们有
下面利用众所周知的Cauchy-Schwarz不等式。给定两个向量和w(n+1),Cauchy-Schwarz不等式表述为
这里表示所包含变元向量的欧几里得范数,内积
是标量。从式(1.10)得到
大于或等于
。从式(1.11)我们注意到
大于或等于
。这样就有
或等价地有
下面我们遵循另一种发展路线。特别地,可以把式(1.7)改写成如下形式
通过对式(1.13)两边同取欧几里得范数的平方,得到
但是。因此从等式(1.14)中得到
或等价于
把k=1, ..., n情况下的这些不等式相加,结合所假设的初始条件w(0)=0,我们的到不等式
这里是一个正数,定义为
式(1.16)表明权值向量w(n+1)的欧几里得范数平方的增长至多只能和迭代次数n是线性关系。
当n有足够大的值时,式(1.16)的第二个结果显然与式(1.12)的结果相矛盾。实际上,我们可以说n不能大于某个值,值
使得式(1.12)和式(1.16)的等号都成立。这里,
是下面方程的解:
给定解向量,解出
,我们求出
这样我们证明了对所有的n,=1,且w(0)=0,如果解向量
存在,那么感知器权值的适应过程最多在
次迭代后终止。从式(1.9)、(1.17)和(1.18)注意到
和
的解并不唯一。
现在,可以叙述感知器的固定增量收敛定理(Rosenblatt, 1962):
设训练向量的子集和
是线性可分的,感知器的输入来自这两个子集。感知器在
次迭代后在如下意义下收敛:
是对的一个解向量。
下面考虑当变化时,单层感知器自适应的绝对误差修正过程。特别地,设
是满足下式的最小整数:
利用这个过程我们发现如果第n次迭代时的内积存在符号错误,那么第n+1次迭代中
符号就是正确的。这说明如果在第n次迭代
有符号错误,可以通过设x(n+1)=x(n)来改变第n+1次迭代时的训练次序。换句话说,将每个模式重复呈现给感知器直到模式被正确分类。
注意当w(0)的初始值不为0时,仅仅是导致收敛需要的迭代次数或增加或减少,这依赖于w(0)和解的相关程度。无论w(0)的值是多少,感知器都可以保证收敛的。
在下图中我们对感知器收敛算法做出概述:
在此图中第三步计算感知器的实际响应中使用的记号,表示符号函数(signum function):
这样可以把感知器的量化响应y(n)表示为以下的简洁形式:
注意输入向量x(n)是(m+1)x1向量,它的第一个元素在整个计算过程中固定为1。相应地,权值向量w(n)是(m+1)x1向量,它的第一个元素等于偏置b。算法中的另一个要点是:我们引入一个量化期望响应d(n),定义为
因此,权值向量w(n)的自适应是以误差修正学习规则(error-correction learning rule)形式下的累加:
这里是学习率参数,差d(n)-y(n)起误差信号的作用。学习率参数是正常数,且
。当在这个区间里给
赋一个值时,必须记住两个互相冲突的需求:
- 平均,过去输入的平均值提供一个稳定的权值估计,这需要一个较小的
。
- 快速自适应,相对于产生输入向量x的过程的固有分布的实时变化,快速自适应需要较大的
。
4、高斯环境下感知器与贝叶斯分类器的关系
感知器与一类通称为贝叶斯分类器的经典模式分类器具有一定联系。在高斯环境下,贝叶斯分类器退化为线性分类器。这与感知器采用的形式是一样的。但是,感知器的线性特性并不是由于高斯假设而具有的。这一节我们研究这种联系,并借此深入研究感知器的运行。首先简单复习一下贝叶斯分类器。
贝叶斯分类器
在贝叶斯分类器和贝叶斯假设检验过程中,我们最小化平均风险(记为
)。对两类问题(记为类
和类
),Van Trees定义的平均风险为:
这里各项的定义如下:
式(1.23)右边的头两项表示正确决策(即正确分类),后面两项表示不正确决策(即错误分类)。每个决策通过两个因子乘积加权:做出决策的代价和发生的相对频率(即先验概率)。
我们的目的是确定一个最小化平均风险的策略。因为需要做出这样的决策,在全部观察空间
中每个观察向量x必须被设定或者属于
或者属于
。因此
相应地,可以把式(1.23)改写为等价的形式:
这里
且
。现在注意到下述事实:
因此,式(1.25)简化为:
式(1.27)右边的头两项代表一个固定代价。因为需要最小化平均风险
,我们从式(1.27)得到以下最优分类的策略:
- 所有使被积函数(即方括号里的表达式)为负的观察向量x的值都归于子空间
(即类
),因为此时积分对风险
有一个负的贡献。
- 所有使被积函数为正的观察向量x的值都必须从子空间
中排除(即分配给类
),因为此时积分对风险
有一个正的贡献。
- 被积函数为零的x的值对平均风险
没有影响,因此可以任意分配。假设这些点分配给子空间
(即类
)。
在这个基础上,写出贝叶斯分类器公式:
假如条件
满足,把观察向量x分配给子空间
(即类
)。否则把x分配给
(即类
)。
为了简化起见,定义
和
量
是两个条件概率密度函数的比,被称为似然比(likelihood ratio)。量
称为检验的阈值。注意
和
都是恒正的。根据这两个量,可以把贝叶斯分类重新表述为:
假如对一个观察向量x,其似然比
比阈值
大,就把x分配给类
,反之,分配给类
。
下图a)是一个描绘贝叶斯分类器的模块图。此模块图的要点是两方面的:
1.进行贝叶斯分类器设计的数据处理被完全限制在似然比
的计算中。
2.此计算与分配给先验概率的值和决策过程中的代价是完全无关的。这两个量仅仅影响阈值
。
从计算的观点来看,我们发现使用似然比的对数比使用似然比自身方便的多。允许这样做有两个理由。首先,对数是单调函数。其次,似然比
或阈值
都是正的。因此,贝叶斯分类器可以用如图b)所示的等价形式来实现。很显然,第二个图中嵌入的检验被称为对数似然比检验。
高斯分布下的贝叶斯分类器
现在考虑一个在高斯分布下两类问题的特殊情形。随机向量x的均值依赖于x是属于类
还是
,但x的协方差阵对两类都是一样的。也就是说:
协方差矩阵C是非对角的,这意味着取自类
和类
的样本是相关的。假设C是非奇异的,这样C的逆矩阵也将存在。
在这个背景下,可以把x的条件概率密度函数表示为多变量高斯分布:
这里m是观察向量x的维数。
进一步假设:
1.两类
和
的概率相同:
2.错误分类造成同样的代价,正确分类的代价为零:
我们现在有了对两类问题设计贝叶斯分类器的信息。具体地讲,将式(1.30)代入式(1.28)并取自然对数,我们得到(简化后):
把式(1.31)和式(1.32)代入式(1.29)并取自然对数,得到
式(1.33)和式(1.34)表明当前问题的贝叶斯分类器是线性分类器,如关系式
所以这里
更进一步,分类器由一个权值向量w和偏置b的线性组合器构成,如下图所示:
在式(1.35)的基础上,可以把对两类问题的对数似然比检验描述如下:
假设线性组合器(包括偏置b)的输出是正的,把观察向量x分配给类
。否则,把它分配给类
。
这里描述的高斯环境下贝叶斯分类器的运行与感知器是类似的,因为它们都是线性分类器;请见式(1.1)和式(1.35)。但是,在它们之间还存在一些需要仔细检查的细微而重要的区别:
两个重叠的一维高斯分布
- 感知器运行的前提是待分布模式是线性可分的。导出贝叶斯分类器过程中所假设的两个高斯分布当然是互相重叠的。因此它们是不可分的。重叠的程度是由均值向量
和
以及协方差矩阵C所决定。重叠的性质如上图所示,这是一个随机标量的特殊情况(即维数m=1)。当输入如图所示是不可分且其分布是重叠的时候,感知器收敛算法会出现问题,因为两类间的决策边界可能会持续振荡。
- 贝叶斯分类其器最小化分类误差的概率。这个最小化与高斯分布下两类之间的重叠无关。例如,在上图的特例中,贝叶斯分类使决策边界总是位于高斯分布下两类
和
的交叉点上。
- 感知器收敛算法是非参数的,这指它没有关于固有分布形式的假设。它通过关注误差来运行,这些误差出现在分布重叠的地方。当输入由非线性物理机制产生同时它们的分布式严重偏离而且非高斯分布的时候,算法将可能工作的很好。相反,贝叶斯分类器是参数化的;它的导出是建立在高斯分布的假设上的,这可能会限制它的适用范围。
- 感知器收敛算法是自适应的且实现简单;它的存储需求仅限于权值集合和偏置。另一方面,贝叶斯分类器设计是固定的;可以使它变成自适应的,但代价是增加存储量和更高的计算复杂性。