type
status
date
slug
summary
tags
category
icon
password
这节课我们主要来提升模型的泛化能力,使得其真正提升从特征提取信息,并预测的功能;而非单纯根据特征查找学习过的数据
4.4.1 训练误差和泛化误差
训练误差:模型在训练数据集上计算得到的误差
泛化误差:模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望
4.1.1.1 统计学习概论
为了优化我们的训练模型,我们需要尽可能使我们的数据从相同的分布中独立提取,称为独立同分布假设,意味着对数据进行采样的过程没有进行“记忆”
4.4.1.2 模型复杂性
更复杂的模型与更少的样本会导致训练误差下降、泛化误差增大
模型复杂性有很多复杂的影响因素:参数数量、参数分布、迭代次数……
神经网络中,我们可以采用 早停 (early stopping) 的方法,避免过多的训练迭代对于复杂性的提升
4.4.2 模型选择
4.4.2.1 验证集
在确定好超参数前,我们不希望用测试集,为了避免过拟合
因此我们这里使用验证集,由于通常数据量有限,我们不得不在训练时多次使用一个数据
于是,常用的方法是吧数据分为三份:训练集、测试集、验证集
4.4.2.2 K 折交叉验证
- 把数据分为 K 个不重叠子集
- 执行 K 次模型训练和验证
- 每次在 K-1 个子集上训练,在剩余的子集上验证
- 通过对 K 次实验的结果取平均来估计训练和验证误差
4.4.3 欠拟合还是过拟合?
欠拟合:模型过于简单,无法捕获特征与结果的关系
过拟合:模型过于复杂,仅仅学习到训练数据的特征,泛化能力差,表现为训练误差与验证误差差距大
4.4.3.1 模型复杂性
模型越复杂,越容易过拟合
模型越简单,越容易欠拟合

4.4.3.2 数据集大小
训练数据集中的样本越少,我们就越有可能(且更严重地)过拟合
4.4.5 小结
- 欠拟合是指模型无法继续减少训练误差。过拟合是指训练误差远小于验证误差。
- 由于不能基于训练误差来估计泛化误差,因此简单地最小化训练误差并不一定意味着泛化误差的减小。机器学习模型需要注意防止过拟合,即防止泛化误差过大。
- 验证集可以用于模型选择,但不能过于随意地使用它。
- 我们应该选择一个复杂度适当的模型,避免使用数量不足的训练样本。
- 作者:昊卿
- 链接:hqhq1025.tech/article/1b3a897c-9da0-80b1-91d2-d210be3f0bff
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。