机器学习模型中方差的含义

数据挖掘 机器学习 机器学习模型 方差
2022-03-11 16:41:41

我知道高方差会导致过度拟合,而高方差是模型对异常值敏感。

但是我可以说方差是当预测点太长时会导致高方差(过度拟合),反之亦然。

4个回答

如果我们多次重新训练模型(在数据的不同子集上) ,方差实际上测量了模型预测的可变性(例如,为了简化,对于特定的样本实例)。

为了获得直观的差异感,假设您的数据集中有 100 个训练示例(总共 150 个示例,其中 50 个示例保留用于验证集和测试集之间 50:50 的拆分)。

从这组 150 个示例中选择一个特定示例,例如您需要将其分类为以下任一类别:xik1,k2,...,kn

现在从你原来的 150 个样本中随机挑选 100 个样本(不包括你的)。现在假设您选择一个具有许多更高阶项的假设,例如:并且不对其进行正则化,它会很好地拟合模型,并且您的训练集上的错误率很低。xia1x8+a2x7+...a0=0

上运行此模型,但它预测错误。您重复上述过程,将 100 个样本重复五次,每次得到不同的结果,例如xika,kb,kc,kdke

您的预测中的这种可变性(加上训练集的低误差)意味着您的模型过度拟合了给出的数据。这就是为什么它无法遵循数据中的一般模式并且受到异常值的影响超出其应有的程度。

我想这回答了您关于在何时将模型声明为高度变体的问题

预测点过长

什么是方差?

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

方差引起的误差

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

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

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

方差是与平均值的平方偏差的平均值。分析方差检验,即两个或多个总体的均值相等的假设。

Bias versus variance trade-off

除了白噪声之外,每个模型都有偏差和方差误差分量。偏差和方差彼此成反比;在试图减少一个组件时,模型的另一个组件会增加。理想的模型将具有低偏差和低方差

高偏差模型的一个示例是逻辑回归或线性回归,其中模型的拟合仅仅是一条直线,并且由于线性模型无法很好地逼近基础数据,因此可能具有较高的误差分量。

高方差模型的一个示例是决策树,其中模型可能会创建过多的摆动曲线作为拟合,其中即使训练数据的微小变化也会导致曲线拟合的剧烈变化。

以上信息来自Statistics for Machine Learning我曾经参考的书

它是一个偏差方差权衡问题:

  • 当增加模型复杂度时,方差增加,偏差减少
  • 当对模型进行正则化时,偏差会增加,方差会减少。

数学上

高偏差:

  • 无论我们为模型提供多少数据,模型都无法代表底层关系,并且具有很高的系统误差

  • 不合身

  • 泛化性差

高偏差

高方差:

  • 需要数据来改进

  • 可以用更少或不太复杂的特征来简化模型

高方差

为了解决这个问题,我们可以在分析过程中根据不同的标准绘制模型的性能,以可视化仅从结果中可能不明显的行为。

学习曲线 - Scikit Learn

这是决策树示例的学习曲线。

在此处输入图像描述

看到最大深度 3 是代表最佳学习曲线的深度。

请注意,在此示例中,最大深度 3 是代表最佳学习曲线的深度。

即使增加了更多的训练点,训练曲线的分数也会稍微降低你的分数,但逐渐趋向于减少这种减少,即使添加了大量的训练点也证明了稳定性。

已经在测试曲线的情况下,随着更多训练点的添加,分数在开始时往往会显着增加,表示模型的最佳拟合,但是即使它在大量训练点中收敛,曲线的分数也会增加在一定数量的训练点上也实现了稳定的提升。

拥有更多的训练点会使模型受益,直到训练和测试曲线的分数稳定的某个时间点,不需要进一步增加训练点。

下面的链接中有一个很好的参考: Andrew Ng Guide