如果数据集的特征比样本点还多( X N × d , d > N X_{N\times d},d> N XN×d,d>N)怎么办?是否还可以使用线性回归来做预测?答案是否定的,因为在计算 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1 的时候会出错。
为了解决这个问题,统计学家引入了岭回归(ridge regression)的概念。简单说来,岭回归就是在矩阵 X T X X^TX XTX 上加一个 λ I \lambda I λI 使得矩阵非奇异,进而能对 X X + λ I X^X+\lambda I XX+λI 求逆。在这种情况下,回归系数的计算公式变为:
w = ( X T X + λ I ) − 1 X T y w=(X^TX+\lambda I)^{-1}X^Ty w=(XTX+λI)−1XTy
岭回归最先用来处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计。这里通过引入 $\lambda $ 限制了所有 w w w 之和,通过引入该惩罚项,能够减少不重要的参数。这个技术在统计学上也叫作缩减(shrinkage)。
不难证明,在增加如下约束时,普通的最小二乘法回归会得到与岭回归一样的公式:
∥
w
∥
2
=
∑
i
=
1
d
w
i
2
≤
λ
\|w\|^2=\sum_{i=1}^dw_i^2\leq \lambda
∥w∥2=i=1∑dwi2≤λ
上式限定了所有回归系数的平方和(二范数的平方)不能大于 λ \lambda λ,使用普通的最小二乘法回归(线性回归)在当两个或更多的特征相关时,可能会得出一个很大的正系数和一个很大的负系数(回归系数)。正是因为上述限制的存在,使用岭回归可以避免这个问题。
与岭回归类似,另一个缩减(Shrinkage)LASSO 也对回归系数做了限定,对应的约束条件如下:
∥
w
∥
1
=
∑
i
=
1
d
∣
w
i
∣
≤
λ
\|w\|_1=\sum_{i=1}^d|w_i|\leq \lambda
∥w∥1=i=1∑d∣wi∣≤λ
唯一的不同点在于,这个约束条件使用绝对值取代了平方和。虽然约束形式只是稍作变化,结果却大相径庭:当 $\lambda $ 足够小的时候,一些系数会因此缩减到 0.
1. 正则化的眼光
- 过度拟合与参数正则:
- 大的系数可以将输入 X 的微小变动放大,进一步通过多个正负项的叠加尽量把每一个点都拟合上(包括那些离群点)
- 换句话说,如果系数大得离谱,且有正有负,多半是因为过拟合了;
- 对系数进行约束,也即对模型进行正则,便可以有效地解决过拟合问题;
- Ridge Regression ⇒ ℓ 2 \ell_2 ℓ2 正则,会约束最终的参数值很小,在0的左右摆动,但不会为0
- Lasso Regression ⇒ ℓ 1 \ell_1 ℓ1 正则,会使得很多参数值为 0,参数稀疏化,实现参数选择;