The Perceptron Algorithm

Note
The Perceptron Algorithm
Published

January 19, 2026

2.2 The Perceptron Algorithm

2.2.0 历史与定位

感知机是最早的线性分类算法之一(Rosenblatt, 1958),其重要性不在于性能,而在于:

  • 它揭示了线性可分性的概念;
  • 它是 logistic regression 的”非概率化版本”。

2.2.1 模型形式

定义硬阈值激活函数: \[ g(z)= \begin{cases} 1, & z \ge 0 \\ 0, & z < 0 \end{cases} \]

感知机假设函数: \[ h_\theta(x)=g(\theta^T x) \]

注意:这里的 \(h_\theta(x)\) 不再是概率,只是一个分类决策。

2.2.2 学习规则(Perceptron Update Rule)

对单个样本 \((x^{(i)},y^{(i)})\),更新为: \[ \boxed{ \theta := \theta + \alpha\,(y^{(i)} - h_\theta(x^{(i)}))\,x^{(i)} } \]

  • 若预测正确:\(y=h_\theta(x)\) ⇒ 不更新
  • 若预测错误:沿着 \(x^{(i)}\) 的方向修正参数

2.2.3 与 Logistic Regression 的形式对比

项目 Perceptron Logistic Regression
输出 \(\{0,1\}\) \((0,1)\)
激活 硬阈值 sigmoid
是否概率 ❌ 否 ✅ 是
是否可微 ❌ 否 ✅ 是
是否 MLE ❌ 否 ✅ 是

关键点:Perceptron 的更新公式看起来与 logistic regression 极其相似,但这是”形式相似”,而不是”理论等价”。

2.2.4 从 margin 的角度理解 Perceptron

\(y^*\in\{\pm1\}\),定义 margin: \[ m = y^*(\theta^T x) \]

Perceptron 的隐式 loss 可以写为: \[ \ell_{\text{perc}}(m)=\max(0,-m) \]

性质:

  • 只要 \(m>0\)(分对),loss = 0
  • 不关心 margin 的大小
  • 不会继续”拉大 margin”

2.2.5 Perceptron 的理论性质(局限性)

Perceptron Convergence Theorem

  • 若数据线性可分,算法在有限步内收敛;
  • 若不可分,算法可能永不停止振荡。

深层理解

  • 感知机没有概率模型 ⇒ 没有似然 ⇒ 没有”最优解”的概念;
  • 它只是一个”错误修正机制”,不是统计估计器。

2.2.6 一句话总结

Perceptron 是 logistic regression 的”硬阈值极限版本”:
它共享相同的线性判别结构,但放弃了概率语义、可微性与统计最优性。

No matching items