-
2021-01-14 14:00:43
线性回归是很基础的机器学习算法,本文将通俗易懂的介绍线性回归的基本概念,优缺点,8 种方法的速度评测,还有和逻辑回归的比较。
什么是线性回归?
线性回归的位置如上图所示,它属于机器学习 – 监督学习 – 回归 – 线性回归。
扩展阅读:
什么是回归?
回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势…
回归之所以能预测是因为他通过历史数据,摸透了“套路”,然后通过这个套路来预测未来的结果。
什么是线性?
“越…,越…”符合这种说法的就可能是线性个关系:
「房子」越大,「租金」就越高
「汉堡」买的越多,花的「钱」就越多
杯子里的「水」越多,「重量」就越大
……
但是并非所有“越…,越…”都是线性的,比如“充电越久,电量越高”,他就类似下面的非线性曲线:
线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间),线性关系就是一个体。以此类推…
什么是线性回归?
线性回归本来是是统计学里的概念,现在经常被用在机器学习中。
如果 2 个或者多个变量之间存在“线性关系”,那么我们就可以通过历史数据,摸清变量之间的“套路”,建立一个有效的模型,来预测未来的变量结果。
线性回归的优缺点
优点:建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快。
更多相关内容 -
机器学习之线性回归算法
2021-01-06 19:50:39**线性回归(Linear Regression)**是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。 2.特点 优点:结果具有很好的可... -
机器学习十大经典算法——线性回归
2021-01-06 22:27:30主要有两个意愿,一个是想买米10,希望各位帅哥美女支持一下,觉得不错就打赏下,另为一个是想将十大经典算法的推导以及思路清清楚楚的理下,希望这整期教程对大家有帮助,第一期咱们讲线性回归。这期不似之前的实践... -
线性回归算法原理推导
2022-02-19 12:56:44文章目录1....线性回归是回归算法中最简单、实用的算法之一,在机器学习中很多知识点都是通用的,掌握一个算法相当于掌握一种思路,其他算法中会继续沿用的这个思路。 1. 线性模型基本形式 2. 线性回归方
线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。-
优点:结果易于理解,计算不复杂
-
缺点:对非线性的数据拟合不好
-
适用数据类型:数值型和标称型
线性回归是回归算法中最简单、实用的算法之一,在机器学习中很多知识点都是通用的,掌握一个算法相当于掌握一种思路,其他算法中会继续沿用的这个思路。
1. 线性模型基本形式
2. 线性回归方程
简洁的来说,线性回归的定义就是:
目标值预期是输入变量的线性组合。
举个例子:假设某个人去银行准备贷款,银行首先会了解这个人的基本信息,例如年龄、工资等,然后输入银行的评估系统中,以此决定是否发放贷款以及确定贷款的额度,那么银行是如何进行评估的呢?下面详细介绍银行评估系统的建模过程。假设下面是银行贷款数据,相当于历史数据,有以下场景:
银行评估系统要做的就是基于历史数据建立一个合适的回归模型,只要有新数据传入模型中,就会返回一个合适的预测结果值。在这里,工资和年龄都是所需的数据特征指标,分别用x1和x2表示,贷款额度就是最终想要得到的预测结果,也可以叫作标签,用y表示。其目的是得到x1、x2与y之间的联系,一旦 找到它们之间合适的关系,这个问题就解决了。
目标明确后,数据特征与输出结果之间的联系能够轻易得到吗?在实际数据中,并不是所有数据点都整齐地排列成一条线,如下图所示:
圆点代表输入数据,也就是用户实际得到的贷款金额,表示真实值。平面代表模型预测的结果,表示预测值。可以观察到实际贷款金额是由数据特征x1和x2共同决定的,由于输入的特征数据都会对结果产生影响,因此需要知道x1和x2对y产生多大影响。
我们可以用参数θ来表示这个含义,假设θ1表示年龄的参 数,θ2表示工资的参数,拟合的平面计算式如下:
通过上式我们可以看到偏置项 θ 0 θ_0 θ0会对结果产生较小的影响, θ 1 θ_1 θ1和 θ 2 θ_2 θ2我们称它为权重参数,由于它们和我们的数据组合在一起,所以 θ 1 θ_1 θ1和 θ 2 θ_2 θ2会对结果产生较大的影响。
既然已经给出回归方程,那么找到最合适的参数θ这个问题也就解决了。 再强调一点, θ 0 θ_0 θ0为偏置项,但是在上式中并没有 θ 0 x 0 θ_0x_0 θ0x0项,那么如何进行整合呢?其实很简单,因为1乘以任何数都等于它本身,所以我们直接将x0这一列全部置为1就可以解决。
注意:在进行数值计算时,为了使得整体能用矩阵的形式表达,即便没有x0项也可以手动添加, 只需要在数据中加入一列x0并且使其值全部为1即可,结果不变。
3. 误差项分析
从以上X1,X2,Y构成的三维图中,我们可以看出回归方程的预测值和样本点的真实值并不是一一对应的。说明数据的真实值和预测值之间是有差异的,这个差异项通常称作误差项ε。它们之间的关系可以这样解释:在样本中,每一个真实值和预测值之间都会存在一个误差。
其中,i为样本编号; θ T x ( i ) θ^Tx^{(i)} θTx(i)为预测值; y ( i ) y^{(i)} y(i)为真实值。 这个误差项比较重要,接下来所有的分析与推导都是由此产生的。
先把下面这句看起来有点复杂的解释搬出来:误差ε是独立且具有相同的分布,并且服从均值为0方差为$θ^2$的高斯分布。
突然搞出这么一串描述,可能大家有点懵,下面分别解释一下。
所谓独立
,例如,张三和李四一起来贷款,他俩没关系也互不影响,这就是独立关系,银行会平等对待他们。
相同分布
是指符合同样的规则,例如张三和李四分别去农业银行和建设银行,这就很难进行对比分析了,因为不同银行的规则不同,需在相同银行的条件下来建立这个回归模型。
高斯分布用于描述正常情况下误差的状态,银行贷款时可能会多给点,也可能会少给点,但是绝大多数情况下这个浮动不会太大,比如多或少三五百元。极少情况下浮动比较大,例如突然多给20万,这种可能性就不大。如右下图是高斯分布曲线,可以发现在均值两侧较近地方的可能性较大,越偏离的情况可能性就越小。
这些知识点不是线性回归所特有的,基本所有的机器学习算法的出发点都在此,由此也可以展开分析,数据尽可能取自相同的源头,当拿到一份数据集时,建模之前肯定要进行洗牌操作,也就是打乱其顺序,让各自样本的相关性最低。高斯分布也就是正态分布,是指数据正常情况下的样子,机器学习中会经常用到这个概念。
4. 似然函数求解
现在已经对误差项有一定认识了,接下来要用它来实际干点活了,高斯分布的表达式为:
大家应该对这个公式并不陌生,但是回归方程中要求的是参数θ,这里好像并没有它的影子,没关系 ,来转换一下,将 y ( i ) = θ T x ( i ) + ε ( i ) y^{(i)}=θ^Tx^{(i)}+ε(i) y(i)=θTx(i)+ε(i)代入上式可得:
为了更容易理解这个公式,先来给大家介绍一下似然函数:假设参加超市的抽奖活动,但是事前并不知道中奖的概率是多少,观察一会儿发现,前面连着10个参与者都获奖了,即前10个样本数据都得到了相同的结果,那么接下来的抽奖者可能就会有100%的信心认为自己也会中奖。因此,如果超市中奖这件事受一组参数控制,似然函数就是通过观察样本数据的情况来选择最合适的参数,从而得到与样本数据相似的结果。现在解释一下上式的含义,基本思路就是找到最合适的参数来拟合数据点,可以把它当作是参数与数据组合后得到的跟标签值一样的可能性大小(如果预测值与标签值一模一样,那就做得很完美 了)。对于这个可能性来说,当然是越大越好了,因为得到的预测值跟真实值越接近,意味着回归方程做得越好。所以就有了极大似然估计,找到最好的参数θ,使其与X组合后能够成为Y 的可能性越大越好。 下面给出似然函数的定义:
其中,i为当前样本,m为整个数据集样本的个数。此外,还要考虑,建立的回归模型是满足部分样本点还是全部样本点呢?应该是尽可能满足数据集整体,所以需要考虑所有样本。那么如何解决乘法问题呢?一旦数据量较大,这个公式就会相当复杂, 这就需要对似然函数进行对数变换,让计算简便一些。
如果对上式做变换,得到的结果值可能跟原来的目标值不一样了,但是在求解过程中希望得到极值点,而非极值,也就是能使L(θ)越大的参数θ,所以当进行变换操作时,保证极值点不变即可。在对数中,可以将乘法转换成加法,即log(A·B)=logA+logB。
对似然函数两边计算其对数结果,可得:
乘法难解,加法就容易了,对数里面乘法可以转换成加法。继续展开化简,可得:
一路走到这里,公式变换了很多,别忘了要求解的目标依旧是使得上面的对数似然取得极大值时的极值点 (参数和数据组合之后,成为真实值的可能性越大越好)。先来观察一下,在减号两侧可以分成两部分,左边部分
可以当作一个常数项,因为它与参数θ没有关系。对于右边部分
由于有平方项,其值必然恒为正。整体来看就是要使得一个常数项减去一个恒正的公式的值越大越好,由于常数项不变,那就只能让右边部分越小越好, 1 σ 2 \frac 1{\sigma^2} σ21 可以认为是一个常数,故只需让
越小越好,这就是最小二乘法。虽然最后得到的公式看起来既简单又好理解,就是让预测值和真实值越接近越好,但是其中蕴含的基本思想还是比较有学习价值的,在数学推导过程中,最重要的是要理解每一步的目的,对于理解其他算法也是有帮助的。
5. 线性回归求解
搞定目标函数后,下面讲解求解方法,列出目标函数列如下:
既然要求极值(使其得到最小值的参数θ),对目标函数计算其偏导数即可:
经过一系列的矩阵求导计算就得到最终的结果(关于矩阵求导知识,了解即可),但是,如果上式中的矩阵不可逆会怎么样?显然那就得不到结果了。其实大家可以把线性回归的结果当作一个数学上的巧合,真的就是恰好能得出这样的一个值。但这和机器学习的思想却有点矛盾,本质上是希望机器不断地进行学习,越来越聪明,才能找到最适合的参数,但是机器学习是一个优化的过程,而不是直接求解的过程。
没有谁的生活会一直完美,但无论什么时候,都要看向前方,满怀希望就会所向披靡。—— 巫哲 《撒野》
-
-
线性回归算法简介
2020-06-11 11:24:56线性回归(Linear Regression)定义:是一种通过对样本特征进行线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值...下面我们将对线性回归算法中的参数做逐一线性回归(Linear Regression)定义:是一种通过对样本特征进行线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小。
图1:一维数据,线性拟合模型
图2:二维数据,平面拟合模型
API文档
sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)
下面我们将对线性回归算法中的参数做逐一说明:
‘fit_intercept’:布尔值,True or False作为可选项,默认为True。意思是是否返回线性回归函数的截距。
‘normalize’:布尔值,True or False作为可选项,默认为False。意思是是否对样本数据做标准化处理((每一个样本数据-均值)/标准差)。如果fit_interceptr = False,normalize = True,那么在对样本进行训练之前,必须做标准化处理。
‘copy_X’:布尔值,True or False作为可选项,默认为True。True意味着样本X将被复制,False意味着样本X是被重新写入的。
‘n_jobs’:整数值,意思是运算时所使用的处理器数量。n_jobs = 1,使用一个处理器单元,n_jobs = -1,使用所有处理器单元。
应用案例演示
下面以sklearn自带的数据集boston房价数据集为例,来使用线性回归算法对未知样本进行房价预测。
boston房价数据集
可以点击这个链接查看下该数据集的简单介绍,下面我们做一下简单的代码示例。#导入接下来要使用的库 import numpy as np from sklearn import datasets from sklearn.linearn_model import LinearRegression from sklearn.model_selection import train_test_split #导入数据集 boston = datasets.load_boston() #获取特征 X = boston.data #获取标签值 y = boston.target #数据切分 X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=0) #导入线性回归模型 lr = LinearRegression() #使用训练集对模型进行训练 lr.fit(X_train,y_train) lr.predict(X_test[:10,:]) array([24.9357079 , 23.75163164, 29.32638296, 11.97534566, 21.37272478, 19.19148525, 20.5717479 , 21.21154015, 19.04572003, 20.35463238]) #打印出前10个真实值 print(y_test[:10]) [22.6 50. 23. 8.3 21.2 19.9 20.6 18.7 16.1 18.6]#可以看出预测值在真实值的上下波动。 #评估模型的精度 lr.score(X_test,y_test) 0.6733825506400183#模型的精度只有67%,没有达到我们理想的准确度。
从模型的预测精度可以看出,67%显然无法达到我们的预期。该数据集是一个13维的数据集,有13个变量特征(例如房子的位置,面积,楼层,卧室数量等等)可以对我们的价格产生影响,后期我们可以对原始数据集作进一步的预处理,对特征进行筛选,以使得模型能更好的拟合我们的数据。
模型的属性
针对以上数据集,我们得出线性模型类似于这样: y = a 1 ∗ X 1 + a 2 ∗ X 2 + ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + a 13 ∗ X 13 + b y = a_1 * X_1 + a_2 * X_2 +······+ a_{13} * X_{13} + b y=a1∗X1+a2∗X2+⋅⋅⋅⋅⋅⋅+a13∗X13+b
其中 a 1 , a 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ a 13 a_1,a_2······a_{13} a1,a2⋅⋅⋅⋅⋅⋅a13是我们数据集中13个变量特征的权重参数, b b b是偏置参数。现我们可以应用模型的属性得出权重参数与常数项。#权重参数 lr.coef_ array([-1.21310401e-01, 4.44664254e-02, 1.13416945e-02, 2.51124642e+00, -1.62312529e+01, 3.85906801e+00, -9.98516565e-03, -1.50026956e+00, 2.42143466e-01, -1.10716124e-02, -1.01775264e+00, 6.81446545e-03, -4.86738066e-01]) #偏置参数 lr.intercept_ 37.93710774183296
lr算法的优缺点
优点:
结果具有很好的可解释性,权重参数很清晰的体现了各特征在结果预测中所起的作用。
缺点:
对非线性数据拟合效果不好。 -
【ML】线性回归适用场景-原理-优缺点汇总
2020-03-25 22:40:531.什么是回归? 回归是监督学习的一个...线性回归几乎是最简单的模型了,它假设因变量和自变量之间是线性关系的,一条直线简单明了。 2.适用场景 3.原理 线性回归模型 f(x)=WX + b 目的:找出W,使得f(x...1.什么是线性回归?
回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值也随之发生变化。回归模型正是表示从输入变量到输出变量之间映射的函数。线性回归几乎是最简单的模型了,它假设因变量和自变量之间是线性关系的,一条直线简单明了。
2.适用场景
自变量和因变量之间是线性关系
适用于low dimension, 而且每一维之间都没有共线性。
3.原理
线性回归模型
f(x)=WX + b
目的:找出W,使得f(x1)尽可能的接近y1
损失函数
想要评价一个模型的优良,就需要一个度量标准。对于回归问题,最常用的度量标准就是均方差(MSE,Mean Squared Error),均方差是指预测值和实际值之间的平均方差。平均方差越小,说明测试值和实际值之间的差距越小,即模型性能更优。
均方误差为损失函数。
均方误差最小化目标函数的方法称为最小二乘法。原因:有十分好的几何意义,对应了常用的欧式距离。在线性回归中,就是找到一个直线,使得所有样本到直线的欧式距离最小。
推导:
包含了使用最小二乘法进行求解,还有最小二乘法和最大似然估计的联系:
线性回归的优缺点
优点
-
直接。
-
快速。
-
可解释性好。
缺点
-
需要严格的假设。
-
需处理异常值,对异常值很敏感,对输入数据差
参考链接:
1.多种回归方式讲解:https://www.jianshu.com/p/b628c90e1c1c
-
-
线性回归分析-回归算法
2019-09-05 14:25:35线性回归分析-回归算法 1 回归算法之线性回归 回归问题的判定:目标是连续的,在指定区间内可以是任意一个数值。 线性回归的定义是:目标值预期是输入变量的线性组合。线性回归通过一个或多个自变量与因变量... -
机器学习常见算法优缺点之逻辑回归
2019-04-01 17:41:52其中,逻辑回归是机器学习中一个常见的算法,在这篇文章中我们给大家介绍一下关于逻辑回归的优缺点,大家有兴趣的一定要好好阅读哟。 首先我们给大家介绍一下逻辑回归的相关知识,逻辑回归的英文就是Logistic ... -
logistic回归分析优点_逻辑回归算法的优缺点
2020-11-20 15:40:05导读逻辑回归算法是最经典的几个机器学习算法之一,本文对它的优点,缺点进行总结。1. 逻辑回归算法逻辑回归属于判别式模型,同时伴有很多模型正则化的方法(L0, L1,L2,etc),而且你不必像在用朴素贝叶斯那样担心... -
回归算法之非线性回归
2020-12-30 13:09:16起步非线性回归是线性回归的延伸,线性就是每个变量的指数都是 1,而非线性就是至少有一个变量的指数不是 1。生活中,很多现象之间的关系往往不是线性关系。选择合适的曲线类型不是一件轻而易举的工作,主要依靠专业... -
机器学习中的五种回归模型及其优缺点
2018-04-14 17:25:35本文将会介绍五种常见的回归模型的概念及其优缺点,包括线性回归(Linear Regression), 多项式回归(Ploynomial Regression), 岭回归(Ridge Regression),Lasso回归和弹性回归网络(ElasticNet Regression). ... -
07_线性回归的缺点
2019-08-19 20:20:39y = wx + b 这种单项式在数学模型中表示一根直线,但是生产环境中很多的数据例如股票,销售涨跌它都是曲线结构的,这就会导致单项式的线性回归预测率低 构建单项式回归 大家可以看到,单项式线性回归在可视化... -
线性回归算法
2018-09-09 22:08:38线性回归 什么是线性回归 如果我们能够建立了回归背后的数学模型,我们便可以根据输入变量来预测输出量。这个数学模型就是回归方程,里面的系数就是回归系数。求解这些回归系数的过程就是回归。 一元线性回归 ... -
【sklearn】线性回归 - 预测波士顿房价
2019-09-14 12:35:09本文使用Python的sklearn类库,基于对机器学习线性回归算法的理论学习,利用sklearn中集成的波士顿房价数据,以此来对线性回归的理论知识进行一次实践总结。 本文不以预测的准确率为目的,只是简单的对机器学习的... -
机器学习回归算法—线性回归及案例分析
2018-03-24 18:40:06一、回归算法回归是统计学中最有力的工具之一。机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于连续型分布预测,针对的是数值型的样本,使用... -
三种回归算法及其优缺点
2018-12-04 20:16:00在这一简单的模型中,单变量线性回归的任务是建立起单个输入的独立变量与因变量之间的线性关系;而多变量回归则意味着要建立多个独立输入变量与输出变量之间的关系。除此之外,非线性的多项式回归则将输入变量进行一... -
回归算法之线性回归
2020-03-22 21:40:43数据挖掘有两大主题分别是回归和分类,接下来我们需要对每一种分类、回归算法进行学习和总结,这篇文章是我学习了最简单的回归和分类算法基础上总结出的个人经验,希望大家多多指教有什么不对可以提出来。... -
机器学习常见算法的优缺点之SVM和线性回归
2019-04-03 16:52:42通过这些知识我们不难发现每个算法都是有很多功能的,这些功能能够更好地帮助大家理解机器学习的相关知识,在这篇文章中我们给大家介绍一下关于SVM和线性回归的优缺点。 首先我们给大家介绍一下SVM支持向量机。其实... -
十大机器学习算法优缺点.docx
2022-06-14 14:36:16十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器学习算法优缺点.docx十大机器... -
十大机器学习算法优缺点.pdf
2022-06-14 14:17:24十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优缺点.pdf十大机器学习算法优... -
经典机器学习算法优缺点比较.docx
2022-06-15 09:05:53经典机器学习算法优缺点比较.docx经典机器学习算法优缺点比较.docx经典机器学习算法优缺点比较.docx经典机器学习算法优缺点比较.docx经典机器学习算法优缺点比较.docx经典机器学习算法优缺点比较.docx经典机器学习... -
经典机器学习算法优缺点比较.pdf
2022-06-15 08:50:02经典机器学习算法优缺点比较.pdf经典机器学习算法优缺点比较.pdf经典机器学习算法优缺点比较.pdf经典机器学习算法优缺点比较.pdf经典机器学习算法优缺点比较.pdf经典机器学习算法优缺点比较.pdf经典机器学习算法优... -
常用机器学习算法优缺点分析.docx
2022-06-14 16:23:46常用机器学习算法优缺点分析.docx常用机器学习算法优缺点分析.docx常用机器学习算法优缺点分析.docx常用机器学习算法优缺点分析.docx常用机器学习算法优缺点分析.docx常用机器学习算法优缺点分析.docx常用机器学习... -
常用机器学习算法优缺点分析.pdf
2022-06-14 16:05:22常用机器学习算法优缺点分析.pdf常用机器学习算法优缺点分析.pdf常用机器学习算法优缺点分析.pdf常用机器学习算法优缺点分析.pdf常用机器学习算法优缺点分析.pdf常用机器学习算法优缺点分析.pdf常用机器学习算法优... -
【机器学习】线性回归算法分析
2017-12-11 00:00:00AI人工智能时代,机器学习,深度学习作为其核心,本文主要介绍机器学习的基础算法,以详细线介绍线性回归算法及其数学原理探究,做到知其然知其所以然,打好理论基础。目录机器学习及人工智能机器学习分类有监督学习... -
监督学习算法——线性回归算法
2020-04-27 12:27:28文章目录线性回归工作原理简单线性回归最小二乘法:公式向量化多元线性回归正规方程解:梯度下降解优缺点线性回归算法的 评测sklearn 中线性回归算法调用手打python实现简单线性回归 线性回归工作原理 简而言之,... -
机器学习(算法篇) —— 线性回归
2021-08-19 13:54:26线性回归简介 线性回归应用场景 房价预测 销售额度预测 贷款额度预测 什么是线性回归 定义与公式 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一...