正则化(Regularization)
正则化是处理模型过拟合的一种方式。为了获得更好的$J_{test}(\theta)$,提升模型的泛化能力,减小某些项在模型中的影响力,我们可以对模型进行正则化处理,避免过拟合的产生。
设模型的代价函数$J(\theta)$为:
其中 $L(\theta)$ 为模型预测与训练集的差距,多数时候为均方误差;而后面多出的 $\Omega(\theta)$ 项被称作惩罚项,$\lambda$ 为正则化参数(Regularization Parameter)。惩罚项的存在可以减小预测模型中某些项的系数值。
然而从贝叶斯角度来看,线性回归$y = \theta^Tx+\varepsilon$的噪声项 $\varepsilon$ 服从高斯分布 $\mathcal N(\mu,\sigma^2)$。
针对惩罚项的不同,正则化分为 $L^1$ 与 $L^2$ 两种,先介绍一下向量的 $p$ 范数:
惩罚项为系数的 $\theta$ 的 1-范式 时被称为 $\text{Lasso}$ 回归;惩罚项为系数的 $\theta$ 的 2-范式 时被称为 $\text{Ridge}$ 回归,也被称作岭回归;
Lasso 回归
惩罚项为 $L^1$ 的回归方程被称作 $\text{Lasso}$ 回归,$\text{Lasso}$ 的全称为 Least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法。
对于线性回归,$\text{Lasso}$ 回归长成下面这个样子:
而从贝叶斯角度来看, $\text{Lasso}$ 回归中,参数 $\theta$ 的先验$f(\theta)$服从拉普拉斯分布 $La(\mu,b)$。
拉普拉斯分布
拉普拉斯分布(The Laplace Distribution)是一种连续概率分布。如果随机变量概率密度函数为:
那么记随机变量 $X$ 服从拉普拉斯变量,记为:
其中 $E(x)=\mu$;$Var(x)=2b^2$。
Lasso 的最大后验估计
下面来以贝叶斯的视角解释一下线性回归的噪声项 $\varepsilon$ 服从拉普拉斯分布的意思。
根据最大后验估计,可知:
有$\varepsilon\sim \mathcal N(\mu,\sigma^2)$,则$f(y~|~\theta)\sim \mathcal N(\theta^Tx,\sigma^2)$。令先验 $\theta\sim La(0,b_0)$,那么则有:
这个结果于 $L^1$ 正则化没什么两样啦!
Lasso 与特征选择
$\text{Lasso}$ 回归其中的一个作用就是特征选择,通过 $L_1$ 正则化后可以产生一个稀疏模型(有很多 $0$),可以排除掉那些无用的特征,减少计算量。
将 $\text{Lasso}$ 回归中的正则化系数 $\lambda$ 看作拉格朗日乘子,可以得到以下的的规划问题:
以二维数据为例,俯视图如下:
一圈一圈的是 $L(\theta)$ 的等高线图,因为有约束的原因,$L(\theta)$ 并不能取道全局最优点 $\theta^*$,解只能在方形边上活动。因为约束带有棱角,那么取到点 $\theta(0,t)$ 的可能是很大的,因此在 $L_1$ 正则化的时候就可能取到更多的 $0$。$\lambda$ 与 $t$ 是成反比关系的,$t$ 越小,正则化程度就越高, $\lambda$ 就越大。所以可将 $\text{Lasso}$ 回归用于特征选择。
Ridge 回归
惩罚项为 $L^2$ 的回归方程被称作 $\text{Ridge}$ 回归,又称为岭回归。
对于线性回归,它长成下面这个样子:
从贝叶斯角度来说,岭回归中,参数 $\theta$ 的先验 $f(\theta)$ 服从高斯分布 $\mathcal N(\mu,\sigma^2)$。
同样的,将岭回归中的正则化系数 $\lambda$ 看作拉格朗日乘子,可以得到以下的的规划问题:
与 $\text{Lasso}$ 回归相比,岭回归更不倾向于选择某些参数为 $0$ 的点,而倾向于保留所有的项数,从下图可以看出,在正则化参数相同的情况下,岭回归得到的最优解往往优于 $\text{Lasso}$ 回归。
弹性网络(Elastic Net)回归
弹性网络是一种使用 $L^1$ 与 $L^2$ 范数作为正则项训练的线性回归模型,这种组合允许学习到一个相对稀疏的模型,就像 $\text{Lasso}$ 一样,但是它仍能保持岭回归的稳定。
弹性网络回归长成下面这个样子: