Skip to content
知识

/knowledge/statistical-machine-learning

统计机器学习

教机器从样例中泛化——以及那一个张力:拟合数据与拟合噪声之间的张力,它决定了模型是否奏效。

学于
统计机器学习数据科学硕士
时间
墨尔本大学,2023–2024
应用于
贯穿每段工作的建模
阅读 / 复习
约 16 分钟阅读2026-06-25

当规则复杂到无法手写时,你所做的就是机器学习。你不再编写答案,而是 给模型看许多样例,让它推断出模式——然后你希望它在从未见过的样例上也能奏效。最后 这一句就是整个学科:不是拟合你已有的数据,而是泛化到你没有的数据。

这是把整座基础汇聚到一起的进阶页面。它运行在线性代数(数据与模型都是向量和矩阵)、概率与统计(每个预测都不确定,每个模型都是 估计出来的)以及微积分(训练就是 最小化损失)之上。在这里,我们把它们组装成那个会学习的东西。

01

「学习」意味着什么

这里的「学习」有精确含义:随着你看到更多数据,在某项任务上变得更好,并由某个 性能指标来衡量。这个领域按数据的样子来划分:

  • 监督学习——你有带标签的样例(输入 → 正确答案),并学习去预测标签。分类预测一个类别(垃圾邮件 / 非垃圾邮件);回归预测一个 数值(房价)。应用机器学习的主体。
  • 无监督学习——没有标签,只有待发现的结构:聚类把相似的 点分组,降维(如 PCA)把它们压缩。
  • 强化学习——智能体通过行动并获得奖励来学习。它足够不同,留给它自己 的页面。

02

学习问题

剥到骨架,监督学习就是三个选择:

  • 一个假设空间——你将考虑的函数族(所有直线、所有深度为 5 的树、 给定形状的所有神经网络)。这就是你的模型选择。
  • 一个损失函数——单个预测有多错(回归用平方误差,分类用交叉熵)。
  • 一个优化器——在那个空间中搜索总损失最低的函数,通常通过梯度下降

你真正想要最小化的是风险——在来自真实世界的数据上的 期望损失:

R(f)=E(x,y) ⁣[L(f(x),y)]R(f) = \mathbb{E}_{(x, y)}\!\left[\, L(f(x), y) \,\right]

但你看不到整个世界——只能看到你的样本。所以你最小化经验风险,即 训练集上的平均损失,并祈祷它能跟踪真实风险。全部的艺术就在于让这个祈祷成真。

03

泛化,而非记忆

一个在训练数据上拿满分的模型什么也没证明——它可能只是把它背了下来。唯一重要的 检验是它在从未见过的数据上的表现。所以机器学习的第一条规则是留出一个 测试集,绝不让模型从中学习。两种失败模式界定了目标的两端:

  • 欠拟合——模型太简单,无法捕捉模式。在训练和测试数据上误差都高。 (用一条直线去穿一条曲线。)
  • 过拟合——模型太灵活,把噪声连同信号一起拟合了。训练误差低,测试 误差高。它记忆而非学习。
欠拟合良好拟合过拟合
欠拟合(左):太僵硬,跟不上趋势。良好拟合(中):捕捉信号,忽略抖动。过拟合(右):扭曲着穿过每一个点,包括噪声——并在新数据上失败。

04

偏差—方差权衡

这两种失败是机器学习中最重要思想的两端。一个模型的期望误差可分解为三部分:

Error=Bias2+Variance+Irreducible noise\text{Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible noise}
  • 偏差——来自错误假设的误差;模型太简单,无法表示真相。高偏差 = 欠拟合。
  • 方差——来自对特定训练样本敏感的误差;如果你重新洗牌数据,模型会 剧烈变化。高方差 = 过拟合。
  • 不可约噪声——世界本身的随机性。没有模型能战胜它;假装能,就是过拟合。

这种张力是根本性的:让模型更灵活会降低偏差但抬高方差,反之亦然。你无法把两者都 降到零——你调到它们之最小的最佳点。

模型复杂度 →训练测试最佳点欠拟合过拟合
随着模型复杂度增长,训练误差一路下降,但测试误差先降后升。测试曲线的最低点——偏差与方差的平衡点——就是你想要的模型。

05

正则化

正则化是控制这一权衡的主要杠杆:刻意约束模型,使它无法为拟合噪声而 扭曲自己。你在损失上加一个对复杂度的惩罚,于是训练必须在拟合数据与保持简单之间 权衡:

minθ  L(data)+λpenalty(θ)\min_{\theta}\ \ L(\text{data}) + \lambda \cdot \text{penalty}(\theta)

强度 λ 是一个从「使劲拟合」到「保持简单」的旋钮。对权重的两种经典 惩罚:

  • L2(岭)——惩罚权重的平方大小,把它们平滑地一起收缩向零。在不丢弃 特征的情况下抑制方差。
  • L1(Lasso)——惩罚绝对大小,这会把一些权重恰好逼到零—— 实现自动特征选择。当你怀疑大多数特征无用时很好用。

这是奥卡姆剃刀的正式版本:在能拟合数据的模型中,偏好最简单的那个,因为简单的 模型更能泛化。

06

交叉验证

你需要对测试性能的诚实估计来调整像 λ 这样的选择——但每次偷看测试集 都会烧掉它。解决办法是交叉验证:把训练数据分成 k 折, 在 k−1 折上训练、在留出的那一折上验证,然后轮换,使每一折都当一次 验证集。把这 k 个分数取平均。

这从有限的数据中挤出一个可靠的性能估计,也是你在不污染最终测试集的情况下选择 超参数的方式——那个测试集锁在保险库里,只在最后碰一次。这里的纪律与统计学页中的相同:绝不让信息从测试泄漏到 训练。

07

模型族

一套实用工具箱,从可解释到强大:

  • 线性 / 逻辑回归——特征的加权和。快速、可解释、凸损失,而且是真正 强大的基线。从这里开始。
  • 决策树——嵌套的是/否分裂。可读,但单棵树会过拟合。
  • 集成——把许多弱模型组合成一个强模型。随机森林平均 许多去相关的树(降低方差);梯度提升(XGBoost、LightGBM)构建相互 纠错的树,赢得了表格类问题中很大的一部分。
  • 支持向量机——寻找最大间隔的边界,并通过核技巧低成本地 画出非线性边界。
  • k 近邻——根据最近的训练点来预测。无需训练,但在高维下又慢又弱。
  • 神经网络——堆叠的非线性层;在图像、文本和音频上无可匹敌,代价是 数据、算力与可解释性。

08

诚实地评估

单一的准确率数字会骗人,尤其在类别不平衡时——统计学 NLP 页中的 教训在此直接适用。分类用精确率、召回率与 F1;检查混淆矩阵看你犯了哪些错误;用 ROC 曲线 / AUC 跨阈值评判;回归则 报告 RMSE

最重要的是,在模型从未碰过的数据上评估,让指标匹配每种错误在现实世界中的代价, 并记住偏差—方差的教训:训练分数最好的模型,很少是你真正想要的那个。

09

它在我工作中的体现

10

60 秒回顾