1 过拟合问题
-
什么是过拟合?
一种扭曲的曲线,不停上下波动;
另一种说法,算法具有高方差,然后模型太过庞大,变量太多
千方百计的拟合训练集,导致无法泛化到新的样本中。
泛化: 一个假设模型应用到新样本的能力 -
什么是欠拟合?
算法没有很好地拟合训练集;
另一种说法,算法具有高偏差,就好像算法有一个很强的偏见。 -
处于两者中间:刚好合适
从左到右依次是 欠拟合 刚好 过拟合 .png
-
过拟合产生原因
有过多的变量(特征变量),而只有非常少的训练数据
2 解决过拟合的方法
- 减少选取变量的数量
1)人工检查变量清单,决定哪些更为重要,哪些应该保留,哪些应该舍弃
2)模型选择算法,自动选择变量
其中的缺点是舍弃了一部分变量,就相当于丢弃了关于问题的一些信息 -
正则化
我们将保留所有的特征变量,但是减少量级或者参数\theta_j - Dropout
- early stopping
- 扩增数据集 Data augmentation
- 去除异常值
3 为什么正则化能够减少过拟合
解释1:正则化的导向是网络的复杂度更低,从而表示对数据的拟合刚刚好;同时,过拟合的时候,拟合函数的系数往往非常大,如同第1节的三张图中的右图所示。
解释2:过拟合就是拟合函数需要顾忌到每一个训练样本点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。这个解释是基于过拟合的图像而反推如何不要造成这种情况进行说明的。
网友评论