定义
过拟合是机器学习中的一个概念,其表示模型在训练过程中将数据中的噪声作为有效信息进行分析,进而导致模型中的参数过于准确的描述训练数据而在其他数据中不适用的现象。
机器学习中的误差(error)
在机器学习中,通常将数据分为训练集和测试集两部分。模型通过训练集得到自身的参数,并在新样本中进行性能的测试。误差,即为模型的实际预测输出与样本的真实输出之间的差异。进一步,在训练集中的误差为“训练误差”,而在新样本,如测试样本中的误差则被称为“泛化误差”。
训练误差越小说明模型对训练集中样本的学习越充分,但并不代表着训练误差越小越好。因为训练样本只是该类数据中的小部分,其无法代表整体样本分布。一个训练误差很小的模型,意味着模型很有可能将训练样本自身的特点作为了整体样本的特点,而这种训练样本独有的特点在测试样本中并不存在,这会导致模型的泛化误差很大,即出现了过拟合现象。
因此当模型在训练集中的训练误差过小,而在测试集中的泛化误差偏大时,便是出现了过拟合现象。
过拟合的解决方案
1、获取更多的数据
训练数据越充分,其能够代表整体样本分布的可能性就越大,发生过拟合的可能性随之降低。目前常用的增加数据的方式为数据扩充(data augmentation)。
2、选择合适的模型
当数据较少,而模型结构又较为复杂时,过拟合现象很容易产生。针对问题的难度选取合适的模型也能够在一定程度上缓解过拟合问题。
3、结合多种模型
将一个模型结构训练多次,模型会通过不同的视角看待样本,综合这些模型可以取长补短,得到泛化能力更强的模型。
4、增加约束(正则化)
正则化是指约束模型的学习以减少过拟合的过程,其在模型学习的过程中针对特定参数增加特定的限制进而实现提高模型泛化能力的目的。常用的正则化方法有L1和L2正则化 。
参考文献
[1] overfitting. https://en.wikipedia.org/wiki/Overfitting
[2] 周志华. 机器学习[M]. 清华大学出版社, 2016.