引入
我们知道单层的感知机存在着局限性,比如说无法表示异或门(详细请看神经网络的基础——朴素的感知机)。
而多层感知机就可以解决这个问题。
先来考虑一下如何利用AND,OR,NAND来表示出XOR。
可以发现
(
x
1
N
A
N
D
x
2
)
A
N
D
(
x
1
O
R
x
2
)
=
x
1
X
O
R
x
2
(x_1 NAND x_2)AND(x_1 OR x_2)=x_1XORx_2
(x1NANDx2)AND(x1ORx2)=x1XORx2
因此我们就可以用前面的已知感知机来表示出XOR感知机。
多层感知机
观察XOR感知机,可以发现前一个感知机的输出变成了另一个感知机的输入,于是这里就出现了层次,这就是多层感知机。
从几何空间来理解
同样是从最简单的只有两个输入的感知机来看,不妨就以XOR感知机为例,这时候我们惊奇地发现,原本无法被一条直接划分的两部分,现在成功地做到了。
这说明,多层感知机用来划分的东西是非线性的,这个就可以让我们展开想象,通过构造参数,然后就能构造出各种各样的划分界线。
多层感知机的意义
理论上二层感知机就可以构建计算机,严格一点来说:激活函数使用非线性的sigmoid函数的感知机可以表示任何函数。
而多层感知机距离神经网络仅仅只有一步之遥了!