容量、欠拟合、过拟合问题讨论

容量、欠拟合、过拟合问题讨论——《深度学习》读书笔记

决定机器学习算法是否好的因素:

1.降低训练误差。

2.缩小训练误差和测试误差的差距。

这两个因素对应机器学习的两个主要挑战:欠拟合(underfitting)和过拟合(overfitting)。欠拟合是指模型不能在训练集上获得足够低的误差。过拟合是指训练误差和测试误差之间的差距太大。

模型容量(capacity)是指拟合各种函数的能力。容量低的模型可能很难拟合训练集,容量高的模型可能会过拟合,因为记住了不适用与测试集的训练集性质。

 一种控制训练算法容量的方法是选择假设空间(hypothesis space),即学习算法可以选择为解决方案的函数集。


简约原则(奥卡姆剃刀),在同样能够解释已知观测现象的假设中,我们应该挑选“最简单”的那一个。“简单有效原理”,“如无必要,勿增实体”。

量化模型的容量使得统计学习理论可以进行量化预测。训练误差和泛化误差之间差异的上界随着模型容量的增长而增长,但随着训练样本的增多而下降。

虽然更简单的函数更容易泛化,仍然需要选择一个充分复杂的假设以达到低的训练误差。

从预先知道的真实分布预测而出现的误差叫贝叶斯误差(Bayes error)。


没有免费午餐定理(no free lunch theorem)

在所有可能的数据生成分布上平均之后,每一个分类算法在未事先观测的点上都有相同的错误率。换言之,在某种意义上,没有一个机器学习算法总是比其他的好。


正则化

只有通过增加或减少学习算法可选假设空间的函数来增加或减少模型的容量。

正则化是指修改学习算法,使其降低泛化误差而非训练误差。


深度学习过拟合的几种处理方式:

1.early stop ,保存epoch的最好的model,在进行训练时加入对test数据的测试。

2.正则化

3.dropout

4.扩充数据集

。。。。。。。。。。。。。。

原文地址:https://www.cnblogs.com/wangzhenghua/p/11918212.html