专栏首页产品经理的人工智能学习库线性回归 – linear regression

线性回归 – linear regression

文章目录

线性回归是很基础的机器学习算法,本文将通俗易懂的介绍线性回归的基本概念,优缺点,8 种方法的速度评测,还有和逻辑回归的比较。

什么是线性回归?

线性回归的位置如上图所示,它属于机器学习 – 监督学习 – 回归 – 线性回归。

扩展阅读:

一文看懂机器学习!(3种学习方法+7个实操步骤+15种常见算法)

一文看懂监督学习(基本概念+4步流程+9个典型算法)

什么是回归?

回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势…

回归之所以能预测是因为他通过历史数据,摸透了“套路”,然后通过这个套路来预测未来的结果。

什么是线性?

“越…,越…”符合这种说法的就可能是线性个关系:

「房子」越大,「租金」就越高

「汉堡」买的越多,花的「钱」就越多

杯子里的「水」越多,「重量」就越大

……

但是并非所有“越…,越…”都是线性的,比如“充电越久,电量越高”,他就类似下面的非线性曲线:

线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间),线性关系就是一个体。以此类推…

什么是线性回归?

线性回归本来是是统计学里的概念,现在经常被用在机器学习中。

如果 2 个或者多个变量之间存在“线性关系”,那么我们就可以通过历史数据,摸清变量之间的“套路”,建立一个有效的模型,来预测未来的变量结果。

线性回归的优缺点

优点:

  1. 建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快。
  2. 可以根据系数给出每个变量的理解和解释

缺点:不能很好地拟合非线性数据。所以需要先判断变量之间是否是线性关系。

为什么在深度学习大杀四方的今天还使用线性回归呢?

一方面,线性回归所能够模拟的关系其实远不止线性关系。线性回归中的“线性”指的是系数的线性,而通过对特征的非线性变换,以及广义线性模型的推广,输出和特征之间的函数关系可以是高度非线性的。另一方面,也是更为重要的一点,线性模型的易解释性使得它在物理学、经济学、商学等领域中占据了难以取代的地位。

8 种Python线性回归的方法的速度评测

  1. Scipy.polyfit( ) or numpy.polyfit( )
  2. Stats.linregress( )
  3. Optimize.curve_fit( )
  4. numpy.linalg.lstsq
  5. Statsmodels.OLS ( )
  6. 简单的乘法求矩阵的逆
  7. 首先计算x的Moore-Penrose广义伪逆矩阵,然后与y取点积
  8. sklearn.linear_model.LinearRegression( )

结果:令人惊讶的是,与广泛被使用的scikit-learnlinear_model相比,简单矩阵的逆求解的方案反而更加快速。

详细评测可以查看原文《Data science with Python: 8 ways to do linear regression and measure their speed

线性回归 VS 逻辑回归

线性回归和逻辑回归是 2 种经典的算法。经常被拿来做比较,下面整理了一些两者的区别:

  1. 线性回归只能用于回归问题,逻辑回归虽然名字叫回归,但是更多用于分类问题(关于回归和分类的区别可以看看这篇文章《一文看懂监督学习(基本概念+4步流程+9个典型算法)》)
  2. 线性回归要求因变量是连续性数值变量,而逻辑回归要求因变量是离散的变量
  3. 线性回归要求自变量和因变量呈线性关系,而逻辑回归不要求自变量和因变量呈线性关系
  4. 线性回归可以直观的表达自变量和因变量之间的关系,逻辑回归则无法表达变量之间的关系

注:

自变量:主动操作的变量,可以看做「因变量」的原因

因变量:因为「自变量」的变化而变化,可以看做「自变量」的结果。也是我们想要预测的结果。

百度百科+维基百科

百度百科版本

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w’x+e,e为误差服从均值为0的正态分布。

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

查看详情

维基百科版本

在统计学中,线性回归是一种线性方法,用于建模标量响应(或因变量)与一个或多个解释变量(或独立变量)之间的关系。一个解释变量的情况称为简单线性回归。对于多个解释变量,该过程称为多元线性回归。该术语不同于多元线性回归,其中预测了多个相关因变量,而不是单个标量变量。

在线性回归中,使用线性预测函数对关系进行建模,其中未知模型参数是根据数据估计的。这种模型称为线性模型。最常见的是,给定解释变量(或预测变量)的值的响应的条件均值被假定为这些值的仿射函数 ; 不太常见的是,使用条件中值或一些其他分位数。与所有形式的回归分析一样,线性回归侧重于条件概率分布给出预测变量值的响应,而不是所有这些变量的联合概率分布,这是多变量分析的领域。

查看详情

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 逻辑回归 – Logistic regression

    逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。

    easyAI
  • 约束优化(Constrained optimization)

    约束优化(Constrained Optimization),即约束优化问题,是优化问题的分支。它是在一系列约束条件下,寻找一组参数值,使某个或某一组函数的目标...

    easyAI
  • 线性判别分析 – Linear Discriminant Analysis | LDA

    逻辑回归是一种传统上仅限于两类分类问题的分类算法。如果您有两个以上的类,则线性判别分析算法是首选的线性分类技术。

    easyAI
  • [机器学习算法]线性回归模型

    同大多数算法一样,多元线性回归的准确性也基于它的假设,在符合假设的情况下构建模型才能得到拟合效果较好的表达式和统计性质较优的估计参数。

    TOMOCAT
  • SAP最佳业务实践:MM–库存处理:报废、冻结库存(131)-1业务概览

    用途 该业务情景包括对客户退货,和其他后勤业务流程中产生的报废的处理以及对冻结库存的不同处理 优点 支持流程相关的库存处理 支持法规要求的库存处理 处...

    SAP最佳业务实践
  • Java知识点——线程通信(线程之间的联系)

    现在存在两个完全无关的线程:生产者和消费者,但是商品会作为他们两者之间的共享资源。 生产者和消费者中都有一个成员变量 商品类型

    用户7073689
  • 使用CAShapeLayer绘图

    之前讲过使用UIBezierPath在UIView的drawRect中绘图, 今天我们讲下另外一种方式: CAShaperLayer

    周希
  • 如何使用Metasploit对安卓手机进行控制

    文章内容可能具有一定攻击性,本文仅供技术交流,如有非法使用后果自负。 在这次的实验中,我会使用kali linux和安卓模拟器演示如何使用Metasploit...

    FB客服
  • oeasy教您玩转 linux 010212 管道 pipe

    cowsay -f moose "oeasy" | toilet --gay -f term

    oeasy
  • 《笨办法学Python》 第26课手记

    《笨办法学Python》 第26课手记 本节课的任务是找出代码中的错误,所以就不贴结果了。大家认真找,尝试完全靠自己来修正代码中的错误,如果实在找不到,就休息一...

    Steve Wang

扫码关注云+社区

领取腾讯云代金券