Skip to content

引言

1990 年代,新泽西州默里山的 AT&T 贝尔实验室里,上演着一场奇特的学术对决。同一栋楼里,Vladimir Vapnik 坚信支持向量机才是机器学习的正道,而走廊另一头的 Yann LeCun 则在默默研发神经网络。据说两人经常在走廊里争论不休——Vapnik 激昂地阐述 SVM 的数学之美,LeCun 则用实际应用来反驳。这场"走廊辩论"持续了整个 90 年代,而历史最终证明,两人都是对的。

VV1936-
Vladimir Vapnik
统计学习理论之父,SVM 的发明者
"The art of machine learning is to construct a function that is simple yet not too simple, complex yet not too complex."

那个年代,研究者们发展出了一批经典的机器学习算法。它们虽然不像现代深度学习那样"端到端"地自动学习特征,但数学基础扎实、可解释性强,至今仍是许多场景的首选。


SVM:支持向量机

核心思想

SVM 的目标是找到一个最优超平面来分隔不同类别的数据点。

        │  ○ ○
        │ ○  ○
  ──────┼─────────  ← 超平面(分类边界)
        │  ●  ●
        │ ●   ●

   支持向量:最靠近超平面的数据点
   它们决定了超平面的位置

「最优」的定义:使两类数据到超平面的最小距离(间隔 Margin)最大化。

核技巧(Kernel Trick)——Vapnik 的天才灵感

Vapnik 最初在俄罗斯开发了 SVM 的理论基础(统计学习理论),后来移居美国加入 AT&T 贝尔实验室。在那里,他想出了一个绝妙的技巧:当数据在原始空间中无法线性分离时,不需要真的去计算高维映射——只需要在原始空间中用核函数计算出等价的内积就行了。

原始空间(不可分):        高维空间(可分):
  x₂                          φ(x)
  │  ○  ●                     │ ○ ○
  │ ●  ○    ← 无法用直线分开   │    ● ● ○ ← 可以用超平面分开
  └──────── x₁                 └──────────

