泛统计理论初探——过拟合与欠拟合探讨

数据挖掘-过拟合与欠拟合的简介

过拟合与欠拟合简介
在我们数据挖掘的学习中,经常会出现过拟合和欠拟合的情况。比如使用BP神经网络进行预测的时候,可能会造成数据的过拟合;使用简单的一元线性回归的进行预测的时候,可能会造成数据的欠拟合。本文来介绍过拟合和欠拟合的概念以及改进方法。
首先要明确过拟合和欠拟合的概念,欠拟合指的是模型在当前的训练数据上预测的效果和真实的结果差距较大,还有较大的提升空间;过拟合则指的是模型在当前的训练数据上预测的效果太好了,基本和真实结果完全吻合,预测的准确率非常高,接近100%的准确率,而在测试集数据里的预测的效果却较差,和训练集的预测准确率相差非常大。下面第一张图其实就是欠拟合,用一条直线去拟合二次曲线分布的数据;第二张图代表的是过拟合,用高次多项式去拟合二次曲线分布的数据,正确的做法是用二次多项式去拟合这种类型的数据。
在这里插入图片描述
在这里插入图片描述
本文在一开始提到的两种极端情况,第一种是一元线性回归模型,使用这种模型去预测的时候,通常会导致欠拟合的情况,即由于模型的变量只有1个,很难去拟合数据,所以导致预测的效果和真实结果差距很大,也就是欠拟合的情况。第二种是多层BP神经网络模型,使用这种模型去预测的时候,当使用者在一个简单的数据挖掘问题中使用了很深的BP神经网络的时候,会导致在当前训练数据集过度拟合,即准确率非常高,神经网络里的每个神经元几乎记住了每条数据,所以造成了过拟合的情况。
使用者如果遇到欠拟合的情况,一般可以通过增加变量、替换模型、综合多个模型。
(1)替换模型,这种方法是从模型整体去考虑的,因为当前的模型可能不适合这种类型的问题,所以可以替换模型进行尝试。
(2)增量变量,这种方法是从变量的角度去考虑的,即增加维度更好地表征数据,通过更多的变量代入模型,得到更好的模型预测效果。
(3)综合多个模型,这种方法其实是集成学习的一种思路的体现,即单个模型可能出现的误差通过更多的模型组合进行规避,比如只使用决策树进行预测发现欠拟合,那么可以尝试结合支持向量机、决策树、朴素贝叶斯等模型的预测结果,通过投票等形式进行模型的综合,从而提高整个综合模型的预测准确率。

而当使用者遇到了过拟合的情况,一般可以通过减小模型的复杂度、增加数据、使用正则项。
(1)减小模型的复杂度,这种方法是从模型的角度去考虑的,可能由于模型过于复杂或者变量过多导致的,比如删除一些高次项或是删除一些不重要的变量。
(2)增加数据,这种方法是从数据的数量去考虑的,有些问题可能本身数据不多,或者给训练集数据分到的数据不多,导致了模型在训练数据上过拟合,可以通过增加数据或提高训练集的比例来解决。
(3)使用正则项,这种方法是从各个参数的重要性角度去思考的,正则项通常有L1正则和L2正则,它们的区别是计算方法不同,L1正则项是参数绝对值之和、L2正则项是参数的平方和再开根号。通过在目标函数基础上加一个正则项,使得参数受到了惩罚,最终使得一些不重要的参数减小为0,最终降低了模型过拟合的情况,提升了泛化能力。
总的来说,初学者在学习数据挖掘或者机器学习的模型过程中,遇到了过拟合或者欠拟合的情况可以按上述方法进行尝试,不同情况的使用策略不同,所以要清楚对应的解决方法背后的原理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章