我在理解MLP和SLP之间的区别时遇到了问题。
我知道在第一种情况下,MLP有多个层(隐层),神经元得到一个非线性激活函数,就像logistic函数(梯度下降所需要的)一样。但我读到过:
如果MLP中的所有神经元都有线性激活函数,则MLP可以由一层感知器代替,这只能解决线性可分离的问题
我不明白为什么在XOR的特殊情况下,它不是线性可分的,等效的MLP是一个两层网络,每个神经元都有一个线性激活函数,就像阶跃函数。我知道分离需要两行,但在这种情况下,我不能应用以前状态的规则(用SLP替换MLP )。
xor的Mlp:
http://s17.postimg.org/c7hwv0s8f/xor.png
在链接图像中,神经元A、B和C具有线性激活函数(如阶跃函数)。
异或:http://s17.postimg.org/n77pkd81b/xor1.png
发布于 2015-05-31 19:13:12
线性函数是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。这就是为什么使用step函数的MLP比使用step函数的单层感知器更具有表现力。
https://stackoverflow.com/questions/30559405
复制相似问题