岭回归、Lasso及其分析

2017年08月30日 15:06:27

阅读数:5381

基本概念

前段我们讨论了线性回归模型的原理策略,假定可以表示为

f(xi)=∑k=1nwkxik+w0=wxif(xi)=∑k=1nwkxik+w0=wxi

其损失函数为:

J(w)=12m∑i=1m(yi−f(xi))2=12m||y−Xw||2J(w)=12m∑i=1m(yi−f(xi))2=12m||y−Xw||2

最小二乘法求解可以得到最优解:

w=(XTX)−1XTyw=(XTX)−1XTy

在讨论ridge regression 和 lasso 之前,先学习两个概念。

监督学习有两大基本策略,经验风险最小化和结构风险最小化。 
经验风险最小化策略为求解最优化问题,线性回归中的求解损失函数最小化问题即是经验风险最小化策略。 
经验风险最小化的定义为:

Remp(f)=1N∑i=1NL(yi,f(xi))Remp(f)=1N∑i=1NL(yi,f(xi))

其求解最优化问题,即:

minf∈FRemp(f)=minf∈F1N∑i=1NL(yi,f(xi))minf∈FRemp(f)=minf∈F1N∑i=1NL(yi,f(xi))

由统计学知识知,当训练集数据足够大时,经验风险最小化能够保证得到很好的学习效果。当训练集较小时,则会产生过拟合现象。虽然对训练数据的拟合程度高,但对未知数据的预测精确度低,这样的模型不是适用的模型。 

结构风险最小化是为了防止过拟合现象而提出的策略。结构风险最小化等价于正则化,在经验风险上加上表示模型复杂度的正则化项或者称作罚项。在确定损失函数和训练集数据的情况下其定义为:

Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f)Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f)

其求解最优化问题,即:

minf∈FRsrm(f)=minf∈F1N∑i=1NL(yi,f(xi))+λJ(f)minf∈FRsrm(f)=minf∈F1N∑i=1NL(yi,f(xi))+λJ(f)

通过调节λλ值权衡经验风险和模型复杂度

所要讨论的岭回归和Lasso,使用的是结构风险最小化的思想,在线性回归的基础上,加上对模型复杂度的约束。

岭回归与Lasso

岭回归其损失函数为:

JR(w)=12∥y−Xw∥2+12λ∥w∥2JR(w)=12‖y−Xw‖2+12λ‖w‖2

wRˆ=(XTX+λI)−1XTywR^=(XTX+λI)−1XTy

Lasso其损失函数为:

JL(w)=12∥y−Xw∥2+λ∑|wi|JL(w)=12‖y−Xw‖2+λ∑|wi|

由于Lasso损失函数的导数在0点不可导,不能直接求导利用梯度下降求解。引入subgradient的概念。

考虑简单函数,即x只有一维的情况下:

h(x)=(x−a)2+b|x|h(x)=(x−a)2+b|x|

首先先定义|x||x|在0点的梯度,称之为subgradient。

像上面图里画的,直观理解,函数在某一点的导数可以看成函数在这一点上的切线,那么在原点,因为这一点不是光滑的(左右导数不一样),所以可以找到实线下方的无数条切线,形成一个曲线族。我们就把这些切现斜率的范围定义为这一点的subgradient。也就是|x||x|在0点的导数是在-1到1范围内的任意值。

那么可以得到h(x)h(x)的导数:

