Least Angel Regression
最小角回归和上一篇说的forward stepwise有一些相似的地方是都是将一些variable选到variable集合中来,不一样的是,forward stepwise 每次选的都是与当前残差相关度最大的variable,选进来以后,会重新对所有的入选variable做一下回归,而最小角回归的做法是,同样是首先找到与当前残差相关度最大的variable,然后沿着这个这个variable的方向行径,行经过程中残差与这个variable的相关度会逐渐减小,直到发现了有另外一个variable,它与当前残差的相关度和刚才那个variable与残差的相关度一样了,此时就不往第一个variable的方向行径,而是往这2个variable的方向,那这个方向是什么呢?几何上就是这两个variable方向的角平分线方向,看下下面的图:
这张图说明了这个过程的前两步(记得做之前将x标准化,将y中心化),首先发现x1比x2更加得和y2相关,所以先沿着x1的方向移动,直到走到u1时,发现x1,x2与此时的残差相关程度一样了,那么此时移动的方向就是x1,x2所呈角的角平分线方向,按照这个方向移动,直到下一个variable出现,按照此过程一直移动,直到所有的variable都被找出来。
方向可以用这个式子来定义,有:
这个式子Xak表示当前入选的variable,相当于用当前的variable对残差rk做了一次regression,可以看出这个方向向量一开始只有一个非0的数,随着variable的增加,0的个数逐渐较少。
每一次更新估计的参数为,
alpha为这个方向移动的距离,移动到出现一个variable和当前入选variable与残差相关度相等时(因为每次都是按照角平分线,所以当前入选的所有variable与残差相关度都是相等的),移动停止。
值得说明的两点:
1 其实stagewise 从u0走到u1走了走了很多步,因为它选了x1后还是发现x1与当前残差相关性最大,所以他需要非常多的步骤找到u1,更多的步骤找到所有的variable,这个方法过于保守。
2 而对于stepwise,它一下子就找到y1(y1是y2在x1上的投影),也就是y2关于x1做regression的结果,所以说这个方法过于激进。
而Least Angel Regression 则是上面两个方法的折中法。
可以发现,按照这样的path移动,所有被找到的variable和当前残差的相关性都是一样的。如下图:
这图(横坐标是路径的长度)说明了相关性(注意这里都取了绝对值)逐渐下降并且所有被选进的variable相关性相等。
然而最令我费解的是,Least Angel Regression 和Lasso还有一定的关系,如下图:
lasso就是把岭回归参数向量的长度平方改成了绝对值的和,对于这两个方法,有一个重要的性质是:
如果不存在某个参数随着path长度增加而穿过了0这个坐标,那么lasso的解和Least Angel Regression的解是一样的,可以发现图中,在横坐标18以前,图都是一样的,而在18这个位置,深蓝色的线穿过了0。
表示自己水平不够看不懂The elements of statistical learing 里面的解释,就先放在这里吧。
Least Angel Regression相关推荐
- R语言与LASSO回归和LAR算法
LASSO介绍 Tibshirani(1996)提出了LASSO(The Least Absolute Shringkage and Selectionator operator)算法 通过构造一个一 ...
- 回归,岭回归。LASSO回归
矩阵表示多元线性回归 Y=BX+a Q(B)=(Y-BX)T(Y-BX)达到最小时的B值. 也即是残差平方和最小时.B(Bi)的值.可以证明B的最小二乘估计=(XTX)-1XTy 其中(XTX)-1为 ...
- 机器学习--线性回归3(使用LAR算法进行求解Lasso算法)
上一节我们详细的介绍了岭回归算法和lasso算法的来历和使用,不过还没有详解lasso的计算方式,本节将进行全面的详解,在详解之前,希望大家都理解了岭回归和lasso 的来历,他们的区别以及使用的范围 ...
- Angel Borja博士教你如何撰写科学论文三:Writing the first draft of your science paper — some dos and don’ts
Writing the first draft of your science paper - some dos and don'ts A seasoned editor gives advice t ...
- 腾讯 angel 3.0:高效处理模型
腾讯 angel 3.0:高效处理模型 紧跟华为宣布新的 AI 框架开源的消息,腾讯又带来了全新的全栈机器学习平台 angel3.0.新版本功能特性覆盖了机器学习的各个阶段,包括:特征工程.模型训练. ...
- Deep Learning 学习随记(三)续 Softmax regression练习
上一篇讲的Softmax regression,当时时间不够,没把练习做完.这几天学车有点累,又特别想动动手自己写写matlab代码 所以等到了现在,这篇文章就当做上一篇的续吧. 回顾: 上一篇最后给 ...
- 机器学习与高维信息检索 - Note 3 - 逻辑回归(Logistic Regression)及相关实例
逻辑回归 Logistic Regression 3. 逻辑回归 补充: 凸性 Convexity 定义3.1 定理3.2 定理3.3 成本函数的凸性 3.1逻辑回归的替代方法 3.2 线性可分性和逻 ...
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...
- 逻辑回归(Logistic Regression)简介及C++实现
逻辑回归(Logistic Regression):该模型用于分类而非回归,可以使用logistic sigmoid函数( 可参考:http://blog.csdn.net/fengbingchun/ ...
- OpenCV3.3中逻辑回归(Logistic Regression)使用举例
OpenCV3.3中给出了逻辑回归(logistic regression)的实现,即cv::ml::LogisticRegression类,类的声明在include/opencv2/ml.hpp文件 ...
最新文章
- windows server 2003磁盘管理
- 行将消失的烧瓦匠人:“仿古”热潮下迎新生曙光
- Knative Eventing 中如何实现 Registry 事件注册机制
- Vue + Spring Boot 项目实战(五):数据库的引入
- ExtJs懒人笔记(2) ExtJs页面布局
- 教你用Java的方式创建一个自己的Tomcat容器
- tempdb相关文章
- python时序数据分析--以示例说明
- VS2010中如果忘记函数所在的头文件或者忘记函数的输入输出参数类型怎么办?...
- BZOJ35453551[ONTAK2010]Peaks——kruskal重构树+主席树+dfs序+树上倍增
- 算法介绍及实现——基于遗传算法改进的BP神经网络算法(附完整Python实现)
- linux设置library path,如何在linux中设置环境变量LD_LIBRARY_PATH
- pr如何处理音效_PR剪辑如何让视频声音更好听
- html和css基础知识recap(含大量链接参考)
- 根据关键词取商品列表API 返回值说明
- jvm-8-java
- 小白必备!Rust 编程语言入门教程
- JavaScript注释(多行注释+单行注释)
- discuz密码找回:忘记UCENTER创始人密码
- Exception in thread ContainerBackgroundProcessor[StandardEngine[Catalina]] java.lang.OutOfMemoryEr