定义
较为复杂的模型通常可以很完美的拟合训练集的每个数据,但往往过于强调拟合原始数据而丢失了算法的本质,当用此模型预测新数据时会表现的很差,也就是说当我们给定一个新值使之预测,就会出现过拟合。
出现的原因
1、建模样本选取了错误的选样方法、样本标签等,或样本数量太少,所选取的样本数据不足以代表预定的分类规则
2、样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则
3、假设的模型无法合理存在,或者说是无法达到假设成立的条件
4、参数太多导致模型复杂度过高
5、对于决策树模型,如果我们对于其生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据(event)或非事件数据(no event),使其虽然可以完美匹配(拟合)训练数据,但是无法适应其他数据集
6、对于神经网络模型:a)对样本数据可能存在分类决策面不唯一,随着学习的进行,,BP算法使权值可能收敛过于复杂的决策面;b)权值学习迭代次数足够多,拟合了训练数据中的噪声和训练样例中没有代表性的特征。
解决方案
1、尝试减少特征的数量
2、数据扩增,即增加训练数据样本
3、尝试增加或减少正则化的程度
4、在模型对训练数据集迭代收敛之前停止迭代来防止过拟合
5、集成学习算法也可以有效的减轻过拟合。Bagging通过平均多个模型的结果,来降低模型的方差。Boosting不仅能够减小偏差,还能减小方差
6、重新清洗数据。
注:以上部分内容来源于https://blog.csdn.net/a819825294/article/details/51239686