机器学习笔记(4)-正则化
机器学习中的正则化通常是用来解决过拟合问题的。这一节我们来推导并解释一下正则化为什么可以解决这个问题。首先我们现来看一下上一节关于最小二乘法的解析式:
我们知道一个矩阵乘以它的转置是一个半正定矩阵,当(|X^TX|=0)时,矩阵不可逆,就没有办法得到它的解析解。而出现这个情况是因为矩阵的秩小于矩阵的阶数,代入到现实例子中,就是我的数据样本少于我的数据的维度,当这种情况出现时,也就容易出现过拟合现象。
那根据这个原理,我们的解决方法也很明显:
- 增加数据样本
- 降低数据的特征:特征提取/特征选择
- 正则化
一般在业务中,数据非常珍贵,不是想增加就能增加的。而降低数据的特征,也就是降低数据的维度,去掉不重要的特征,或者把特征映射到另一空间,提取更有效的特征(如PCA等),这一节我们主要介绍下正则化中的L2正则化。
正则化模型
正则化模型中,我们一般是在损失函数中增加一个和模型参数相关的惩罚项,如下:
其中(L(W))代表损失函数,(P(W))代表关于参数的惩罚项,(lambda>0)是超参数,控制惩罚项的惩罚力度。
从直观上也可以这么解释,比如在梯度下降的学习过程中,每个参数都根据不同的不同的梯度学习,学习的速率各不相同,非常有可能出现某些参数在训练过程中导致权重很大,这就会使得虽然模型中有很多参数,但是真正影响模型预测结果的参数只有权重高的那几个。根据模型定义我们需要对右边的损失函数取最小值,在学习过程中也会限制参数取到较大的值,如果(lambda)越大,很明显惩罚力度也就越高。
而当我们采用解析解去求时,引入正则项可以使(X^TX)由半正定矩阵变为正定矩阵,从而可逆。
一般讲到正则化时,会有L1和L2范式两种,L1又被称为Lasso,L2被称为Ridge,中文叫做岭回归。
- L1(Lasso):(P(W)=left | W ight |_{1})
- L2(Ridge 岭回归):(P(W)=left | W ight |_{2}^2=W^TW)
从频率派观察
我们结合上一节最小二乘法估计的结果,得到损失函数如下:
接下来我们求偏导得到:
可以看到当我们加入L2正则化后,原来的解析式中变为(X^TX+lambda I),而一个半正定矩阵加上一个单位矩阵乘以大于0的系数,成为了一个正定矩阵,必然可逆。
从贝叶斯派观察
为了计算方便,我们假设有个噪声是服从正太分布的,即(epsilon sim N(0,sigma^2)),这样在每一个样本上我们加上这个噪声,则可以得到:
- 假设存在噪声服从正态分布:(epsilon sim N(0,sigma^2))
- 每个数据点添加噪声:(Y=W^TX+epsilon)
- 于是得到Y的分布:(y_{i}sim N(W^TX,sigma^2))
- 进一步得到:(P(Y|X;W)=frac{1}{sqrt{2pi }sigma}exp(-frac{(y_{i}-W^TX)^2}{2sigma^2}))
- 假设先验概率(P(W))服从正太分布:(w_{i}sim N(0,sigma_{0}^2))
- 进一步得到:(P(W)=frac{1}{sqrt{2pi }sigma_{0}}exp(-frac{left | W ight |^2}{2sigma_{0}^2}))
- 后验概率公式:(P(W|Y)=frac{P(Y|W)P(W)}{P(Y)})
于是我们根据最大后验概率估计得到:
到这里我们发现:左半部分就是最小二乘法的损失函数,右半部分当(lambda=frac{sigma^2}{sigma_{0}^2})时,和之前的推到结果完全一致。
也就是说正则化的最小二乘法(LSE)等价于噪声(epsilon sim N(0,sigma^2)),并且先验概率分布(w_{i}sim N(0,sigma_{0}^2))的MAP。