线性模型与异或函数的问题
线性模型无法学习异或函数,因为异或函数在特征空间中是线性不可分的。 这是一个经典的机器学习问题,也是深度学习出现的重要历史背景之一。
异或函数的特性
异或函数的真值表如下:
| 输入 x₁ | 输入 x₂ | XOR 输出 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
关键特点是:输出为1当且仅当两个输入不相同。
为什么线性模型失败
线性可分性的要求
线性模型(如感知机、逻辑回归等)本质上是找一条直线(二维)、平面(三维)或超平面(高维)来分离两类数据。
超平面是指在 n 维空间中维数为 (n-1) 的线性子空间。 它是直线和平面这些概念在高维空间中的推广。
它尝试找到权重 \(w_1, w_2, b\) 使得决策边界满足:
\[w_1 x_1 + w_2 x_2 + b = 0
\]
几何上的不可分性
在二维平面上绘制异或函数的四个点:
- 类别 0:(0,0) 和 (1,1)
- 类别 1:(0,1) 和 (1,0)
无论如何绘制一条直线,都不能将这两类点完全分离。 类别0的点分别位于对角线两端,而类别1的点位于另外两个对角线位置,形成棋盘式的分布。这样的分布天然是线性不可分的。
非线性模型的解决方案
多层神经网络可以解决这个问题。 通过隐藏层中的非线性激活函数(如ReLU、Sigmoid等),网络能够对特征空间进行非线性变换,将原本线性不可分的数据映射到可分的高维空间。
一个最小的例子是两层神经网络:
- 输入层:2个神经元
- 隐藏层:2个神经元 + 非线性激活
- 输出层:1个神经元
这样的网络可以精确拟合异或函数。
历史意义
异或问题在20世纪60年代引发了对单层感知机局限性的认识(Minsky和Papert的著作),这直接导致了对深度神经网络的探索,最终推动了现代深度学习的发展。
浙公网安备 33010602011771号