过拟合

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

来源:Wikipedia
简介

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

图中,是分类红蓝亮点。绿色的分界线就代表过拟合的曲线,而比较好的分类结果应该是黑色的线。

常见原因

(1)建模样本选取有误,如样本数量太少,选样方法错误,样本标签错误等,导致选取的样本数据不足以代表预定的分类规则;

(2)样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则;

(3)假设的模型无法合理存在,或者说是假设成立的条件实际并不成立;

(4)参数太多,模型复杂度过高;

(5)对于决策树模型,如果我们对于其生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据(event)或非事件数据(no event),使其虽然可以完美匹配(拟合)训练数据,但是无法适应其他数据集。

(6)对于神经网络模型:a)对样本数据可能存在分类决策面不唯一,随着学习的进行,BP算法使权值可能收敛过于复杂的决策面;b)权值学习迭代次数过多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

解决方法

如model comparison, cross-validation, regularization, early stopping, pruning, Bayesian priors, or dropout。

(1)在神经网络模型中,可使用权值衰减的方法,即每次迭代过程中以某个小因子降低每个权值。

(2)选取合适的停止训练标准,使对机器的训练在合适的程度;

(3)保留验证数据集,对训练成果进行验证;

(4)获取额外数据进行交叉验证;

(5)正则化,即在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项,一般有L1正则与L2正则等。

URL:https://zh.wikipedia.org/wiki/NP_(%E8%A4%87%E9%9B%9C%E5%BA%A6)】

发展历史

神经网络中的过拟合问题:

深层神经网络包含多个非线性隐藏层,这使得它们非常有表现力,能够在输入和输出之间学习非常复杂的关系。然而,由于训练数据有限,许多复杂的关系将会是采样噪声的结果,所以它们会存在于训练集中,而不是在真实的测试数据中,即使它来自相同的分布,这也导致了过拟合问题。当然研究人员开发了许多方法来减少它。如如different variants of cross-validation (Haykin, 1999), noise injection (Holmstrom and Koistinen, 1992), error regularization, weight decay (Poggio and Girosi, 1990; Haykin, 1999) and the optimized approximation algorithm (Liu et al., 2008).。

Early stopping

首先,Nowlan和Hinton在1992年采取的方法是:在验证集的性能开始变得更糟时停止训练,引入各种类型的重量惩罚,如L1和L2规则化和soft weight sharing。different variants of cross-validation方法有很多种,有些是特别关注的数据非常稀缺,即多种的crossvalidation或分析(Haykin,1999)。这种方法在2008年Liu的论文里被定义为提前停止的方法。

Noise injection

比较早的技术还有注入噪声,在一些论文中(Holmstrom和Koistinen, 1992年)讨论了在ANN优化过程中对数据的不同的噪声注入技术。(Grandvalet et al .,1997;Skurichina et al,2000;Seghouane et al .,2004)。在实际应用中,在Holmstrom和Koistinen(1992)提出的输入数据中加入高斯噪声的方法变体成为最受欢迎的方法。噪声注入提高了ANN泛化能力(Sietsma和Dow, 1991;a, 1996),特别是对于小数据样本的分类问题(Huaet al., 2006)。从理论上研究了噪声注入和其他提高ANNs泛化特性的方法(包括误差正则化)的相似性,并通过Zur等人(2009)的实证研究得到了证实。

DROPOUT

Dropout是防止了过度拟合的,并提供了一种有效地将许多不同的神经网络架构结合在一起的方法。“Dropout”一词指的是在神经网络中把单位(隐藏的和可见的)去掉 dropping out units。通过删除一个单元,我们的意思是暂时将它从网络中移除,以及它的所有传入和传出连接网络。通过精简网络的结构来减少过拟合。

Dropout的动机来自于性别在进化中的作用理论(Livnat等),它可以被解释为通过增加噪声来调节神经网络的一种方法。2014年,Srivastava, N., Hinton, G.对Dropout方法进行了详细的介绍。

Optimization approximation algorithm

优化的近似算法(OAA) (Liu et al., 2008)是一种最近提出的方法,概念上与之前描述的方法有很大的不同。OAA的开发是为了阻止ANN训练,而不使用验证集或任何对测量数据的干扰。停止判据是基于在每个迭代中由模型误差所确定的易计算系数的值和由样本大小N决定的signal-to-noise-ratio-figure(SNRF)阈值之间的关系。该方法引入了连续函数的一维逼近,并推广到更实用的多维情况。

当然对数据的划分,或者增加数据的方法也可以有效地减少过拟合,如Index Data Division;Random Data Division ;Block Data Division ;Interleaved Data Division;

主要事件

年份事件相关论文
1992Holmstrom, L., & Koistinen在数据中注入噪声减少过拟合Holmstrom, L., & Koistinen, P. (1992). Using additive noise in back-propagation training. IEEE Transactions on Neural Networks, 3(1), 24-38.
1992Nowlan, S. J., & Hinton用L1,L2正则化来减小过拟合Nowlan, S. J., & Hinton, G. E. (1992). Simplifying neural networks by soft weight-sharing. Neural computation, 4(4), 473-493.
1999Haykin提出交叉验证的方式减少过拟合crossvalidationHaykin, S. (1999). Adaptive filters. Signal Processing Magazine, 6, 1.
2008Liu, Y.提出近似优化算法来组织ANN的训练Liu, Y., Starzyk, J. A., & Zhu, Z. (2008). Optimized approximation algorithm in neural networks without overfitting. IEEE transactions on neural networks, 19(6), 983-995.
2014Srivastava, N., Hinton, G.详细介绍Dropout方法Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 15(1), 1929-1958.

发展分析

瓶颈

数据量过少时,出现的过拟合问题,如何合理的增加数据。参数太多,模型复杂度过高;样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则;等等都会造成过拟合问题。

未来发展方向

技术的基础是(1)显式地对过于复杂的模型进行惩罚,或者(2)通过对一组不用于训练的数据进行评估来测试模型的泛化能力,这是假定模型将会遇到的典型的不可见数据。

以后也结合多种模型来减少过拟合,如Bagging(分段函数的概念); Boosting; Dropout等。用不同的模型拟合不同部分的训练集。

Contributor: Ruiying Cai

相关人物
杰弗里·辛顿
杰弗里·辛顿
杰弗里·埃弗里斯特·辛顿 FRS(英语:Geoffrey Everest Hinton)(1947年12月6日-)是一位英国出生的加拿大计算机学家和心理学家,以其在类神经网络方面的贡献闻名。辛顿是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者。
简介
相关人物