趋近智
正如我们所见,感知器是一种简单而基本的人工神经元模型,能够学习将输入分为两类。它通过找到一个线性决策边界来实现这一点——本质上是一条线(在二维空间中)、一个平面(在三维空间中)或一个超平面(在更高维度空间中)——用于分离属于不同类别的数据点。
感知机对于线性可分的问题非常有效。如果一个数据集你可以画一条直线(或平面/超平面)来分割空间,使得一类的所有点位于边界的一侧,而另一类的所有点位于边界的另一侧,那么该数据集就是线性可分的。典型例子包括逻辑与和或函数。例如,你可以很容易地画一条线来分离与操作中结果为True的输入和结果为False的输入。
然而,单层感知器的能力到此为止。当数据不是线性可分时会发生什么?
说明感知器局限性最著名的例子是**异或(XOR)**问题。异或是一种逻辑运算,当输入不同时输出True(或1),当输入相同时输出False(或0)。
让我们看一下两个输入(x1,x2)的异或真值表:
| x1 | x2 | Output (y) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
现在,让我们在二维图上可视化这四个输入点,其中颜色或形状代表输出类别(0或1):
在二维空间中绘制的异或输入点。红色点代表类别0,蓝色点代表类别1。
仔细观察该图。你能画一条单一的直线来分离红色点(输出0)和蓝色点(输出1)吗?无论你尝试在哪里画线,你总会发现至少有一个点位于错误的一侧。
感知器通过一个阶跃函数处理输入的加权和来确定其输出: y=step(∑iwixi+b) 决策边界由阶跃函数自变量为零的点定义: ∑iwixi+b=0 对于我们的双输入异或问题,这个方程变为: w1x1+w2x2+b=0 这是在(x1,x2)二维平面中的一条直线方程。正如我们直观看到的那样,没有一条单一的直线能够根据异或函数的要求正确地划分空间。
让我们尝试推理一下:
从(3)和(4)中,我们知道 w1+b>0 和 w2+b>0。如果我们把这两个不等式相加,我们得到 (w1+b)+(w2+b)>0,这简化为 w1+w2+2b>0。
现在将其与条件(2):w1+w2+b≤0 和条件(1):b≤0 进行比较。 如果 b≤0,那么 2b≤b。因此,w1+w2+2b≤w1+w2+b。 但我们发现 w1+w2+2b 必须 >0,而 w1+w2+b 必须 ≤0。这产生了矛盾。使用单一线性决策边界,不可能找到同时满足异或函数所有条件的权重 w1,w2 和偏置 b。
单层感知器无法处理像异或这样的非线性可分问题是一个重要的发现。这表明,要处理数据中更复杂的模式和关系,我们需要更精巧的网络架构。这一根本局限性直接推动了**多层感知器 (MLP)**的发展,它在输入和输出之间引入了隐藏层。正如我们将在下一节中看到的那样,这些隐藏层允许网络学习复杂的非线性决策边界,从而克服了简单感知器的局限性。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造