过拟合:
过拟合(over-fitting)是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳的现象。就像上图中右边的情况。
过拟合的模型太过具体从而缺少泛化能力,过度的拟合了训练集中的数据。出现的原因是模型将其中的不重要的变量(特征)或者完全没有用的变量(特征)也当作了需要训练的数据。当变量(特征)过多,而训练集较少的时候会出现过拟合的现象。
欠拟合:
欠拟合(underfitting)是模型在训练集和测试集表现都不好的现象,模型没有很好的拟合训练数据。如上图中左边的情况。
欠拟合比较容易看出来,可添加特征多项式解决,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。
过拟合的解决方案:正则化
以岭回归为例:
例如上图,一个二次函数就能很好的拟合数据。
通过在损失函数中,给高次项系数添加一个比较大的惩罚系数(1000只是举的例子),这样对损失函数求最小值的时候&