f′(x)=⎧⎩⎨2(x−a)+cx,2a+d,2(x−a)−cx,if x>0 if x=0and−c<d<c if x<0 f′(x)={2(x−a)+cx,if x>0 2a+d,if x=0and−c<d<c 2(x−a)−cx,if x<0

可以看出,当 −c<2a<c,x=0−c<2a<c,x=0时, f′(x)f′(x)恒等于0,也就是f(x)f(x)到达极值点。同时也可以解释Lasso下得到的解会稀疏的原因:因为当cc在一定范围内时,只要xx为0,f′(x)f′(x)就为0。

当xx拓展到多维向量时,导数方向的变化范围更大,问题就变得更复杂。常见的解决方法如下: 
1.贪心算法。每次先找到跟目标最相关的feature,然后固定其他系数,优化这一个feature的系数,具体求导也要使用到subgradient。代表算法有LARS,feature-sign search等。 
2.逐一优化。就每次固定其他的dimension,选择一个dimension进行优化,因为只有一个方向有变化,所以可以转化为简单的subgradient问题,反复迭代所有的dimension,达到收敛。代表算法有coordinate descent,block coordinate descent等,通过该方法求解得到的最优解w¯w¯为:

w¯j=sgn(wj)(∣∣wj∣∣−λ)+w¯j=sgn(wj)(|wj|−λ)+

其中wjwj表示其任一维度,(x)+(x)+表示取xx的正数部分,(x)+=max(x,0)(x)+=max(x,0)。

考虑Lasso和ridge的几何意义,如下图; 

红色的椭圆和蓝色的区域的切点就是目标函数的最优解,我们可以看到,如果是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,则在该维度上取值不为0,因此没有稀疏;但是如果是菱形或者多边形,则很容易切到坐标轴上,使得部分维度特征权重为0,因此很容易产生稀疏的结果。

回归分析技术

线性回归是最常用的回归分析,其形式简单,在数据量较大的情况下,使用该方法可以得到较好的学习效果。 
线性回归在数据量较少的情况下会出现过拟合的现象,ridge、Lasso可以在一定程度上解决这个问题。 
由于Lasso得到的是稀疏解,由此可以看出,除了可以做回归分析外,还可以用于特征选取。

当然还有其他的回归分析: 
多项式回归,其自变量指数大于1。该方法可以诱导拟合一个高次多项式并得到较低的错误,但这可能会导致过拟合。需要经常画出关系图来查看拟合情况,并且专注于保证拟合合理,既没有过拟合又没有欠拟合。下面是一个图例,可以帮助理解具体如下图: 

逐步回归,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。向前选择法从模型中最显著的预测开始,然后为每一步添加变量。向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。这种建模技术的目的是使用最少的预测变量数来最大化预测能力。这也是处理高维数据集的方法之一。

ElasticNet回归,即岭回归和Lasso技术的混合,当存在多个相关特征时,Lasso 会随机挑选他们其中的一个,而ElasticNet则会选择两个。即在高度相关变量的情况下,它会产生群体效应。

逻辑回归,广泛用于分类问题。逻辑回归不要求自变量和因变量是线性关系,可以处理各种类型的关系。

还有其他模型,如Bayesian、Ecological和Robust回归等。

引用: 
http://blog.csdn.net/xbinworld/article/details/44276389

ridge regression and lasso analysis-reproduced from csdn相关推荐

  1. 多元线性回归算法: 线性回归Linear Regression、岭回归Ridge regression、Lasso回归、主成分回归PCR、偏最小二乘PLS

    0. 问题描述 输入数据:X=(x1,x2,....,xm)\mathbf{X} = (x_1, x_2,...., x_m)X=(x1​,x2​,....,xm​), 相应标签 Y=(y1,y2,. ...

  2. 岭回归(Ridge Regression)和Lasso回归

    1.岭回归(Ridge Regression) 标准线性回归(简单线性回归)中: 如果想用这个式子得到回归系数,就要保证(X^TX)是一个可逆矩阵. 下面的情景:如果特征的数据比样本点还要多,数据特征 ...

  3. 脊回归(Ridge Regression)

    脊回归(Ridge Regression) 标签:监督学习 @ author : duanxxnj@163.com @ time : 2016-06-19 在<线性回归(Linear Regre ...

  4. 线性回归——lasso回归和岭回归(ridge regression)

    目录 线性回归--最小二乘 Lasso回归和岭回归 为什么 lasso 更容易使部分权重变为 0 而 ridge 不行? References 线性回归很简单,用线性函数拟合数据,用 mean squ ...

  5. 机器学习基础(三十一)—— 岭回归(Ridge Regression)到 LASSO

    如果数据集的特征比样本点还多(XN×d,d>NX_{N\times d},d> NXN×d​,d>N)怎么办?是否还可以使用线性回归来做预测?答案是否定的,因为在计算 (XTX)−1 ...

  6. 机器学习第二讲 稀疏学习Lasso Regression和正则化regularization 的Ridge Regression

    lasso (least absolute shrinkage and selection operator)要是能把全称背下来你能一直记住LASSO的原理是absolute shrinkage以及它 ...

  7. 【机器学习】多项式回归案例五:正则惩罚解决过拟合(Ridge回归和Lasso回归)

    正则惩罚解决过拟合(Ridge回归和Lasso回归) 案例五: 正则惩罚解决过拟合(Ridge回归和Lasso回归) 3.2.1 模块加载与数据读入 3.2.2 特征工程 3.2.3 模型搭建与应用 ...

  8. [机器学习-5]岭回归及python实现(Ridge Regression)

    [机器学习-5]岭回归[L2正则化]及python实现(Ridge Regression)[L2] 前言 题目 岭回归(Ridge Regression) k-fold validation skle ...

  9. 【机器学习笔记】Regularization : Ridge Regression(岭回归)

    要点总览 线性回归,即最小二乘法,它的目的是最小化残差平方的总和. 而岭回归需要在此基础上增加 lambda x 所有参数的平方之和(如斜率等,除y轴截距外),这部分被称为岭回归补偿(Ridge Re ...

最新文章

  1. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败
  2. 深入浅出换肤相关技术以及如何实现
  3. php电子商务模板,关于php:电商系统设计之运费模板下
  4. 创建设计模式 - Builder设计模式
  5. wsimport 用法详解
  6. WinRAR 去除广告弹窗,简单4步亲测有效!
  7. TCP/IP协议及常见状态码(SYN,FIN,ACK,PSH,RST)
  8. APK Image Extractor(安卓APK图像提取) v2.0
  9. DJI OSDK和DJI Onboard-SDK-ROS
  10. 电影最top《投名状》摘录
  11. java实现年会微信签到,签到后在大屏中展示,导出签到信息
  12. 超详细KNIME二次开发的环境配置安装过程
  13. 记录写博文用到的一些工具
  14. QQ txd文件解析完毕
  15. 计算机应用基础问卷答题,中职计算机应用基础课程教学改革与实践
  16. 一文读懂3D人脸识别十年发展及未来趋势
  17. 如何对机房环境进行监理堪察?
  18. 【5G入门】MCS调制编码方案简介
  19. 信息学奥林匹克竞赛python_USACO美国信息学奥林匹克竞赛大师课火热招募中!提升TOP20名校申请竞争力!...
  20. 基于LSTM的中文文本多分类实战

热门文章

  1. win7安装高版本的node解决办法
  2. 怎么判断机械表上满弦_机械手表上弦是什么意思,怎么看手表有没有上满弦
  3. 【Excel】可浮动利率(LPR)和提前还款的房贷计算器
  4. RAID磁盘阵列详解与维护
  5. YUV转RGB查表方式的代码
  6. 网格交易 python代码_网格交易原理和代码
  7. SpringBoot启动报错 Failed to read candidate component class:
  8. java8学习之双冒号用法
  9. 如何通过photoshop制作保存*.ico的图标文件教程
  10. 海藻酸盐壳聚糖水凝胶微球载体/PLGA/nHA支架复合rhBMP-2壳聚糖纳米微球水凝胶的制备