感知机perceptron算法是Frank Rosenblatt于1957年提出,它是神经网络和深度学习的起源算法。
感知机接受多个信号,输出一个信号,具体更多原理,请参见这篇博文
本文用python实现三个简单的逻辑电路,实际上这三种逻辑门电路用感知机实现都不是唯一的,都可以有很多种实现方式(区别只是权重和偏置不一样);且三个门电路之间也只是权重偏置不一样,代码实际上是一样的,也就是感知机的结构都一样,如下图:
三种门电路的感知机结构如上图,均为2输入单输出,
(1) y = { 0 , x 1 w 1 + x 2 w 2 + b ≤ 0 1 , x 1 w 1 + x 2 w 2 + b > 0 y=\left\{ \begin{aligned} 0&,&x_1w_1+x_2w_2+b\leq0\\ 1&,&x_1w_1+x_2w_2+b>0\\ \end{aligned} \right.\tag1 y={
01,,x1w1+x2w2+b≤0x1w1+x2w2+b>0(1)
权重w1,w2表示各个输入的重要程度。
偏置b表示神经元激活的难易程度,b越大则越易被激活。
(1)式描述的是一条直线把二维空间线性地分割为两部分。
实际上,如果引入激活函数的概念,则感知机使用的激活函数是阶跃函数:
h ( x ) = { 0 , x ≤ 0 1 , x > 0 h(x)=\left\{ \begin{aligned} 0,x\leq0\\ 1,x>0\\ \end{aligned} \right. h(x)=