机器学习模型中的术语方差是什么意思?

数据挖掘 机器学习 方差
2021-09-21 00:26:54

我熟悉术语高偏差和高方差及其对模型的影响。

基本上,当您的模型过于复杂和敏感且异常值过于均匀时,它的方差很大。

但最近我在一次采访中被问到机器学习模型中术语方差的含义?

我想知道方差在 ML 模型中的确切含义以及它是如何在您的模型中引入的?如果有人能用一个例子来解释这一点,我将不胜感激。

3个回答

和你说的差不多。正式地说,你可以说:

在机器学习的背景下,方差是由于模型对训练集中的小波动的敏感性而发生的一种错误。

高方差会导致算法对训练集中的噪声进行建模。这通常被称为过度拟合

在讨论机器学习中的方差时,我们还提到了偏差

在机器学习的背景下,偏差是由于学习算法中的错误假设而发生的一种错误。

高偏差会导致算法错过输入特征和目标输出之间的相关关系。这有时被称为欠拟合

给定从训练分布中抽取的不同样本,这些术语可以从训练模型的预期误差中分解出来。有关这些术语的来源以及如何正式测量模型中的方差的简要数学解释,请参见此处。

偏差和方差之间的关系:

在大多数情况下,试图最小化这两个错误中的一个会导致另一个错误的增加。因此,这两者通常被视为一种权衡

ML 中高偏差/方差的原因:

决定模型偏差/方差的最常见因素是其容量(将其视为模型的复杂程度)。

  • 低容量模型(例如线性回归)可能会错过特征和目标之间的相关关系,导致它们具有高偏差。这在上面的左图中很明显。

  • 另一方面,高容量模型(例如,高次多项式回归、具有许多参数的神经网络)可能会模拟一些噪声以及训练集中的任何相关关系,导致它们具有高方差,如上图右图。

如何减少模型中的方差?

减少 ML 模型中方差的最简单和最常见的方法是应用限制其有效容量的技术,即正则化

最常见的正则化形式是参数范数惩罚,它限制了训练阶段的参数更新;提前停止,缩短训练时间;修剪基于树的算法;神经网络的dropout等。

一个模型可以同时具有低偏差和低方差吗?

的。同样,一个模型可以同时具有高偏差和高方差,如下图所示。

我们如何才能同时实现低偏差和低方差?

在实践中,最常用的方法是:

  1. 选择具有足够高容量的算法来充分建模问题。在这个阶段,我们希望最小化偏差,所以我们还不关心方差。
  2. 正则化上述模型,以最小化其方差

方差是 ML 模型在训练数据和测试数据之间预测准确度的变化。

简而言之,如果 ML 模型在训练数据上的预测精度为“x”,而在测试数据上的预测精度为“y”,那么

方差 = x - y

方差是给定数据点或告诉我们数据分布的值的模型预测的可变性。具有高方差的模型非常关注训练数据,并且不会泛化它以前没有见过的数据。因此,此类模型在训练数据上的表现非常好,但在测试数据上的错误率很高。

方差引起的误差

方差误差是一个训练集上的预测与所有训练集上的预期值的差异量。在机器学习中,不同的训练数据集会导致不同的估计。但理想情况下,训练集之间的差异不应太大。但是,如果一种方法具有高方差,那么训练数据的微小变化可能会导致结果的巨大变化。

https://www.coursera.org/lecture/machine-learning/diagnosing-bias-vs-variance-yCAup

https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229