Skip to content

模型选择

深度学习目标:

在给定有限数据量的情况下寻找合适的模型(模型选择)

训练模型的目标是发现泛化模式(pattern), 这些模式捕捉到了我们训练集潜在总体的规律。 如果成功做到了这点,即使是对以前从未遇到过的个体, 模型也可以成功地评估风险。 如何发现可以泛化的模式是机器学习的根本问题。

过拟合 就是泛化能力差。

1. 训练误差和泛化误差

模型选择的目标是找到一个模型, 它在训练数据上的误差最小, 同时在测试数据上的误差也最小。

  • 训练误差(training error)是指, 模型在训练数据集上计算得到的误差。
  • 泛化误差(generalization error)是指, 全新的数据上的期望误差。
    • 永远不能准确地计算出泛化误差

2. 影响模型泛化的因素

2.1. 样本差异导致泛化差

独立同分布假设(i.i.d. assumption)

假设训练数据和测试数据都是从相同的分布中独立提取的。 这通常被称为独立同分布假设(i.i.d. assumption), 这意味着对数据进行采样的过程没有进行“记忆”。 换句话说,抽取的第2个样本和第3个样本的相关性, 并不比抽取的第2个样本和第200万个样本的相关性更强。

现实数据违反独立同分布假设的情况是非常常见的。

  • 时间依赖
  • 地域差异
  • 场景差异

2.2.模型复杂度对泛化差的影响

模型的复杂性要和数据的复杂性匹配。过于复杂的模型会记住训练数据中的噪声, 影响泛化能力

  • 模型复杂度对欠拟合和过拟合的影响 图片

2.3. 数据集大小

训练数据集中的样本越少,我们就越有可能(且更严重地)过拟合。 随着训练数据量的增加,泛化误差通常会减小。

2.4.其它影响模型泛化的因素

  • 可调整参数的数量。当可调整参数的数量(有时称为自由度)很大时,模型往往更容易过拟合。
  • 参数采用的值。当权重的取值范围较大时,模型可能更容易过拟合。
  • 训练样本的数量。即使模型很简单,也很容易过拟合只包含一两个样本的数据集。而过拟合一个有数百万个样本的数据集则需要一个极其灵活的模型。

3. 模型选择

在机器学习中,我们通常在评估几个候选模型后选择最终的模型。 这个过程叫做模型选择.

  • 有时,需要进行比较的模型在本质上是完全不同的(比如,决策树与线性模型)
  • 有时,我们需要比较不同的超参数设置下的同一类模型。

为了确定候选模型中的最佳模型,我们通常会使用验证集。

3.1. 数据三分法

将数据集分为三部分:训练集、验证集和测试集。

  • 训练集用于训练模型
  • 验证集用于选择模型
  • 测试集用于评估模型的泛化能力

3.2. K折交叉验证

当训练数据稀缺时,我们甚至可能无法提供足够的数据来构成一个合适的验证集。 这个问题的一个流行的解决方案是采用 折交叉验证。 这里,原始训练数据被分成 个不重叠的子集。 然后执行 次模型训练和验证,每次在 个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。 最后,通过对 次实验的结果取平均来估计训练和验证误差。

图片

京ICP备2024093538号-1