线性回归正则化 regularized linear regression

线性回归正则化regularized linear regression


在前几篇博客中介绍了一元线性回归http://blog.csdn.net/u012328159/article/details/50994095和多元线性回归http://blog.csdn.net/u012328159/article/details/51029695等线性回归的知识,具体请参见本人其他博客。但是线性回归存在一个很重要的问题就是过拟合(overfitting)问题,所谓过拟合简单直白的说就是模型的训练误差极小,而检验误差很大。一个好的学习器不仅能够很好的拟合训练数据,而且能够对未知样本有很强的泛化能力,即低泛化误差。先来看看线性回归中的过拟合现象(自己不想画图了,直接盗用Andrew Ng大神的图吧):

图中左边的图表示的线性回归模型存在欠拟合现象(underfitting),欠拟合顾名思义就是对训练数据的拟合程度不够好,训练误差大。中间的线性回归模型是个拟合程度很好的模型。右边图表示的就是过拟合现象,能够看出它对训练数据拟合的非常好,但是预测能力很差,泛化能力很差。

因此,处理过拟合问题常用的方法有:
  • 减少特征数量  主要方法有:人工的挑选重要的特征,去除不重要的特征。采用模型选择算法(在后面的博客中会介绍,在这不细说了)  但是这个方法在去除特征的同时,也去除了这部分特征所提供的信息。
  • 正则化(regularization) 保留所有特征,但是减少参数的值。
线性回归正则化通过缩小参数的值,可以使多项式模型更加简单,直接举个例子吧(图片来源:ng machine learning课)



上图左边的线性回归模型显然是过拟合的,但是如果在代价函数后面添加两项和 如果想让最小,那么的值几乎要接近0,因此,右边的多项式几乎等价于左边的,又能够得到一个正确的线性回归模型。
因此,正则化线性回归(regularized linear regression)的代价函数(cost function)为:


其中成为正则项,为正则系数。如果设置的非常大,会使 将会产生欠拟合问题。因此应该选择合适的正则系数。
我们的目标是即求得使最小的参数。因此对正则化线性回归使用梯度下降(gradient descent),为:


之所以把单独写出来,是因为我们正则化的时候,不对进行惩罚。因为 始终为正,因此 一般来说其值比1小一点点。

对于线性回归来说,除了通过梯度下降来求解参数,还可以通过正规方程(normal equation)用矩阵运算来直接求解参数。那么正则化线性回归的正规方程为:



其中,上式中的对角矩阵维度是(n+1)*(n+1)。在以前的博客讲正规方程的时候也讲过当时,不存在,但是在正则化线性回归中,若果,
 是存在的。

你可能感兴趣的:(r,梯度下降,Linear,代价函数,正规方程,Regularized,线性回归正则化)