机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
来源:互联网 发布:机械行业知乎 编辑:程序博客网 时间:2024/05/17 06:06
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。
希望与志同道合的朋友一起交流,我刚刚设立了了一个技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入。
前面两篇回归(一)(二)复习了线性回归,以及L1与L2正则——lasso和ridge regression。特别描述了lasso的稀疏性是如何产生的。在本篇中介绍一下和lasso可以产生差不多效果的两种feature selection的方法,forward stagewise selection和最小角回归least angle regression(LARS)。尤其是LARS,网上很多资料写的不太清楚,我尽量写的清楚一点。本文主要是参考[1]的前面几章,大家可以直接看原文写的更清楚。
关于特征选择feature selection
在很多实际应用中,我们往往需要处理大量高维数据,其中存在很多噪音或者不相关的属性;而且维度越高计算量也越高。大多数工程师都会想到做一下特征选择,即挑选一部分有价值的属性维度用于计算,以期望在提高准确性的同时降低计算复杂度。那么如何进行特征选择呢?
一般来说可以分为有监督和无监督两大类,无监督的方法就是普适性的了,一般是希望从数据的分布、或者局部结构来找到区分性最好的属性,但是就是因为是无监督的,肯定不会对你所需要的任务有特别的倾向,选出来的不一定是最合适的特征。而有监督的选择肯定会基于训练样本的标记,使得选出来的特征会适合特定的任务,但是很难用到其他问题中。特征选择这个topic说实话被水了很多年,真正有价值的不见得多——很多以前觉得计算能力不足的问题选择随着CPU/GPU的性能提升,不再是瓶颈,那么很多降维的需求就没有了。现在还要做特征选择,一方面是希望找到真正有用的特征,另一方面是希望“稀疏”,事实证明稀疏性在提高模型的准确性以及降低overfitting方面都很有作用。
如果要看无监督的feature selection可以看一下浙大蔡登教授的Unsupervised Feature Selection for Multi-cluster Data [2],方法简单实用;在本文中,我们主要讨论两种有监督的选择方法,并且是基于greedy思想的。这两个方法和LASSO非常相关,上一篇中我也提过,LASSO本身也可以用来做特征选择。
问题描述
在本文中,用下图中的数据为例子来说明:
表 1
用
我们希望找到一个回归系数
其中参数
图1
forward stagewise selection
forward stagewise selection方法,下面简称为stagewise,是一个迭代算法。选择过程从
令当前的回归预测是
也就是说,
其中
stagwise方法非常简单,易于实现,但是主要的问题是需要有大量的迭代步骤,因此计算量会比较大。事实上,不论是Lasso还是Stagewise方法都是Least angle regression(LARS)的变种。LARS的选择不需要经历那么多小的迭代,可以每次都在需要的方向上一步走到最远,因此计算速度很快,下面来具体描述一下LARS。
最小角回归Least angle regression,LARS
先用一个两维的例子来描述LARS的思路,后面再描述下任意维度下的统一算法。
LARS算法也是要得到形式为
图2
对于前面一节提到的相关系数,我们可以把
算法也是从
(在这里,如果是stagewise就选很小的
在
下面我们来讨论一下多维情况,和前面
其中符号
使得和每一个
上面的可以当做结论,可以跳过证明部分。
证明:
1、首先
2、
其中
得证。
好,接下来可以给出LARS的统一过程了。
假设当前步骤下LARS的预测结果是
集合
根据之前分析的,我们可以计算出
同时定义:
那么下一步LARS更新
其中
证:
如果当前步骤下LARS的预测结果是
其中
如果
从前面的
这个时候,对于那些
这个最小
得证。
图3
图3是LARS的特征变化图,和图1类比,发现三种方法的结果看起来几乎都差不多,事实上他们也确实产生类似的稀疏系数。(关于LARS如何改造成LASSO可以参考[1]和[3]的先关章节,稍作修改即可,本文等后面有时间再补。)图3右图画的是相关系数的绝对值数值大小随着迭代选择的步数k的变化,
可以看到不同的维度一旦被选择后就会一起衰减了,前面已经讨论过。
在LARS过程中,我们每一步都可以直接得到预测值
其中
这一篇就写到这里,描述了两种和lasso相关性强的特征选择方法,都可以产生稀疏的结果。尤其是LARS,每次选择都可以最优策略地加进一个维度,使得最多m步就可以结束算法。本系列到目前为止的(一)(二)(三)都和线性回归相关,线性回归三部曲到这里就暂告段落;接下来准备写一下决策树、逻辑回归等基础。加油加油!
参考资料
[1] Bradley Efron,Least Angle Regression
[2] dengcai, Unsupervised Feature Selection for Multi-cluster Data,KDD2010
[3] The Elements of Statistical Learning
- 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
- 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
- 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
- 最小角回归(Least Angle Regression)
- 最小角回归(Least Angle Regression)
- 6.最小角回归(Least Angle Regression)
- 最小角回归(least angle regression) 的一点记录
- 分组最小角回归算法(group LARS)
- LAR(最小角回归)
- 机器学习方法:回归(一):线性回归Linear regression
- 机器学习方法:回归(一):线性回归Linear regression
- 机器学习方法:回归(一):线性回归Linear regression
- 机器学习方法:回归(一):线性回归Linear regression
- 机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression
- LARS 最小角回归算法程序代码使用归类使用
- 最小角回归笔记
- 【机器学习-斯坦福】学习笔记23——偏最小二乘法回归(Partial Least Squares Regression)
- 机器学习方法:回归(二):稀疏与正则约束ridge regression,Lasso
- 深度和广度搜索
- Open API文档资源
- LeetCode --- 62. Unique Paths
- Windows文件命名
- LeetCode --- 63. Unique Paths II
- 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
- 百度员工离职总结:如何做个好员工
- c语言FILE结构和字符串读取
- 数据库第一次作业
- LeetCode --- 64. Minimum Path Sum
- PE 13 Large sum
- LeetCode --- 65. Valid Number
- Qt Quick + OpenGL + Bullet初次测试
- dede 文件夹 数据库表 字段 记录