感知机学习体会(1)
作者:吴峰宇
引言
感知机算法是由美国学者Frank Rosenblatt于1957年提出,是神经网络(深度学习)的起源的算法。所以,学习感知机的思想是通向神经网络和深度学习重要途径。
我们先给出感知机原理图:
首先,我们通过分析这张原理图,了解一下感知机的基本原理。感知机类似于一个函数,我们给它输入一个或者多个参数值(x1,x2),其返回一个值。并且这个值只有0和1两种选择。在《deep_learning_from_scratch》这本书中,0代表“不传递信号”,1代表“传递信号”。流程线上的w1,w2分别代表感知机赋予x1,x2的权重。最终感知机通过计算输入值加权后的和进行逻辑判断,符合条件输出1,不符合条件输出0。
把上述内容用函数表达式来表示就是这个样子:
我们将w定义为权重,将-θ定义为偏置
好的,我们已经明白了感知机是怎么回事了。接下来,我们就用感知机来解决一些简单问题。
我们先用感知机表示一些简单逻辑电路。
第一个逻辑电路,与门。先给出与门的真值表。
由图可知,只有当x1,x2都为1时,才输出1,其余都为0。
如何用感知机来实现与门呢?
实际上,我们需要确定的是(w1,w2,θ)的组合,而这种组合是无穷多的,例如我们可以选取(1,1,2)这个组合,也可以选取(0.5,0.1,0.5)这个组合。
下面我们给出与门的python代码:
非常简单对吧。那接下来,我们继续用感知机实现与非门。
与非门的真值表如下:
与非门其实就是与门的取反,那么它的实现代码我们也很容易写出:
接下来继续看或门。或门的真值表如下:
或门的实现也很简单:
领取专属 10元无门槛券
私享最新 技术干货