[机器学习]高方差(过拟合)

188 阅读3分钟

高方差是机器学习中的一个概念,通常与模型的过拟合(Overfitting)相关联。

它反映了模型对训练数据中的随机噪声或细节过于敏感,导致其在未知数据上的表现不稳定,泛化能力差。


核心解释

在机器学习中,方差(Variance)衡量的是模型对训练数据中微小变化的敏感程度

  • 高方差:模型过度拟合训练数据(包括噪声,异常数据),导致在训练集上表现很好,但在新数据(测试集)上表现差。
  • 对比高偏差(Bias) :高偏差指模型过于简单,无法捕捉数据中的基本规律(欠拟合)。高方差和高偏差是模型误差的两大来源,需平衡(Bias-Variance Tradeoff)。

高方差的具体表现

  1. 训练集 vs. 测试集表现差异大

    • 训练集准确率高(如 98%),但测试集准确率骤降(如 70%)。
    • 模型“死记硬背”训练数据,无法泛化到新数据。
  2. 对训练数据中的噪声/异常数据敏感

    • 模型会拟合训练数据中的随机波动或异常值。
    • 例如:用高阶多项式回归拟合数据时,曲线会剧烈波动以穿过所有噪声点,这就是过拟合
  3. 模型复杂度过高

    • 使用过于复杂的模型(如深度决策树、高阶多项式、参数过多的神经网络),导致过度学习细节。
    • 例如:决策树生长到每个叶子节点仅包含一个样本(决策树的结构过于复杂)。
  4. 过拟合现象

    • 模型在训练集上几乎完美,但实际预测时表现波动大。
    • 例如:图像分类模型对训练图片的轻微旋转或亮度变化都无法正确识别。
  5. 对数据扰动敏感

    • 训练数据微小变化(如删除部分样本)会导致模型参数剧烈变化。

示例场景

  • 分类任务:用深度神经网络训练一个猫狗分类器,训练集准确率 99%,但测试集准确率仅 60%。模型可能记住了训练集中每张训练图片的背景细节(如草地、沙发),而非真正识别猫狗特征(没有学习到数据的本质规律)
  • 回归任务:用高阶多项式(比如10 阶多项式)拟合线性分布的数据,曲线在训练数据上误差为 0,但新数据预测误差极大。

解决方法

  1. 降低模型复杂度:使用更简单的模型(如线性回归代替多项式回归)。
  2. 正则化:添加 L1/L2 正则化项(如 LASSO、Ridge 回归)约束参数。
  3. 交叉验证:通过验证集评估模型泛化能力。
  4. 数据增强:增加训练数据多样性,减少对噪声的依赖。
  5. 集成学习:使用 Bagging(如随机森林)降低方差。

总结

高方差是模型“学得太细”导致的过拟合问题,表现为训练集和测试集表现差异大、对噪声敏感。解决方法围绕简化模型、正则化和增加数据多样性展开。