脊回归(ridge regression)

之前对脊回归没有认真的去学习和思考,现在突然要用到这方面的知识,感觉很惭愧。现学现卖吧。


多重共线性

在介绍脊回归之前时,先了解一下多重共线性。

在线性回归模型当中,我们假设每个样本中每个变量之间是相互独立的(参考之前的一篇博客:线性回归与梯度下降(linear regression and gradient descent))。

就是说下面的公式中,

x1,x2,.....,xn中的某几个变量之间存在相关性,或者用矩阵的形式表示的话,矩阵中的某一列可以用其他的列,或其他的某几个列来表示,那么就认为存在共线性。

脊回归(ridge regression)_第1张图片


脊回归

在线性回归问题求解过程中,如果存在共线性,那么求解的参数结果其方差和标准差变大,进而导致用此参数进行预测时,预测结果产生很大的偏离。

那么如何克服这个问题呢?

一般,解决多重共线性可以采用如下的一些方法:

1、排除引起共线性的变量(逐步回归法)

2、差分法

3、减小参数估计量的方差(例如增加样本容量);

4、变量变换(例如可以把相关的两个变量合并到一起);

5、利用先验信息做约束(例如增加惩罚项)。


在线性回归问题中,如果在回归模型后面增加L2范数的惩罚项,则为脊回归,如果增加L1范数的惩罚项,则为套索回归。

本文只写脊回归,其模型为(最小二乘法):


这里增加的是对求解参数的惩罚项约束,很显然,当a取很大的值时,惩罚项的作用就很明显了,因为,惩罚项必须足够小,那么就达到目的了。


对于其求解,可以对公式变形,得到:


对其进行最小化优化,对theta求导,得到:


由于

是标量,转置之后仍然是相同的。

那么结果为:








你可能感兴趣的:(machine,learning,机器学习)