1.过拟合现象
图一中,使用一条直线进行数据的拟合,但是这个模型并没有很好的拟合数据,产生很大的偏差。这种现象称为欠拟合。
图二中,使用一个二次函数进行拟合,得到很好的拟合结果。
图三中,使用更高阶的多项式进行拟合,这个模型通过了所有的训练数据,使代价函数 约等于0甚至等于0。但是这是一条极度不规律扭曲的曲线,它并不是一个好的模型。
过拟合现象:如果我们使用高阶多项式,变量(特征)过多,那么这个函数能够很好的拟合训练集,但是却会无法泛化到新的数据样本中(泛化:一个假设模型能够应用到新样本的能力)。
当存在较多的变量,较少的训练数据,使得没有足够的训练集来约束这个变量过多(维度)的模型,就会导致过拟合的现象。
1. 解决过拟合问题:
1)减少变量的个数:舍弃一些变量,保留更为重要的变量。但是,如果每个特征变量都对预测产生影响。当舍弃一部分变量时,也就舍弃了一些信息。所以,希望保留所有的变量。
2)正则化:保留所有的变量,将一些不重要的特征的权值置为0或权值变小使得特征的参数矩阵变得稀疏,使每一个变量都对预测产生一点影响。
加入正则项后,估计参数长度变短了,这在数学上被称为特征缩减(shrinkage)
shrinkage方法介绍:指训练求解参数过程中考虑到系数的大小,通过设置惩罚系数,使得影响较小的特征的系数衰减到0,只保留重要特征的从而减少模型复杂度进而达到规避过拟合的目的。常用的shinkage的方法有Lasso(L1正则化)和岭回归(L2正则化)等。
采用shrinkage方法的主要目的包括两个:一方面因为模型可能考虑到很多没必要的特征,这些特征对于模型来说就是噪声,shrinkage可以通过消除噪声从而减少模型复杂度;另一方面模型特征存在多重共线性(变量之间相互关联)的话可能导致模型多解,而多解模型的一个解往往不能反映模型的真实情况,shrinkage可以消除关联的特征提高模型稳定性。