用单层感知器解决异或

Blo*_*911 3 xor perceptron neural-network

我一直听说 XOR 问题不能通过单层感知器(不使用隐藏层)解决,因为它不是线性可分的。我知道没有可以分离类的线性函数。

但是,如果我们使用像 sin() 或 cos() 这样的非单调激活函数,情况仍然如此吗?我想这些类型的功能可能能够将它们分开。

rcp*_*nto 5

是的,具有非单调激活函数的单层神经网络可以解决 XOR 问题。更具体地说,周期函数将多次切割 XY 平面。即使是AbsGaussian激活函数也会将其切割两次。

自己试试:W1 = W2 = 100, Wb = -100, activation = exp(-(Wx)^2)

  • exp(-(100 * 0 + 100 * 0 - 100 * 1)^2) = ~0
  • exp(-(100 * 0 + 100 * 1 - 100 * 1)^2) = 1
  • exp(-(100 * 1 + 100 * 0 - 100 * 1)^2) = 1
  • exp(-(100 * 1 + 100 * 1 - 100 * 1)^2) = ~0

或者使用 abs 激活:W1 = -1, W2 = 1, Wb = 0(是的,即使没有偏差,您也可以解决它)

  • 绝对(-1 * 0 + 1 * 0)= 0
  • 绝对(-1 * 0 + 1 * 1)= 1
  • 绝对(-1 * 1 + 1 * 0)= 1
  • 绝对(-1 * 1 + 1 * 1)= 0

或正弦:W1 = W2 = -PI/2, Wb = -PI

  • 罪(-PI/2 * 0 - PI/2 * 0 - PI * 1)= 0
  • 罪(-PI/2 * 0 - PI/2 * 1 - PI * 1)= 1
  • 罪(-PI/2 * 1 - PI/2 * 0 - PI * 1)= 1
  • 罪(-PI/2 * 1 - PI/2 * 1 - PI * 1)= 0


jor*_*nkg 4

不,并非没有“黑客”

当以图形方式说明异或问题时,我们需要隐藏层的原因是直观明显的。

在此输入图像描述

您无法绘制单个正弦或余弦函数来分离两种颜色。您需要一条额外的线(隐藏层),如下图所示:

在此输入图像描述