过拟合:
训练样本表现效果好,对新样本(验证集&测试集)的预测能力差(泛化性能低)
原因:
1.数据中存在噪声数据
解释:模型训练时将噪声数据与正常数据同时拟合,得到一个模型,此模型噪声数据与正常数据共同决定,后用此模型去预测正 常数据时,效果会比较差(泛化能力差)
2.训练模型过于复杂(相对于数据量与噪声数据):
解释:在有噪声数据的训练集中,模型训练过度会让模型学习到噪声数据的特征,在真实数据的测试集上表现不佳
3.训练数据不足:
解释:由于数据有限,无法体现数据的整体分布。用这种有限的数据集训练的模型去预测未知数据集上的数据,出现过拟合的情况 比较大。
解决方法:
1.减少训练数据的噪声(eg:去异常值)
2.简化模型,减少训练数据的特征数量,选择一个参数少的模型,限制模型(正则化(L1,L2正则)
3.增加数据集
4.深度学习中神经网络还有一个DropOut
欠拟合:
未很好获取训练集的数据特征,不能很好的拟合数据(在训练集上表现的贼差,就不用说测试集了)
原因:
特征项不够,导致模型出现欠拟合
解决方法:
1.添加其他特征项。选择一个更强大的模型,带有更多的参数
2.添加多项式特征(多项式扩展--机器学习中较常见)
3.减少正则化参数(减小正则化超参数)--注意:正则化时为了防止过拟合,但是模型出现欠拟合时,则需要减少正则化超参数