过拟合有两种原因:
- 训练集和测试集特征分布不一致(白天鹅黑天鹅)
- 或者模型太过复杂(记住了每道题)而样本量不足
解决过拟合也从这两方面下手,收集多样化的样本,简化模型,交叉检验。
cross validation,交叉比对(交叉验证)
来来回回用不同的测试对象和训练对象做交叉比对。这样学到规律就不会过拟合啦~
加Regularization,正则项
这个Regularization可以有不同的形式,Lasso是一种。所以可以通过引入Regularization增加信息,帮助寻找到最优解。
所谓overfitting就是在一些数学模型中由于过于复杂,有太多的观测参数,以至于一点点微小的误差都回产生巨大的影响,任何微小的数据扰动都会带来巨大的改变。
一般来说有两种克服Overfitting的方法:一是补偿模型的某些部分(如Regularization);二是根据潜在的问题提供额外的数据来训练。