机器学习(四)变量选择技术----------岭回归,Lasso

机器学习(四)变量选择技术----------岭回归,Lasso

我们回顾一下之前线性回归模型里面的一元线性回归模型和多元线性回归模型,里面在谈论如何找到最佳系数时,使用的是最小二乘法,在这里我们先把多元线性回归的最小二乘解简化表达一下

这里可能会有疑问的是X的第一列代表是什么,为什么全是1,第一列代表截距项

多元线性回归的最小二乘解是无偏估计的,什么是无偏估计呢?简单来说就是通过很多次实验,其中可以通过加大样本数量得出的结果求均值可以无限接近真实值,后面我们讨论的岭回归和Lasso都是有偏估计

通过上面的最小二乘估计,我们会发现存在一些问题,其广义逆会存在奇异性(不稳定),下面是出现奇异性的两种情况

一般变量比样本多这种情况会比较少,出现多重共线性的情况会多一点

针对上面的问题,我们来介绍岭回归和Lasso

岭回归(Ridge Regression,RR)

其实岭回归在现实应用得很少,主要是Lasso用到了岭回归的知识

通俗来说就是引入一个惩罚函数,以至于不让系数太大,下面花红框的就是惩罚函数,(3.41)与(3.42)等价

几何意义(蓝色圈就是惩罚函数,与椭圆圈相交一点就是所求岭回归参数),红圈正中间那一点就是普通的最小二乘估计,相交的那点是使用岭回归作为的估计,理论上会比红色中间那一点会稳定

岭回归有对应相应的岭迹图

岭回归能拿来干嘛呢??

  • 判断多重共线性(简单来说,看图,看图觉得不好就存在共线问题)

下面不理解不要紧,毕竟岭回归不适合在该处使用 

其中一种选取k值方法

简单例子

  • 变量选择(不推荐,随意性太强,有专门的算法算k,但是各个算法之间误差有可能达到几十倍,谁说谁有理的感觉)

岭回归存在的问题

 

Lasso

Lasso(The Least Absolute Shrinkage and Selectionator operator)算法对岭回归的问题,Lasso对其惩罚函数改进了一下,变为一阶的,尽量让其触碰到顶点的位置在坐标轴

我们来看一下其对应的函数,就是惩罚函数不一样了

我们从几何来看,你看触碰到的时候让其大概率在坐标轴,在坐标轴的话,有一些参数就会为0,为0的参数就可以去掉

Lasso在现在很广泛应用,用来解决筛选变量问题,其实筛选变量也就包含了解决多重现性问题

惩罚函数,(Lasso算法,q=1)(岭回归算法,q=2)

目前发现最好的惩罚函数(组合了上面的惩罚函数,杂交出一个)

弹性网

Lasso算法不像岭回归一样,有绝对值求偏导数时候在几个顶点行不通,那该用什么方法来实现呢?

假如用平常的方法,会非常复杂,假如没有新的方法已不至于现在如此流行

LAR(最小角回归)算法就是lasso的一种高效解法,我们先来了解一下什么是LAR算法

简单画个图,一开始x1与y相关性最高,在x1这条线移动过程中,存在某一个点,x2的相关性此时与该点x1相关一致,我们就走x1与x2的角平分线,三个变量同样方法,由于这里三个变量以上就不好画了,只画了两个,什么时候停止呢?当移动到某点,残差向量与所有变量组成的空间垂直就停止

为什么LAR(最小角回归)能算Lasso呢?大家看一副图就知道了,他们的运算过程惊人的相似

LAR过程图解

看下图,一开始沿着v2方向走,过一段时间沿着v2和v6平分角的方向走,之后v4再进来,以此类推,到最后的残差为0就停止

惊人的相似这种说法是不严谨的,可以观察他们的数学式子,红色框框(图纸为黄志洪老师的演草纸),就是相似就对了,至于怎么推算出来的我们不做过多的追究

但是相似归相似,LAR还是有一些不同的,主要体现在有一些变量在变换符号的时候

所以我们再改进一下,简单来说就是把有存在变量符号变化的剔除掉

好了,抽象了这么久,我们来看一下小例子(R语言上的)

看了这么久在什么时候停好呢?如何筛选变量呢??

我们了解一下Cp指标,简单来说就是Cp越小越好

看图得知我们选取1,2,3,4变量就可以了,第八步为最优,第七第八部剔除了5,6,变量,这样通过LAR实现Lasso变量选择完成。

以上知识为看公开课之后自己总结,有讲得不对的地方,希望小伙伴来探讨

喜欢的小伙伴来个赞

猜你喜欢

转载自blog.csdn.net/LuYi_WeiLin/article/details/85776100
今日推荐