欠拟合与过拟合
什么是欠拟合?
模型学习能力不足,无法学习到数据集中的“一般规律”,导致泛化能力弱。
欠拟合解决办法:
1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照葫芦画瓢,总会得到意想不到的效果。除上面的特征之外,“上下文特征”、“平台特征”等等,都可以作为特征添加的首选项。
2)添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。例如上面的图片的例子。
3)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
4)增加模型复杂度。如果模型太简单,不能够应对复杂的任务。可以使用更复杂的模型,减小正则化系数。具体来说可以使用核函数,集成学习方法,深度学习等。集成学习方法boosting(如GBDT,xgboost,adaboost)能有效解决high bias
什么是过拟合?
学习器学习能力过强,捕捉到单个样本的特征并当成了“一般规律”,这种情况同样导致模型泛化能力弱。
过拟合解决办法:
解决方法:
-
合适的模型(simpler model structure)
-
正则化(regularization) L2正则化
-
数据增强(data augmention)
-
随机失活(Dropout) 或者weight decy
-
批规范化(batch normalization)
-
Bagging和其他集成模型 例如: 随机森林模型可以
7)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
8)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小