过拟合和欠拟合
欠拟合:(under-fitting)也称为欠学习,它的直观表现是算法训练得到的模型在训练集上表现差,没有学到数据的规律。引起欠拟合的原因有:模型本身过于简单,例如数据本身是非线性的但使用了线性模型;特征数太少无法正确的建立统计关系。
过拟合:(over-fitting)随着训练过程的进行,模型复杂度,在training data上的error渐渐减小。可是在验证集上的error却反而渐渐增大——由于训练出来的网络过拟合了训练集,对训练集以外的数据却不work。过拟合即在训练误差很小,而泛化误差很大,因为模型可能过于的复杂,使其”记住”了训练样本,然而其泛化误差却很高。
解决过拟合的方法:
1. 加入正则化项,参数范数惩罚,可在优化原来目标函数的同时,避免权值过大带来的过拟合风险
最常用的范数惩罚为L1,L2正则化,L1又被成为Lasso,
Lasso回归的损失函数:
Ridge回归损失函数:
L1正则可以产生稀疏模型(L1是怎么让系数等于零的)。
假设有如下带L1正则化的损失函数:
其中J0是原始的损失函数,加号后面的一项是L1正则化项,α是正则化系数。注意到L1正则化是