训练误差和泛化误差
训练误差:模型在训练集上计算的误差;
泛化误差:模型在原始样本的分布中抽取无限多的数据样本我们模型误差的期望。
**················································································ **
- 可调整参数的数量。当可调整参数的数量(有时称为⾃由度)很⼤时,模型往往更容易过拟合。
- 参数采⽤的值。当权重的取值范围较⼤时,模型可能更容易过拟合。
- 训练样本的数量。即使你的模型很简单,也很容易过拟合只包含⼀两个样本的数据集。而过拟合⼀个有数百万个样本的数据集则需要⼀个极其灵活的模型。
过拟合和欠拟合
欠拟合:在训练集表现差,在测试集表现同样很差;
过拟合:模型在训练数据上拟合得比在潜在分布中更接近的现象;
对抗过拟合的技术称为正则化
过拟合应该如何处理:
1.丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如 PCA)
2.正则化。 保留所有的特征,但是减少参数的大小(magnitude)
模型选择
在确定超参数之前不应该用测试集,否则有过拟合风险。
也不能只依靠训练集进行模型选择,因为无法估计训练数据的泛化误差。
解决方法:将数据集分为三份:训练集、测试集验证数据集(验证集)
当训练集稀缺时,解决方案:K折交叉验证。
原始训练数据被分成K个不重叠的⼦集。然后执⾏K次模型训练和验证,
每次在K − 1个⼦集上进⾏训练,并在剩余的⼀个⼦集(在该轮中没有⽤于训练的⼦集)上进⾏验证。最后,
通过对K次实验的结果取平均来估计训练和验证误差。
参考资料:动⼿学深度学习、吴恩达机器学习