特征缩减技术(shrinkage): lasso和岭回归

1、概述

通过对损失函数(即优化目标)加入惩罚项,使得训练求解参数过程中会考虑到系数的大小,通过设置缩减系数(惩罚系数),会使得影响较小的特征的系数衰减到0,只保留重要的特征。常用的缩减系数方法有lasso(L1正则化),岭回归(L2正则化)。
关于L1,L2正则化讲解:http://blog.csdn.net/wsj998689aa/article/details/39547771
http://blog.csdn.net/jinping_shi/article/details/52433975

2、正则化的目的

(1) 消除噪声特征
如果模型考虑了一些不必要的特征,那么这些特征就算是噪声。噪声是没必要的,使得模型复杂,降低模型准确性,需要剔除。
(2) 消除关联的特征
如果模型的特征空间中存在关联的特征,这会使得模型不适定,即模型参数会有多解。训练得到的只是其中一个解,这个解往往不能反映模型的真实情况,会误导模型的分析与理解。训练求解的模型参数受样本影响特别大,样本变化一点点,参数解就跳到另一组解去了。总之,模型是不稳定的。

3、正则化模型

正则化就是把额外的约束或者惩罚项加到已有模型(损失函数)上,以防止过拟合并提高泛化能力。损失函数由原来的E(X,Y)变为E(X,Y)+lamda||β||,w是模型系数组成的向量(有些地方也叫参数parameter,coefficients),||·||一般是L1或者L2范数,lamda是一个可调的参数,控制着正则化的强度。当用在线性模型上时,L1正则化和L2正则化也称为Lasso和Ridge。

(1) Lasso (L1正则化)

L1正则化将系数w的L1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此L1正则化往往会使学到的模型很稀疏(系数β经常为0),这个特性使得L1正则化成为一种很好的特征选择方法。

如果继续增加lamda的值,得到的模型就会越来越稀疏,即越来越多的特征系数β会变成0。

Lasso(Regression Shrinkage and Selection via the Lasso,Tibshirani(1996))方法是一种压缩估计。它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。
  Lasso 的基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0 的回归系数,得到可以解释的模型。R的Lars 算法的软件包提供了Lasso编程,我们根据模型改进的需要,可以给出Lasso算法,并利用AIC准则和BIC准则给统计模型的变量做一个截断,进而达到降维的目的。因此,我们通过研究Lasso可以将其更好的应用到变量选择中去。
  
这里写图片描述

这里写图片描述

然而,L1正则化像非正则化线性模型一样也是不稳定的,如果特征集合中具有相关联的特征,当数据发生细微变化时也有可能导致很大的模型差异(回归系数变化较大)。

(2) 岭回归(L2正则化)

L2正则化将系数向量的L2范数添加到了损失函数中。由于L2惩罚项中系数是二次方的,这使得L2和L1有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。还是以Y=X1+X2为例,假设X1和X2具有很强的关联,如果用L1正则化,不论学到的模型是Y=X1+X2还是Y=2X1,惩罚都是一样的,都是2lamda。但是对于L2来说,第一个模型的惩罚项是2lamda,但第二个模型的是4*lamda。可以看出,系数之和为常数时,各系数相等时惩罚是最小的,所以才有了L2会让各个系数趋于相同的特点。

可以看出,L2正则化对于特征选择来说一种稳定的模型,不像L1正则化那样,系数会因为细微的数据变化而波动。所以L2正则化和L1正则化提供的价值是不同的,L2正则化对于特征理解来说更加有用:表示能力强的特征对应的系数是非零。

也就是说,在不同的数据上L1正则化得到的模型(系数)相差较大,但对于L2正则化模型来说,结果中的系数非常的稳定,差别较小,都比较接近某一个常数,能够反映出数据的内在结构。

与lasso相比,这里的惩罚项加上了平方:

这里写图片描述

这里写图片描述

http://dataunion.org/14072.html
https://onlinecourses.science.psu.edu/stat857/node/155
scikit-learn: http://scikit-learn.org/stable/modules/linear_model.html#lars-lasso

你可能感兴趣的:(数据挖掘与机器学习)