坐标轴下降法与最小角回归法
来源:互联网 发布:网络喷子 英文 编辑:程序博客网 时间:2024/05/29 12:30
1. 回顾线性回归
首先我们简要回归下线性回归的一般形式:
需要极小化的损失函数是:
如果用梯度下降法求解,则每一轮
迭代的表达式是:
其中
为步长。
如果用最小二乘法,则
的结果是:
2. 回顾Ridge回归
由于直接套用线性回归可能产生过拟合,我们需要加入正则化项,如果加入的是L2正则化项,就是Ridge回归,有时也翻译为脊回归。它和一般线性回归的区别是在损失函数上增加了一个L2正则化的项,和一个调节线性回归项和正则化项权重的系数
。损失函数表达式如下:
其中
为L2范数。
Ridge回归的解法和一般线性回归大同小异。如果采用梯度下降法,则每一轮
迭代的表达式是:
其中
为步长。
如果用最小二乘法,则
的结果是:
其中E为单位矩阵。
模型变量多的缺点呢?有,这就是下面说的Lasso回归。
3. 初识Lasso回归
Lasso回归有时也叫做线性回归的L1正则化,和Ridge回归的主要区别就是在正则化项,Ridge回归用的是L2正则化,而Lasso回归用的是L1正则化。Lasso回归的损失函数表达式如下:
其中n为样本个数,
为L1范数。
4. 用坐标轴下降法求解Lasso回归
坐标轴下降法顾名思义,是沿着坐标轴的方向去下降,这和梯度下降不同。梯度下降是沿着梯度的负方向下降。不过梯度下降和坐标轴下降的共性就都是迭代法,通过启发式的方式一步步迭代求解函数的最小值。
坐标轴下降法的数学依据主要是这个结论(此处不做证明):一个可微的凸函数
就是一个全局的最小值。
于是我们的优化目标就是在
即为我们要求的结果。
下面我们看看具体的算法过程:
1. 首先,我们把
,上面的括号里面的数字代表我们迭代的轮数,当前初始轮数为0.
2. 对于第k轮的迭代。我们从
的表达式如下:
也就是说
是变量,其余均为常量,因此最小值容易通过求导求得。
如果上面这个式子不好理解,我们具体一点,在第k轮,
向量的n个维度的迭代式如下:
...
3. 检查
即为最终结果,否则转入2,继续第k+1轮的迭代。
以上就是坐标轴下降法的求极值过程,可以和梯度下降做一个比较:
5. 用最小角回归法求解Lasso回归
第四节介绍了坐标轴下降法求解Lasso回归的方法,此处再介绍另一种常用方法, 最小角回归法(Least Angle Regression, LARS)。
在介绍最小角回归前,我们先看看两个预备算法,好吧,这个算法真没有那么好讲。
5.1 前向选择(Forward Selection)算法
第一个预备算法是前向选择(Forward Selection)算法。
前向选择算法的原理是是一种典型的贪心算法。要解决的问题是对于:
为nx1的向量。m为样本数量,n为特征维度。
把 矩阵
,得到下式:
5.2 前向梯度(Forward Stagewise)算法
第二个预备算法是前向梯度(Forward Stagewise)算法。
前向梯度算法和前向选择算法有类似的地方,也是在
减小到足够小,算法停止。
有没有折中的办法可以综合前向梯度算法和前向选择算法的优点,做一个折中呢?有!这就是终于要出场的最小角回归法。
5.3 最小角回归(Least Angle Regression, LARS)算法
好吧,最小角回归(Least Angle Regression, LARS)算法终于出场了。最小角回归法对前向梯度算法和前向选择算法做了折中,保留了前向梯度算法一定程度的精确性,同时简化了前向梯度算法一步步迭代的过程。具体算法是这样的:
首先,还是找到与因变量
即为最终结果。
当
计算设计较多矩阵运算,这里不讨论。
最小角回归法是一个适用于高维数据的回归算法,其主要的优点有:
1)特别适合于特征维度n 远高于样本数m的情况。
2)算法的最坏计算复杂度和最小二乘法类似,但是其计算速度几乎和前向选择算法一样
3)可以产生分段线性结果的完整路径,这在模型的交叉验证中极为有用
主要的缺点是:
由于LARS的迭代方向是根据目标的残差而定,所以该算法对样本的噪声极为敏感。
6. 总结
Lasso回归是在ridge回归的基础上发展起来的,如果模型的特征非常多,需要压缩,那么Lasso回归是很好的选择。一般的情况下,普通的线性回归模型就够了。
另外,本文对最小角回归法怎么求具体的
- 坐标轴下降法与最小角回归法
- Lasso回归算法: 坐标轴下降法与最小角回归法小结
- Lasso回归算法: 坐标轴下降法与最小角回归法小结
- Ridge回归、Lasso回归、坐标下降法、最小角回归
- 最小角回归笔记
- LAR(最小角回归)
- 最小角回归(Least Angle Regression)
- 分组最小角回归算法(group LARS)
- 最小角回归(Least Angle Regression)
- 线性回归与梯度下降法
- 逻辑回归与梯度下降法
- Logistic回归与梯度下降法
- 线性回归与梯度下降法
- Logistic回归与梯度下降法
- Logistic回归与梯度下降法
- 回归-梯度下降法
- 回归:梯度下降法
- LARS 最小角回归算法程序代码使用归类使用
- web.xml文件的作用及基本配置
- I2C 协议基础
- 一切都是对象(《Java编程思想》第二章总结)
- Confluence DotNet API发布
- 【HDU6156】Palindrome Function(数位DP+回文串)
- 坐标轴下降法与最小角回归法
- 欢迎使用CSDN-markdown编辑器
- Android开发 shape详解
- effective C++ 条款十六解读
- [LightOJ 1151] Snakes and Ladders
- 动态规划
- 数据管理
- 北京大学与方正集团现今究竟是什么关系?
- FNOI_TEST_1 c(二分)