感知机是深度学习算法的基本单元,本文简单介绍了感知机的定义,探究了感知机与逻辑门电路之间的联系,在此基础上解释了感知机的局限性和优越性,为神经网络的学习提供了先备知识。
感知机是一种最简单的二分类线性分类模型,它是神经网络的基石。它通过将样本的特征与权重相乘并进行加权求和,当结果大小超过特定的阈值??时才会输出1,否则输出0。我们可以将感知机节点类比为神经元,1状态代表神经元被激活,0状态代表神经元休眠。其中,w是权重值,代表对应输入信号(特征)对结果的重要程度;?是偏置(阈值),代表该神经元被激活的难易程度。
感知机是一种简单的二分类模型,对外有激活与休眠两种状态,感知机所具有的性质可以联想到我们曾学习过的逻辑门电路,下面,我们尝试用感知机模型实现常见的逻辑门电路。
1.与门:
与逻辑真值表:
那我们如何用感知机模型去实现与门逻辑呢?
我们可以把与逻辑看作一个二分类问题,绘制平面直角坐标系,其中红色的点对应输出为0的情况,绿色的点对应输出为1的情况,共有四种情况,而感知机的数学模型可以表示为?,我们以输出y的值的正负为标准决定感知机的分类结果,通过基本数学知识,y的正负可以转化为点相对直线的位置问题。如果点在直线上方,则其值为整数,反之为负数。
通过下图我们可以看到,只要我们合理的设定参数的值,即可以确定一条直线将红色点和绿色点划分到直线两边,而且这样的直线不止有一条。
2.与非门
与非逻辑真值表:
通过了与门的分析,我们同样可以通过绘图的方法找到与非门对应参数所形成的直线,合理的选定参数值即可实现与非门的功能。
3.或门
或逻辑真值表:
或门的实现也是一样的,大家可以自行尝试,结果如下:?
在上一部分当中,我们使用感知机模型实现了基本的与、或、与非逻辑,但是我们是否可以通过感知机实现所有的逻辑门呢?我们来看下面的例子:
异或门逻辑真值表:
?我们根据逻辑真值表绘制的异或门的分类空间,我们发现无论我们如何绘制直线,都不能将红绿两类点完美的分开。异或逻辑是一个典型的非线性可分问题,即我们不能通过一条直线进行完美的分类,与之对应的是线性可分问题,存在一条直线可以进行完美的分类,单层感知机只能胜任线性可分任务,对非线性可分任务无能为力。
上面的例子展示了单层感知机的局限性,但是我们不用太过担心,既然感知机可以表示基本的逻辑电路(与门、与非门、或门),通过这些可以用单层感知机表示的基本逻辑电路的组合显然是可以实现异或逻辑,这就启示我们:多层感知机可以实现更为强大的功能!
基于与门、与非门、或门实现异或门逻辑电路图:
我门只要对上面的与门、与非门、或门用对应的感知机实现即可:
共有两层三个节点,三个节点(神经元)分别与与门、与非门、或门对应。
通过了我们前面的分析,我们知道感知机可以实现任意一个逻辑门电路,但是感知机的意义仅此而已吗?感知机最重要的创新之处在于其可以通过参数的变化、层数的叠加实现任意门电路,每一个神经元节点可以看作一个门电路,但是其逻辑功能是由参数决定的。这正是神经网络进行学习的基础,通过不断输入样例修正参数值,改变神经元的状态,去拟合复杂的非线性对应关系,完成传统算法无法完成的任务。