脊
之前对脊回归没有认真的去学习和思考,现在突然要用到这方面的知识,感觉很惭愧。现学现卖吧。
多重共线性
在介绍脊回归之前时,先了解一下多重共线性。
在线性回归模型当中,我们假设每个样本中每个变量之间是相互独立的(参考之前的一篇博客:线性回归与梯度下降(linear regression and gradient descent))。
就是说下面的公式中,
x1,x2,.....,xn中的某几个变量之间存在相关性,或者用矩阵的形式表示的话,矩阵中的某一列可以用其他的列,或其他的某几个列来表示,那么就认为存在共线性。
脊回归
在线性回归问题求解过程中,如果存在共线性,那么求解的参数结果其方差和标准差变大,进而导致用此参数进行预测时,预测结果产生很大的偏离。
那么如何克服这个问题呢?
一般,解决多重共线性可以采用如下的一些方法:
1、排除引起共线性的变量(逐步回归法)
2、差分法
3、减小参数估计量的方差(例如增加样本容量);
4、变量变换(例如可以把相关的两个变量合并到一起);
5、利用先验信息做约束(例如增加惩罚项)。
在线性回归问题中,如果在回归模型后面增加L2范数的惩罚项,则为脊回归,如果增加L1范数的惩罚项,则为套索回归。
本文只写脊回归,其模型为(最小二乘法):
这里增加的是对求解参数的惩罚项约束,很显然,当a取很大的值时,惩罚项的作用就很明显了,因为,惩罚项必须足够小,那么就达到目的了。
对于其求解,可以对公式变形,得到:
对其进行最小化优化,对theta求导,得到:
由于
是标量,转置之后仍然是相同的。
那么结果为:
相关阅读
我们在工作的过程中,经常需要打印或复印文件,所以打印机是必不可少的。不过打印机经常会出现故障,导致无法打印。比如最近一位用户在