深度学习入门:多层感知机实现异或门
文章目录
- 前言
- 感知机
- 2层感知机实现异或门
- 总结
- 参考文献:
前言
最近又开始看深度学习的内容了,好久不用忘得差不多了,先从最简单的感知机入手了,这里记录下用2层感知机实现异或门。
感知机
什么是感知机呢?这里粗浅的介绍下,正式介绍大家可以从网上搜到。
感知机:由多个输入信号,每个输入信号都有对应的权重,经过一个选定的模型产生一个输出,这个模型可以是线性的模型,也可以是非线性的,根据实际需要来定(举例如下图)
上图中,x1,x2为两个输入信号,w1, w2分别为输入信号对应的权重, f为选定的模型,y则为输出,一般还需要一个偏置项b。
2层感知机实现异或门
一般来说,选定线性模型的单层感知机可以实现与门(AND)、或门(OR)、与非门(NAND),但是无法实现异或门,这是因为异或门不是线性可分的(异或门表示如下图)
如果不相信异或门不是线性可分的,大家可以试下在下图中用一条直线将圆圈和三角形分隔开(截图来自参考文献)
虽然单层感知机无法实现异或门,但是组合多个单层感知机却可以实现,见下图。
第一层:对输入信号分别进行或门(OR)和与非门(NAND)
第二层:对第一层或门、与非门结果进行与门,就可以得到异或门的结果了
比较正规的2层感知机实现异或门,如下图(截图来自参考文献)
总结
通过组合单层感知机,可以实现非线性数据的划分,这是深度学习的起点,感知机可表示“计算机世界的一切”。
参考文献:
《深度学习入门:基于python的理论与实现》