基于Cross Validation方法的岭回归参数计算
- 一、Ridge regression
- 二、Cross validation
- 2.1 交叉验证方法介绍
- 2.2 基于LOOCV的岭参数 λ \lambda λ求解
- 三、Generalized cross validation
在利用岭回归(ridge regression)求解回归模型(egression model)时,岭参数的确定可以采用交叉验证(cross validation)方法来确定。很多文献提到交叉验证法求岭参数的目标函数的矩阵表达形式(如下),但未具体描述如何推导这样的表达,本文主要详细论述该过程,以供参考!
我们先不加说明地描述通过cross validation 求解岭回归参数的最终目标函数的形式:
一、Ridge regression
考虑标准回归模型:
其中,为已知的设计矩阵(design matrix),为响应向量(response vector) , 为 随机白噪声,满足,未知.
最小二乘估计的目标函数为如下形式:
上式关于向量求导,并令导数等于,可以求解得到:
当为半正定矩阵时,上式中逆无法获得。针对这个问题,引入了岭回归的方法.
岭回归在最小二乘估计的基础上加入了一个扰动项(或惩罚项, ). 一方面保证可以求矩阵逆,另一方面控制最优解不会过大. 具体目标函数如下形式:
同样对上式关于求导,并令导数等于0,可以求解得到:
说明:
- 惩罚项的加入,使得满秩,保证可逆;
- 单位矩阵对角线全为, 像一条山岭一样,这也是岭回归的由来;
- 岭回归方法由于惩罚项的加入使得回归系数的估计不是无偏的,因此岭回归方法是一种以降低精度为代价解决病态 (ill-condition) 矩阵问题或者非适定(ill-posed)问题的回归方法.
二、Cross validation
首先引入两个概念:
- 模型方差:回归系数的方差;
- 模型偏差:的预测值与真实值的偏差;
观察(5)式中回归系数的估计值与岭参数的取值相关. 当增大时,就越大,就越小,此时模型的方差就越小;而越大,的估计值就越偏离真实值,因此模型的偏差就越大.
因此,岭回归方法的关键是找到一个合理的值来平衡模型的方差和偏差。而针对的估计有大量的文献对其进行了研究,具体可以参考[1]中提到的参考文献。
2.1 交叉验证方法介绍
本文主要介绍交叉验证法。[Wiki]中针对交叉验证方法的介绍包括两大类:
- Exhaustive cross-validation
- Leave-p-out cross-validation (LPOCV)
- Leave-one-out cross-validation (LOOCV) 又称留一交叉验证
- Non-exhaustive cross-validation
- k-fold cross-validation 又称-折交叉验证
- Holdout method
- Repeated random sub-sampling validation
本文使用的方法是留一交叉验证法(LOOCV),其大体思想:将数据集拆分为组数据,从组数据中挑选出组用于模型的训练,剩下一组用于模型的测试。这样一共有个(训练集,测试集)对,而每一对训练集和测试集下都会有对应的模型及模型评分(如均方误差),进而可以得到一个平均得分。对于的取值,选择平均得分最优的的值。
2.2 基于LOOCV的岭参数求解
David M. Allen在文献[2]中提出求解的Prediction Sum of Squares (PRESS)判据。该判据利用就是LOOCV的思想,具体地讲,就是对于个观测值来说,第个观测值可以用余下的个观测值来预测。
文献[1]中有这样的论述:If is a good choice, then the -th component of should be a good predictor of . 这里 表示利用除了第个观测值外的个观测值得到的的预测值。
因此最小化如下函数即可得到理想的:
(注:需要注意的是,变量随着的变化而变化,换句话说每次取得是不同向量的不同分量.或者说.)
其中,表示忽略第次观测值(也即,将和的第行元素全部置为1)时利用(5)式计算得到的的估计值. 可以用如下形式表达[2] 2:
其中,表示矩阵的第列, 也可以用来表示.
下面我们证明(6)式可以表述为文章开头(*)中的表达形式。
在正式开始证明之前,先补充一个著名的矩阵逆公式(Sherman-Woodbury-Morrison公式) .
(Sherman-Woodbury-Morrison公式) 已知非奇异,, 有下式成立:
令 以及 ,考虑如下向量:
考虑上述向量的第个分量,也即在上述向量左侧乘, 可得:
因此,
所以结合(6)式有如下表达式 (类似于文献[3]中3.1.1节中的表达形式):
其中, 表示分量除(component-wise division).
或者,等价地写为如下表达形式(类似于文献[1]中公式(2.2)的结果):
其中,
三、Generalized cross validation
Cross validation在大多数情况是适用的. 但是,一些极端情况是不适用的,如当矩阵为对角矩阵时,此时(6)式中为, 也即此时(6)式变为:
此时,不存在唯一最小值. 因此,我们可以简单总结为:Cross validation 对于近似对角阵时不适用.
Golub等人在[1]中提出了Generalized cross validation方法. 以下只简单介绍相关思想,具体可参考文献[1]中的介绍.
假设矩阵的SVD分解为:
假设为可以将循环矩阵变化为对角矩阵的酉矩阵,其中矩阵的项为:
对模型做如下变化:
其中.
将和代入(10)式,并记为如下形式:
其中表示的共轭转置. 为循环矩阵且对角元常数,并且和具有相同的特征值.
则变为,具体表达如下:
参考文献:
[1] Gene H. Golub, Michael Heath, Grace Wahba. Generalized cross-validation as a method for choosing a good ridge parameter. Technometrics, 21:2, 215-223, 1979.
[2] David M. Allen. The relationship between variable selection and data agumentation and a method for prediction. Technomerics, 16, 125-127, 1974.
[3] Bryan J. Kaperick. Diagonal Estimation with probing methods. 2019 [D]
- 文献[1]中错误描述为只忽略(with the th data point , omitted). ↩︎
- 文献[2]在第二节Choosing a predictor中描述PRESS时,的表达式左侧少乘了矩阵. ↩︎