0

我在解决MLP和SLP之间的差异时遇到了问题。我知道在第一种情况下,MLP具有多于一层(隐藏层),并且神经元获得激活函数,如逻辑函数(梯度下降所需)。但我已阅读:多层感知器更换为单层感知器

“如果在MLP所有神经元具有线性激活功能,MLP 可以通过感知的单层,这只能 解决线性可分问题改为”

我不明白为什么在XOR不是线性可分的情况下,等效MLP是一个双层网络,对于每个神经元都有一个线性激活函数,就像step函数一样。我知道我需要两条线来进行分离,但在这种情况下,我不能应用先前陈述的规则(用SLP替换MLP)。

MLP为XOR:

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

在链接图像中的神经元AB和C具有线性活化函数(如阶跃函数)

异或: http://s17.postimg.org/n77pkd81b/xor1.png

回答

2

甲线性函数是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严格比使用阶梯函数的单层感知器更具表现力。