深度学习模型选择

发布时间:2024年01月25日

作为机器学习科学家,我们的目标是发现模式(pattern)。 但是,我们如何才能确定模型是真正发现了一种泛化的模式, 而不是简单地记住了数据呢?接下来介绍几种模型选择时候需要注意的点

误差

训练误差

训练误差(training error)是指, 模型在训练数据集上计算得到的误差。

泛化误差

泛化误差(generalization error)是指, 模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。

模型选择

在机器学习中,我们通常在评估几个候选模型后选择最终的模型。 这个过程叫做模型选择。 有时,需要进行比较的模型在本质上是完全不同的(比如,决策树与线性模型)。 又有时,我们需要比较不同的超参数设置下的同一类模型。

例如,训练多层感知机模型时,我们可能希望比较具有 不同数量的隐藏层、不同数量的隐藏单元以及不同的激活函数组合的模型。 为了确定候选模型中的最佳模型,我们通常会使用验证集。

验证集

数据应该分为三种

  • 训练集
  • 验证集
    用来评估模型好坏。比如 超参数的选择好坏
  • 测试集

k折交叉验证

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

在没有足够多数据时使用(数据不够是常态)

算法:

  1. 将训练数据分割为k块

  2. For i = 1…k

    使用第i 块作为验证数据集,其余的作为训练数据集

  3. 计算k个验证集误差的平均

常用:K = 5 或 10

欠拟合 过拟合

图解:

模型容量

简单解释:模型的复杂度,比如参数的多少,模型的层数

数据复杂度

多个因素:

  • 样本个数
  • 每个样本的元素个数
  • 时间、空间结构
  • 多样性
    9)]
数据复杂度

多个因素:

  • 样本个数
  • 每个样本的元素个数
  • 时间、空间结构
  • 多样性
文章来源:https://blog.csdn.net/weixin_50601779/article/details/135833666
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。