多层感知器被单层感知器取代



我在理解MLP和SLP之间的区别时遇到了问题。

我知道在第一种情况下,MLP有不止一层(隐藏层),神经元得到一个非线性激活函数,就像逻辑函数(梯度下降所需)。但是我读过

"如果MLP中的所有神经元都具有线性激活函数,则MLP可以被单层感知器取代,这只能求解线性可分问题"

我不明白为什么在XOR的特定情况下,它不是线性可分的,等效的MLP是一个两层网络,每个神经元都有一个线性激活函数,比如阶跃函数。我知道我需要两行来分隔,但是在这种情况下,我不能应用前面语句的规则(用SLP替换MLP)。

http://s17.postimg.org/c7hwv0s8f/xor.png

在链接的图像中,神经元A、B和C有一个线性激活函数(类似于阶跃函数)

Xor:http://s17.postimg.org/n77pkd81b/xor1.png

线性函数为f(x) = a x + b。如果我们取另一个线性函数g(z) = c z + d,并应用g(f(x))(这相当于将一个线性层的输出作为下一个线性层的输入),我们得到g(f(x)) = c (a x + b) + d = ac x + cb + d = (ac) x + (cb + d),它本身就是另一个线性函数。

阶跃函数不是线性函数 -不能写成a x + b。这就是为什么使用阶跃函数的MLP严格地比使用阶跃函数的单层感知器更具表现力。

相关内容

  • 没有找到相关文章

最新更新