跟李沐学AI-动手学深度学习-模型选择+过拟合和欠拟合

目录

模型选择

训练误差和泛化误差

K-折交叉验证

总结

过拟合和欠拟合

模型容量

 模型容量的影响

 估计模型容量

 VC维

数据复杂度

总结


模型选择

训练误差和泛化误差

训练误差:模型在训练数据上的误差。

泛化误差:模型在新数据上的误差。

验证数据集:一个用来评估模型好坏的数据集。

测试数据集:只用一次的数据集。

K-折交叉验证

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

算法:将训练数据分割成K块,

          for i = 1,....K.

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

           报告K个验证集误差的平均。

常用:K=5或10.

总结

  • 训练数据集:训练模型参数。
  • 验证数据集:选择模型超参数。
  • 非大数据集上通常使用k-折交叉验证。

过拟合和欠拟合

跟李沐学AI-动手学深度学习-模型选择+过拟合和欠拟合_第1张图片

模型容量

拟合各种函数的能力。

低容量的模型难以拟合训练数据。

高容量的模型可以记住所有的训练数据。

 模型容量的影响

跟李沐学AI-动手学深度学习-模型选择+过拟合和欠拟合_第2张图片

 估计模型容量

难以在不同的种类算法之间比较,例如树模型和神经网络。

给定一个模型种类,将有两个主要因素:参数的个数、参数值的选择范围。

 VC维

统计学习理论的一个核心思想。

对于一个分类模型,VC等于一个最大的数据集的大小,不管如何给定标号,都存在一个模型来对它进行完美分类。

线性分类器的VC维

2维输入的感知机,VC维=3。能够分类任何3个点,但不是4个(xor问题)。

支持N维输入的感知机的VC维是N+1。

一些多层感知机的VC维 O(NlogN)。

VC维的用处

提供为什么一个模型好的理论依据。

它可以衡量训练误差和泛化误差之间的间隔。

但是很少在深度学习中使用:衡量不是很准确,计算深度学习模型的VC维很困难。

数据复杂度

多个重要因素:样本个数、每个样本的元素个数、时间空间结构、多样性。

总结

  • 模型容量需要匹配数据复杂度,否则可能导致欠拟合和过拟合。
  • 统计机器学习提供数据工具来衡量模型复杂度。
  • 实际中一般靠观察训练误差和验证误差。

你可能感兴趣的:(跟李沐学AI-动手学深度学习,深度学习,pytorch,神经网络)