过拟合问题
当变量过少时,可能存在欠拟合;当变量过多时,会存在过拟合。过拟合可能对现有数据拟合效果较好,损失函数值几乎为零,但是不能进行泛化时,即不适于非训练集的其他数据。
如何解决过拟合问题
绘制假设模型图像,但当特征变量变多时,绘制很困难。当变量过多而训练数据较少时,容易出现过拟合。
解决过拟合问题,通常有两种方法:一种是减少特征的数量,可以通过人工选择特征,也可以通过模型选择算法进行处理。这种方法存在的问题就是,可能会损失某些信息,可能所有的特征对于数据来说或多或少都是有用的,但是删除某些特征就会造成信息的缺失。第二种方法就是正则化,它保留所有的数据但是降低参数的量级,使每一个变量都对预测有影响,但是每个特征的影响程度较小。
当参数过多时,会存在过拟合现象,假如我们在损失函数中加入一项作为惩罚,如加入,当参数过大时,会使得损失函数变大,而我们的目标是损失函数最小化,因此,会迫使参数值变小,当但数值值趋近于0时,近似于新加入的项趋近于0,相当于去掉这一项,此时,模型又近似于二次函数形式。解决了过拟合问题。
当参数很多时,无法确定那些参数对模型影响大,哪些影响较小。无法对参数进行选择约束。因此,我们就从整体上对参数进行约束,加入上图紫色的正则项,对除以外的所有参数进行约束。为正则参数。
当正则参数取值较大时,惩罚作用较大,会使得所有参数的取值近似于0,此时,会使得假设模型中参数项以外的项趋近于0,假设模型近似于一条直线,造成欠拟合。
线性回归的正则化——将梯度下降和正规方程用于正则化的线性回归
加入正则项以后,损失函数如上图所示,我们的目标依旧是找到最小化损失函数对应的参数值。通常有两种方法,梯度下降与正规方程。
在正则化损失函数中,梯度下降的原理与线性回归中一样,只是在迭代过程中将单独分列出来,因为在正则化过程中只对进行惩罚。在对进行梯度下降时,加入正则项。化简后的梯度下降迭代公式如上图最后一个公式所示,第一项中的()是一个略小于1的数,假设为0.99,第二项与原梯度下降公式相同,因此,在进行每次迭代时,都是将原参数乘以0.99,每次迭代将参数缩小一点。
加入正则项以后,在构建正规方程时,相当于在正规方程中加入了一个(n+1)*(n+1)的矩阵,首行首列元素均为零。
加入正则项以后,只要是成立的,则可以保证矩阵是非奇异矩阵,确保矩阵可逆。因此,正则化还可以解决奇异矩阵的问题。
logistic回归中的正则化问题
在logistics回归中由于特征变量增加,也会带来过拟合问题,在模型中加入正则项解决该问题。
在正则化的logistic回归模型中进行梯度下降的方式与线性回归中的方式相似,上图方括号中的式子为正则化后的损失函数。但是这里对的定义与线性回归中的不同,这里表示的是一个sigmoid函数。