正则化、岭回归与LASSO回归(套索回归)
首先补充一些铺垫知识
无偏估计
百度百科:无偏估计是用样本统计量来估计总体参数时的一种无偏推断。估计量的数学期望等于被估计参数的真实值,则称此估计量为被估计参数的无偏估计,即具有无偏性,是一种用于评价估计量优良性的准则。
简单来说,就是对总体样本进行多次采样,求出每次采样的样本均值,根据中心极限定理,这些多次取样的样本均值应该是服从正态分布的,求出这个分布的期望,这个期望等于总体样本的期望,那么这个估计就具有无偏性,就是一种无偏估计,这恰恰是构建回归算法(可以看这篇)的假设函数的基本思想。首先确定数据集中target的分布,然后求出这个分布的期望,这个期望这个数据集的无偏估计,因此令这个分布的期望作为假设函数,以估计真实的函数。
L2正则化
L2正则化就是在原来的损失函数的基础上加上权重的平方和:
接下来解释为什么要这样做,正则化的目的是约束权重不能过多或过大,这样会使模型变的复杂,从而有可能导致过拟合。因此我们就在末尾加上了一个只与权重有关的多项式,这样再优化损失函数时,要原来的损失函数和权重都最小,相当于在最小化损失函数的同时加了一个条件,在满足这个条件下,对损失函数进行优化。
为什么要加平方和,而不是绝对值的和或者说三次方、四次方、n次方和?
从图中可以看出来,假设权重W是二维的,那么L2正则项可以画出图中红色的圆,蓝色的圆是未加正则项的损失函数,假设中间的黑点Wlin是未加正则项时的最优点,而现在优化损失函数的时候只能在红色圆的边界上面或者红色圆的内部运动,在原内部运动显然是不可能取到最优点的,因此在边界上运动,运动方向是圆的切线方向,也就是法线的垂直方向,途中绿色是切线方向,红色是法线方向,蓝色是未加正则项的损失函数的梯度反方向。当蓝色线与红色线方向重合时,损失函数达到最优不再下降。此时:
这就是加了正则项后的损失函数求导的梯度了,所以他的原函数就是:
L1正则化
L1正则化的式子是这样的,原损失函数加上一个一阶范数:
这样根据上面L2正则化的推导思路就可以得到这样的一张图
L1正则化推导思路与L2类似。
L1,L2正则的区别与作用
L2正则化和L1正则化都可以减少过拟合,而L2正则化更多的作用是使参数大小更加均衡,防止出现某一个特征权重过大的情况,也就是说防止某个特征的权重过大、模型对某个特征过分敏感,这样即使数据集中有噪声,模型也不会对噪声特别敏感而发生过拟合。
L1正则化则可以使一些权重等于0,从而实现自动选择特征的效果,从而化简模型,防止模型过于复杂而过拟合。
为什么L1可以使部分权重等于0,而L2不可以呢?
看这两张图就可以理解了,L1正则化在优化的时候很容易取到角点,使一部分权重为0,从而实现自动选择特征,L2正则化中,正则项表示出来的图像是光滑的圆形,所以很难取到坐标轴上的点,很使部分特征权重为0。
岭回归
岭回归是一种改良版的最小二乘法,相当于给最小二乘法加上了一个L2正则项。这种方式会损失模型的精度和无偏性,但是对病态数据拟合比普通的线性回归要强。接下来我对这个结论做一些解释:
1. 为什么损失精度和无偏性?
根据前面我介绍的无偏估计的概念,普通的线性回归是一种无偏估计,也就是这种估计的期望值是十分近似于总体数据的真实期望值的,而在这种估计方法之上加一个正则项,势必会改变估计的期望值,因此这种估计就变成了有偏估计。正则化的作用是防止过拟合(可以看这篇),相当于对目标函数的优化加上了一个约束条件,因此这样的优化效果一定会小于等于不加正则项的优惠效果,因此会损失精度。
2. 为什么对病态数据的拟合比普通的线性回归要强?
我对病态数据的理解就是,噪声过大、数据分布左偏或有偏、有较多离群值等等,这样的数据用普通的线性回归学习在学习样本的特征时也会过多的学习数据的噪声特征和离群特征,这样会导致模型过拟合,使模型的泛化能力(就是模型推广到不同数据集的表现)变差,因此可以加一些“约束”,也就是正则项,主动放弃一些模型在训练集上的精度,而使模型的泛化能力提升。
普通线性回归的目标函数(看这里)是:
岭回归的目标函数是:
另外从最小二乘的角度来看,通过引入二范正则项,使得 满秩,强制矩阵可逆。
单位矩阵I的主对角线为1,像山岭一样,这就是岭回归的由来。
LASSO回归
Lasso回归和岭回归十分相似,不过是采用一范数来约束,就是加上了一个L1正则项。
Lasso回归的目标函数是:
求导之后是MSE加上一个符号函数。
总结:岭回归很难剔除变量,而LASSO回归模型,将惩罚项由L2范数变为L1范数,可以将一些不重要的回归系数缩减为0,达到剔除变量的目的。
注:如有错误请指出。