核函数:K(x, x') = φ(x)·φ(x')
常用核函数:
  线性核:K(x,x') = x·x'
  多项式核:K(x,x') = (x·x'+c)^d
  RBF 核:K(x,x') = exp(-γ||x-x'||²)

这个技巧的精妙之处在于:你甚至不需要知道高维空间长什么样——核函数帮你处理了一切。

数学形式

决策函数:f(x) = w·x + b

优化目标:最大化间隔 = 2/||w||
等价于:最小化 ½||w||²
约束:yᵢ(w·xᵢ + b) ≥ 1,对所有训练样本

yᵢ ∈ {+1, -1} 是类别标签

SVM 的特点

优点缺点
数学理论扎实大规模数据训练慢
高维数据表现好核函数选择需要经验
不易过拟合(间隔最大化)难以处理多分类问题
少量样本也能工作结果不易解释(非线性核时)

决策树

核心思想——最贴近人类直觉的算法

如果说 SVM 是数学家的最爱,那么决策树就是最符合人类直觉的算法。它的逻辑就像医生问诊:"发烧吗?""咳嗽吗?""喉咙痛吗?"——通过一系列是/否问题逐步缩小范围,最终得出结论。

        年龄 > 30?
       /         \
     是            否
     │              │
  收入 > 5万?    学生?
   /    \        /    \
  是    否     是      否
  │     │     │        │
 贷款  拒绝  拒绝     贷款

分裂准则

每个节点如何选择最佳分裂特征?

准则公式思想说明
信息增益(ID3)选择使信息熵减少最多的特征偏向多值特征
信息增益率(C4.5)对信息增益归一化纠正 ID3 的偏好
基尼不纯度(CART)选择使基尼系数降低最多的特征CART 默认使用
信息熵:H(S) = -Σ pᵢ log₂(pᵢ)
  度量数据集的「纯度」——越纯,熵越低

基尼不纯度:Gini(S) = 1 - Σ pᵢ²
  随机抽取两个样本类别不同的概率

决策树的特点

优点缺点
直观易懂容易过拟合
不需要特征缩放对训练数据的小变化敏感
能处理数值和类别特征倾向于偏向多值特征
可以可视化预测精度通常不如集成方法

随机森林

Leo Breiman 的集成洞察

2001 年,统计学家 Leo Breiman 发表了随机森林论文。他的核心洞察可以用一句中国老话概括:三个臭皮匠,顶个诸葛亮。 单棵决策树容易过拟合、不稳定,但如果你建很多棵不同的树,让它们投票决定,错误就会被平均掉。

LB1928-2005
Leo Breiman
统计学家,随机森林和 Bagging 方法的发明者
"The aim of science is to seek the simplest explanations of complex facts."

核心思想

训练数据(有放回抽样)

    ├── 样本子集 1 → 决策树 1 → 预测 1
    ├── 样本子集 2 → 决策树 2 → 预测 2
    ├── 样本子集 3 → 决策树 3 → 预测 3
    │   ...
    └── 样本子集 n → 决策树 n → 预测 n

                    投票/平均

                       最终预测

两个关键的「随机」

  1. Bagging(Bootstrap Aggregating):每棵树使用有放回抽样的训练子集
  2. 特征随机:每个节点分裂时只考虑随机选取的一部分特征

为什么随机森林有效?

单个决策树:方差高(容易过拟合)
多个决策树:方差被平均掉

条件:每棵树要有「多样性」(不太相关)
方法:通过随机采样和随机特征选择保证多样性

随机森林的特点

优点缺点
准确性高模型大(多棵树)
不易过拟合可解释性不如单棵树
能评估特征重要性训练和预测比单棵树慢
参数少,容易调优-

朴素贝叶斯

核心思想

基于贝叶斯定理,假设所有特征条件独立(这就是"朴素"的来源)。虽然这个假设在现实中几乎永远不成立,但朴素贝叶斯在实践中却出人意料地好用——尤其是在文本分类任务上。

贝叶斯定理:
  P(类别|特征) = P(特征|类别) × P(类别) / P(特征)

朴素假设(特征条件独立):
  P(x₁,x₂,...,xₙ|类别) ≈ P(x₁|类别) × P(x₂|类别) × ... × P(xₙ|类别)

预测:
  类别* = argmax P(类别) × ∏ P(xᵢ|类别)

应用示例:垃圾邮件分类

邮件包含词汇:{免费, 中奖, 点击}
P(垃圾|免费,中奖,点击) ∝ P(垃圾) × P(免费|垃圾) × P(中奖|垃圾) × P(点击|垃圾)
P(正常|免费,中奖,点击) ∝ P(正常) × P(免费|正常) × P(中奖|正常) × P(点击|正常)

比较两个概率,取较大者作为预测类别

朴素贝叶斯的特点

优点缺点
训练和预测极快特征独立假设通常不成立
小样本也有效特征间的交互关系被忽略
天然支持多分类对输入数据的表示方式敏感
概率输出数值特征需要额外处理

算法选择指南

选择算法从来不是一道有标准答案的数学题——它更像一门艺术,需要根据数据特征、问题需求和工程约束来权衡。

数据量小 + 特征少 → 朴素贝叶斯、SVM
数据量中等 → 决策树、随机森林
数据量大 + 高维 → SVM(线性核)、随机森林
需要可解释性 → 决策树
需要最高准确率 → 随机森林、梯度提升树
需要概率输出 → 朴素贝叶斯、逻辑回归
1963Vapnik 和 Chervonenkis 开始发展统计学习理论
1979Quinlan 提出 ID3 决策树算法
1992Boser、Guyon 和 Vapnik 引入核技巧,现代 SVM 诞生
1993Quinlan 发表 C4.5 决策树算法
1996Breiman 提出 Bagging 方法
1998Joachims 将 SVM 应用于文本分类,大获成功
2001Breiman 发表随机森林论文,集成学习成为主流

本节小结

算法核心思想时代影响
SVM最大间隔超平面 + 核技巧1990s-2000s 最热门的算法之一
决策树递归分裂,形成树状判断直观可解释的基础算法
随机森林多棵树投票,降低方差集成学习的代表
朴素贝叶斯贝叶斯定理 + 特征独立假设文本分类的经典方法

思考题

  1. SVM 的核技巧和神经网络的隐藏层有什么相似之处?它们都是在做什么?
  2. 随机森林中「随机」的作用是什么?如果去掉随机性会怎样?
  3. 在深度学习时代,这些经典算法还有用吗?在什么场景下你会选择它们而非深度学习?

延伸阅读

  • Vapnik, V. (1995). The Nature of Statistical Learning Theory — 统计学习理论的奠基之作
  • Breiman, L. (2001). "Random Forests" — 随机森林原始论文
  • Quinlan, J.R. (1993). C4.5: Programs for Machine Learning — 决策树经典著作