过拟合问题(Overfitting)
当我们对一个问题建立线性回归模型或逻辑回归模型时,不恰当的选择特征会导致过拟合问题。过拟合问题是指当我们选择了很多的特征值时,模型对数据集的每一个example都符合的很好,但是对新的example却预测不能,偏差较大。
解决方法
方法一:减少特征量的数量
方法二:正则化
本片博客暂不讨论方法一,着重于正则化的分析。
正则化(Regularization)
正则化的思想是保留所有特征量,而通过减小的值解决过拟合,这样我们就可以在不舍弃任何一个有价值的量的前提下解决过拟合问题。
线性回归正则化
线性回归正则化的具体操作方法是在代价函数后添加一项,其中是正则化系数,这样
代价函数变为:
梯度下降算法变为:
repeat until convergence{
}
正规方程法变为:
,其中E是(n+1)*(n+1)的单位矩阵。注意此时不存在不可逆的问题。
逻辑回归正则化
代价函数变为:
梯度下降算法变为:
repeat until convergence{
}
代码实现
通过使用MATLAB和Python,实现了逻辑回归的正则化处理。代码已上传至github,文件夹是machine-learning-ex2。
若对本篇博客有任何问题,欢迎指正,欢迎讨论。