美文网首页我的收藏玩转大数据数据分析
回归系列之线性回归的关键问题

回归系列之线性回归的关键问题

作者: wujustin | 来源:发表于2016-11-04 20:58 被阅读341次

如上篇文章, 岭回归、Lasso回归和ElasticNet 回归都是以普通的线性回归为基础,先列举下线性回归的模型公式:

线性回归模型公式

岭回归为解决共线性问题,Lasso回归是为解决变量选择的问题, ElasticNet 解决不一致性和group select的问题。简单来说这三个回归算法是对线性回归某些问题的优化。

本文旨在列举线性回归涉及的关键问题, 后续文章针对每个点进行详细介绍。

  • 模型系数的求解方法
  • 拟合问题
  • 变量选择
  • 正则化

1.系数的求解方法

线性回归求解过程其实是求线性回归函数的W系数。求解系数的常见方法包括:最小二乘法和梯度下降法。

  • 最小二乘法
    最小二乘法是通过建立等价关系找到全局最小值, 通过推导, 可得到如下公式:
W系数求解公式

由于最小二乘法直接进行矩阵运算(求逆等),尽管可以得到全局最优解。但是在数据很多场景的回归分析或预测问题,其计算效率较低(涉及超大矩阵的求逆运算)。

  • 梯度下降法
    梯度下降法作为迭代法的一种,先给定一个参数向量初始值,然后向目标函数下降最快的方向调整(即梯度方向),在若干次迭代之后找到全局最小。随机梯度下降法的一个缺点是:在接近极值时收敛速度变慢,并且该方法对初始值的选取比较敏感。

2. 拟合问题

预测模型通常存在过拟合和欠拟合两种极端情况。 欠拟合是只得到的线性模型不能很好的拟合或者表示训练数据。 过拟合是指线性模型能非常准确的拟合训练数据, 但是对新的预测数据不能很好的拟合或者表示。以最小二乘法为例,如果响应变量和预测变量之间有比较明显的线性关系,最小二乘回归会有很小的偏倚,如果观测数量n远大于预测变量p时,最小二乘回归也会有较小的方差。但是如果n和p比较接近,则容易产生过拟合;如果n<p,最小二乘回归得不到有意义的结果。

通常解决过拟合问题, 采用的方法就是:通过变量选择来减少变量数目, 以及正则化。

3. 变量选择

线性回归的模型,经常有自变量和与部分因变量是无关的,又有些自变量之间本身就是明显相关(即共线性问题), 这些问题会增加模型的复杂性,以及模型的解释能力。针对这问题, 引入变量选择,或者叫特征选择。
变量的选择方法有:

  • 子集选择 包括逐步回归和最优子集法等,对可能的部分子集拟合线性模型,利用判别准则 (如AIC,BIC,Cp,调整R2 等)决定最优的模型。
  • 收缩方法(shrinkage method) 收缩方法又称为正则化(regularization)。主要是岭回归(ridge regression)和lasso回归。岭回归可以解决共线性问题。Lasso使某些系数的估计为0,达到去除变量的效果。
  • 降维 主成分回归(PCR)和偏最小二乘回归(PLS)的方法。把p个预测变量投影到m维空间(m<p),利用投影得到的不相关的组合建立线性模型。

4 正则化

为解决过拟合问题,回归模型可在损失函数的后面加上一个约束条件从而限制模型的复杂度,这个约束条件即为正则化。线性回归的L1正则与L2正则:
岭回归L2范式:


岭回归L2正则

Lasso回归L1范式:

Lasso回归L1正则

如下图,假设存在一个二元预测模型x = (x1, x2),对应存在两个系数w=(w1, w2)。 左边图是Lasso回归, 右边表示的是岭回归图。等高线的红色椭圆形是最小二乘法的误差项(或者损失函数,等高线是指误差项取值相同的点的连线), 蓝色部分是惩罚项(正则化项)的约束条件:Lasso是||Beta1|| + ||Beta2|| < t, 图形如左边, 岭回归的惩罚项是||Beta1||^2 + ||Beta2||^2 < t,如右边蓝色圆圈。

L1和L2正则化

加入正则化后模型求得的系数解w的值, 一定是在损失函数项和正则化项之间,即出现在图中损失函数项等值线与正则化项等值线相交处。采用L1范数时误差项的等值线与惩罚项等值线的交点出现在(参数空间)坐标轴上,即w1或w2为0;而在采用L2范数时,两个等值线的相交点常出现在某个象限内(如图示第2象限),即w1或w2均非0。因此Lasso具有选择变量的作用。

PS: 惩罚项中还存在一个参数,是lambda, 这是一个可调参数。求这个参数常见方法时:交叉验证或者Cp准则。

相关文章

  • 回归系列之线性回归的关键问题

    如上篇文章, 岭回归、Lasso回归和ElasticNet 回归都是以普通的线性回归为基础,先列举下线性回归的模型...

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • 23高通量测序-线性模型之线性回归

    线性模型之线性回归 线性回归(Linear Regression)主要思想 使用最小二乘法(least-squar...

  • 机器学习实战——回归

    本章内容】 线性回归 局部加权线性回归 岭回归和逐步线性回归 例子 【线性回归】 wHat = (X.T*X).I...

  • 机器学习笔记(5):线性回归

    本文来自之前在Udacity上自学机器学习的系列笔记。这是第5篇,介绍了监督学习中的线性回归模型。 线性回归回归这...

  • 算法概述-02

    1.逻辑回归和线性回归的联系和区别: 逻辑回归和线性回归的都是广义的线性回归。 线性回归是根据最小二乘法来建模,逻...

  • 逻辑回归和线性回归对比

    简单说几点 线性回归和逻辑回归都是广义线性回归模型的特例。他们俩是兄弟关系,都是广义线性回归的亲儿子 线性回归只能...

  • 2020-02-14

    线性回归:线性回归分为一元线性回归和多元线性回归,一元线性回归用一条直线描述数据之间的关系,多元回归是用一条曲线描...

  • 通俗得说线性回归算法(二)线性回归实战

    前情提要:通俗得说线性回归算法(一)线性回归初步介绍 一.sklearn线性回归详解 1.1 线性回归参数 介绍完...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

网友评论

  • fredx:能在具体讲下lambda怎么确定,你说的比如交叉验证,有相关链接吗,多谢
    wujustin:交叉验证是样本分成训练集和验证集, 设置一个指标,比如rmse, lambda取不同值, 看在训练集和验证集上指标的情况, 选指标最好时的lambda值。

本文标题:回归系列之线性回归的关键问题

本文链接:https://www.haomeiwen.com/subject/buevuttx.html