感知机是一类人造神经元,在许多神经网络中,主要的神经元模型是sigmoid神经元。我们将很快的了解什么是sigmoid神经元,但是想要知道为什么sigmoid要这么定义,就需要我们花点时间去了解感知机。
感知机如何工作?一个感知机通过一些二进制的输入x1,x2,...x1,x2,...,然后产生一个二进制的输出:

在上图中,感知机有三个输入x1,x2,x3x1,x2,x3,通常它可以有更多或者更少的输入。Rosenblatt提出了一个简单的规则来计算输出,它用权重w1,w2...w1,w2...来表示各个输入对输出的重要性。神经元的输出,要么是0要么是1,由权重和∑jwjxj∑jwjxj的值是否小于或者大于某一阈值。和权重一样,阈值也是一个实数,它是神经元的一个参数。用代数式表达就是:

以上就是感知机的工作原理。
这是基本的数学模型,你可以认为感知机是一种通过权衡各个因素做出决定的设备。举个例子,假设周末就要来了,你们城市有一场奶酪节,你很喜欢奶酪,你正在犹豫要不要去参加,你可能通过权衡下面三个因素来做出你的决定:
当天天气怎么样
你的男朋友或者女朋友要不要一起去
交通是否方便
我们可以通过对应的二进制变量x1,x2,x3x1,x2,x3来表示这三个因素。比如,x1x1表示天气很好,x1=0x1=0表示天气很差,同样x2=1x2=1表示女朋友想去,以此类推。
现在,假设你真的非常喜欢奶酪,以至于你无论你女朋友去不去,或者交通十分不便,你都很想去。但是可能因为你又非常非常讨厌恶劣天气导致你绝对不会参加。这时你可以使用感知机来模拟这种决策。因为天气对你的影响最大,你可以选择w1=6w1=6来表示天气的权重,w2=2,w3=2w2=2,w3=2来表示其他的因素,w1w1的权重最大表示天气因素对你影响最大。最后假设你选择了5作为阈值,这样以来,你的感知机决策模型就建立好了。也就是说这个模型在天气好的时候会输出1,天气不好的时候输出0,其实和其他两个因素没关系。
显然,人类的决策模型不仅仅只有感知机。但是这个例子说明了感知机如何做出决定的。一个复杂的感知机网络可以做出更加精准的决定似乎是合理的:
在这个网络中,第一列感知机——我们称作第一层感知机,通过权衡输入用来做三个很简单的决定。那么第二层的感知机是干什么的呢?这些感知机每一个都通过权衡第一层输出的结果作为输入而做决定。这样以来第二层的感知机可以比第一层做出更加复杂和抽象的决策。更复杂的决策可以在第三层做出。通过这种方式,一个第一层的感知机网络可以进行十分复杂的决策。
顺便说一下,我们定义的一个感知机都只有一个输出,上图的多层感知机看起来一个感知机有很多个输出,其实它只是把同一个输出传递给不同的下一层感知机用来利用,如果不嫌难看,你也可以先画一条输出线,然后再分支。
网友评论