欠拟合的产生原因&&解决方法

259 阅读3分钟

什么是欠拟合?

通俗来讲就是:拟合得不够准确,在训练集中效果都不好,那么在测试集中效果肯定也不会好。
机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型。
对于训练好的模型,若在训练集表现差,在测试集表现同样会很差,这可能是欠拟合导致,就是还没有学习好,模型没有很好的捕捉到数据特征。
欠拟合是指模型拟合程度不高,实际数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

机器学习的基本问题是利用模型对数据进行拟合,学习的目的并非是对有限训练集进行正确预测,而是对未曾在训练集合出现的样本能够正确预测,及能够对新的数据进行准确预测。
模型对训练集数据的误差称为经验误差,对测试集数据的误差称为泛化误差。
模型对训练集以外样本的预测能力就称为模型的泛化能力,追求这种泛化能力始终是机器学习的目标。
欠拟合和过拟合是导致模型泛化能力不高的两种常见原因,都是模型学习能力与数据复杂度之间失配的结果。

欠拟合的产生原因?

“欠拟合”常常在模型学习能力较弱,而数据复杂度较高的情况出现
此时模型由于学习能力不足,无法学习到数据集中的“一般规律”,不能很好的捕捉数据特征
与之相反,“过拟合”常常在模型学习能力过强的情况中出现,此时的模型学习能力太强,以至于将训练集单个样本自身的特点都能捕捉到,并将其认为是“一般规律”,同样这种情况也会导致模型泛化能力下降。
过拟合与欠拟合的区别在于:
    欠拟合在训练集和测试集上的性能都较差,
    过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差,及泛化能力差。
在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差

解决方法?

常见解决方法有:
增加新特征(继续提取一些具有区分度的特征),可以考虑加入特征组合、高次特征,来增大假设空间;
添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强;
减少正则化参数,正则化的目的是用来防止过拟合的,但是模型出现了欠拟合,则需要减少正则化参数;
使用非线性模型,比如核SVM 、决策树、深度学习等模型;
调整模型的容量(capacity),通俗地,模型的容量是指其拟合各种函数的能力;
容量低的模型可能很难拟合训练集;使用集成学习方法,如Bagging ,将多个弱学习器Bagging。