机器学习-单层感知机

我们似乎明白了很多道理,却不明白为什么明白。和宇宙一样神秘的,还有人的大脑。

一、感知机是什么?

“感”就是感受,必然要输入;“知”就是知道,一定有输出。所以感知机就可以理解为对输入进行处理,得到并输出结果的机器。

例如,一个人朝你走来,他/她的五官信息作为输入被你的眼睛感受到,然后大脑经过综合分析、处理,得到美还是丑的结论。在这个过程中,大脑就扮演着感知机的角色。

为什么大脑和感知机如此相像呢?其实是感知机和大脑像才对。因为先有大脑,再有的感知机。感知机最初的目的就是为了模拟大脑的这种行为的。一句话概括:

感知机就是模拟大脑感知的机器。

那么,感知机是怎么来的呢?

二、神经元-灵感来源

一切还得从神经元说起。

神经元又要从人类对自身感知器官的认识说起。

早些个时候,人们对于身体的哪个器官负责感知不太确定,有人认为是心,有人认为是脑。

比如古希腊时期著名的医学家希波克拉底认为大脑负责感知,是智慧的发祥地。但哲学家亚里士多德却认为心脏才是智慧之源,大脑不过是个散热器。

再后来到古罗马时期,生理学家Galen(盖伦)通过大量的解剖、实验和观察,基本确认了大脑才是感知器官的这一结论,并逐渐被人们所接受。

随后直到文艺复兴时期,人体解剖使得对大脑的结构有了更进一步的了解。到17世纪,随着显微镜的发明使用,脑解剖开始向神经组织学深入,神经细胞和神经纤维的构造也逐渐明了。

1900年,拉蒙-卡哈尔用Golgi银染色技术观察到了独立的神经元,并认为神经系统是由数以亿计的神经元相互连接而成,由此产生了“神经元”学说。

神经元由细胞体和突起两大部分组成。如下图:

其中细胞体包括细胞核、内质网、线粒体等,是神经元的控制中心,对树突传进来的信号进行综合处理。

突起包括树突和轴突。

树突负责接受来自其它神经元的信号,相当于神经元的输入端,一个神经元通常有多个树突。

轴突比树突长而细,也叫神经纤维,末端处有很多细的分支称为神经末梢,每一条神经末梢可以向四面八方传出信号。

神经末梢和和另一个神经元进行通信的结构叫突触,是神经元的输出端。

突触使神经元的膜电位发生变化,且电位变化可以累加。神经元接收多个神经元的轴突末梢传来的信号,并根据不同的权重进行累加。当累加值使膜电位达到一定阈值时,神经元就被触发。

可以看出,神经元是一个信息处理单元,具有多输入单输出的结构。

三、M-P模型

1943年,根据生物神经元的结构和工作原理,麦克洛克(McCulloch)和皮茨(Pitts)提出五点假设:

1、神经元的活动是个非0即1的过程;

2、神经元被激活的条件具有可重复性;

3、神经系统的延迟主要来自突触;

4、被抑制的突触同时阻止神经元的激活;

5、神经网络的结构不随时间而改变。

基于这五点假设,抽象出一个类神经元的运算模型,称为M-P模型。除去延迟等细枝末梢,简化后的模型如下:

其中I为输入,相当突触。W为权重,跟细胞体有关,T为阈值函数。I经过W加权累加后送到T,如果累加和大于T的阈值,则神经元被激活,否则不激活。

阈值函数的结构如下:

整个模型用公式描述为:

四、赫布学习规则

M-P模型抽象出了神经元的结构,但并没有给出W权重该如何确定,是强还是弱,什么时候强,什么时候弱,由什么因素决定。Hebb学习规则尝试着给了回答。

1901年,巴普洛夫曾经做过一个实验,在给狗喂食之前,先打铃,久而久之,狗一听到铃声就开始分泌唾液。

受该实验的启发,Hebb认为同时被激发的神经元间的连接会被强化。比如,铃声触发一个神经元,同时食物激发相邻的另一个神经元,那么这两个神经元间的联系就会强化,从而记住这两个事物之间存在着联系。相反,如果两个神经元不会被同步激发,那么它们间的连接将会变弱。

如下图右侧三组相邻的神经元,橙色表示激活,蓝色表示未激活。

对于第一组(a),由于神经元i未激活,被j激活,所以i、j间的连接减弱;

第二组(b),虽然神经元i被激活,但j未激活,所以i、j间的连接也减弱;

第三组(c),神经元i和j同时被激活,所以i、j间的连接被增强;

用公式表示:

其中W为权重,y为输出,η为学习率。这就是Hebb学习规则。用Hebb自己的语言描述为:

我们可以假定,反射活动的持续与重复会导致神经元稳定性的持久性提升……当神经元A的轴突与神经元B很近并参与了对B的重复持续的兴奋时,这两个神经元或其中一个便会发生某些生长过程或代谢变化,致使A作为能使B兴奋的细胞之一,它的效能增强了。

总之,一句话:

如果两个神经元总是相关连的受到刺激或者反应,它们的连接就会一次次的被加强。

这也就是Hebb学习规则。

五、感知机模型

1957年,结合M-P模型和Hebb学习规则,罗森布拉特发明了感知机。最大的贡献是解决了M-P模型中参数W的学习问题。

在论文中,罗森布拉特从生物神经系统的角度,一步步抽象并构建起感知机模型,由于考虑的因素比较多,结构比较复杂,如下:

对应的简化图如下:

后经进一步的发展、变形,成为现在常用的经典形式,由于只有一层,又被称为单层感知机。如下:

和M-P模型相比,感知机引入了偏置b。用公式表示为:

其中,sign(x)为激活函数:

分别对应激活和抑制两种状态。

六、感知机的几何解释

由于:

相当于n维空间的一个超平面。ω为超平面的法向量,b为超平面的截距,x为空间中的点。

当x位于超平面的正侧时:

感知机被激活。

当x位于超平面的负侧时:

感知机被抑制。

所以,从几何的角度来看,感知机就是n维空间的一个超平面,它把特征空间分成两部分。

更多关于超平面的知识,可以参 。

七、分类与学习策略

由于感知机具有的这种分离超平面的特性,可以用来对数据进行分类。具体为:

首先给定一组训练数据,然后通过训练数据确定模型的参数ω、b,最后用学到的模型预测新数据的类别。

模型的参数如何确定呢?

假设给定的训练数据为:

其中,

学习的目标就是找一个能将训练数据中正负实例都分开的超平面。

可以通过最小化误分类点到平面的总距离来实现。

点到平面的距离公式为:

对于误分类的数据,由于预测结果和实际结果符号相反,所以有:

所以,误分类点到平面的距离便可表示为:

假设有M个误分类点,如下图:

则误分类点到超平面的总距离为:

由于常数因子不影响最终结果,所以,通过最小化:

就可以确定模型参数。

L(ω,b)又被称为损失函数。

八、学习算法

为了最小化损失函数,可以选用梯度下降法。因为梯度指向函数增加最快的方向,通过往反方向调整参数的值,就可以逐渐到达函数的最小值。

L(ω,b)的梯度为:

对于一个误分类点,沿梯度反方向更新ω,b如下:

这样,通过多次迭代就可以使损失函数逐渐减小,直至为0,得到最终的参数。