线性回归—求解介绍及回归扩展

原创 2018年04月17日 21:27:01

作为机器学习中的线性回归,它是一个典型的回归问题,由于容易理解、可解释性强,被广泛应用于机器学习的过程中。为了深入了解线性回归相关知识,飞马网于4月12日晚邀请到先后在1号店、飞牛网等电商企业从事算法工作的张飞老师,在线上直播中,为我们分享线性回归知识。

线性回归_页面_01.jpg 

以下本次是分享实录:

一.回归的概念

回归在我们的日常工作中经常会用到,比如预测销量、房价等,我们首先来了解一下什么是回归?

线性回归_页面_02.jpg 

二.变量之间的关系

两个变量之间的关系是怎样的呢?主要包括两种关系:确定性关系和非确定性关系。确定性关系可以通过函数表达出来,例如圆点周长与半径的关系、速度和时间与路程的关系、X与Y的函数关系等。非确定性关系表示两变量之间一种宏观上的关系,不能精确用函数关系来表达,例如青少年身高与年龄的关系、身高与体重的关系、药物浓度与反应率的关系。

线性回归_页面_03.jpg 

三.线性回归的概念

我们下面来介绍线性回归的概念。当两个变量存在准确、严格的直线关系时,可以用Y=a+bX(X为自变量,Y是因变量),表示两者的函数关系。

线性回归_页面_04.jpg 

那为什么叫“回归”呢?这里简单了解一下。高尔顿在研究人的身高时,发现父代与子代的身高不是处于两个极端,而是反映了一个规律,这两种身高父亲的儿子的身高,有向他们父辈的平均身高回归的趋势,即当父亲高于平均身高时,他们的儿子身高比他更高的概率要小于比他更矮的概率;父亲矮于平均身高时,他们的儿子身高比他更矮的概率要小于比他更高的概率,这就是所谓的回归效应。

线性回归_页面_05.jpg 

四.线性回归求解(回归参数的估计)

1.最小二乘法:

要求出a和b这两个参数,就要用到最小二乘法的计算方法,我们看下图的回归方程。最小二乘法即保证各实测点到回归直线的纵向距离的平方和最小,并使计算出的回归方程最能代表实测数据所反映出的直线趋势。

线性回归_页面_06.jpg 

我们简单了解一下最小二乘法计算过程的例子:

线性回归_页面_07.jpg 

函数模型写成矩阵式如下图。t1至tn为输入值,b0、b1做了一个矩阵乘法,y1到yn是实际的值。

线性回归_页面_08.jpg 

根据下面这张图中的战舰数据,我们求b1。

线性回归_页面_09.jpg 

具体计算过程如下:

线性回归_页面_10.jpg 

上面所讲的最小二乘法均是在二元情况下,我们再看看多元情况下的最小二乘法,也可以用矩阵式表达,如下图所示:

线性回归_页面_11.jpg 

用矩阵转置的运算方法来求解,会涉及矩阵逆的计算,就会有一个问题,如果数据量较大,计算就会非常慢,这是就要判断拟合的好坏,那我们用什么指标来衡量呢?第一个方法是我们计算出SE、SR、ST。

线性回归_页面_13.jpg 

线性回归_页面_14.jpg 

我们也可以通过另外的指标—相关系数来衡量拟合的好坏:

线性回归_页面_15.jpg 

在多元线性回归时,数据量比较大的情况下,最小二乘法求解耗费的资源较大,那我们有没有其它的方法呢?我们来看下面这张图:

线性回归_页面_16.jpg 

2.梯度下降:

由此我们引出全新的一个方法来求解线性回归参数—梯度下降,这是我们常用到的一个方法,它计算量较小,且可以得到一个相对而言的局部最优解。一起来看一下梯度下降的方法和算法过程图:

线性回归_页面_17.jpg 

梯度下降本质上是求出一个函数的最小值,使得它的损失函数最小,因此针对损失函数用梯度下降,就能够使梯度下降和线性回归整合,看下图:

线性回归_页面_18.jpg 

①梯度下降Feature Scaling

为了加快梯度下降的执行速度,我们就要将特征标准化,常用的标准化方法如下:

线性回归_页面_19.jpg 

下面是一个练习题:

线性回归_页面_20.jpg 

②梯度下降 多元

在实际问题中,我们的特征不可能只有两个,也许会有很多个,这边举了一个房价的例子:

线性回归_页面_21.jpg 

它的损失函数和之前一样,只是变成了在多元情况下,梯度求解也是由之前的一元改为多元情况,把对应的值求出来,我们来看图:

线性回归_页面_22.jpg 

下面我们来看一下例子:

线性回归_页面_23.jpg 

在实际工作中,这个方法常被用于进行机器算法求解,或者是转置矩阵的形式。

③随机梯度下降

梯度下降有一个扩展性问题,当样本点很大的时候,计算起来就会很慢,所以接下来又提出了随机梯度下降算法。

随机梯度下降算法计算起来很快,但是收敛的过程比较曲折,整体效果上,大多数时候它只能接近局部最优解,而无法真正达到局部最优解,适合用于较大训练集的情况。

它的公式如图所示:

线性回归_页面_24.jpg 

3.比较最小二乘法与梯度下降:

介绍完最小二乘法和梯度下降之后,我们把两者进行一个比较:

线性回归_页面_25.jpg 

五.回归扩展

最后一部分是对于线性回归的扩展,主要介绍岭回归与Lasso回归。

1.岭回归:

其实就是在原本的方程里加入了I2范数,为什么要加I2范数呢?I2范数就是一个惩罚项,使得模型的泛化能力更强,防止我们把参数求解出来之后,在预测过程中所产生模型训练过拟合现象,在预测结果上达到预定效果。

线性回归_页面_26.jpg 

2.Lasso回归:

它是加入了I1范数,I1的好处是存文档时,把某些待估系数输送到邻之间。从下图中可以很直观地看出岭回归与Lasso回归的区别。

线性回归_页面_27.jpg 

以上五大部分就是张老师要讲解的主要内容,下面是最后的问答环节,我们一起来看看都有些什么问题。

1.请问函数的推导过程是不是都要记清楚,还是能运用模型就可以了?

张老师:我们在学习算法时,对算法的基本原理要清楚,像线性回归的求参过程、最小二乘法、梯度下降法,对这些知识的掌握都要比较熟练,至于函数的推导过程不需要完全掌握,但对它的原理一定要清楚,否则就达不到预期效果,不知道如何去调优。

2.为什么最小二乘法是最优方法?

张老师:最小二乘法只是求解线性回归的一种方法,这种方法是求坐标轴实际值与目标值之间的差的平方,它的精度比较弱,适用的模型只有线性回归,在特征非常多时,求解速度也会非常慢,导致模型无法求解成功,一般情况下,我们都是运用梯度下降法来求解参数值,它能逼近局部最优解,所以我们更推荐梯度下降法。

3.归一化怎么应用?

张老师:归一化有很多方法,用当前值减去平均值再除以最大值减最小值,这个是比较简单的方法,但这个方法有一定的局限性,比如样本里面出现异常值,可能会对归一化的顺序产生一定影响,还有其它的一些方法。至于怎么去应用,我们要根据具体的应用场景去选择相应的方法。

 

以上就是本次线上直播的全部内容,相信通过本次学习,在实际工作当中,大家能更熟练地去运用线性回归算法。想了解更多更详细内容的小伙伴们,可以关注服务号:FMI飞马网,点击菜单栏飞马直播,即可进行学习。

 

 

服务号.jpg

线性回归——最小二乘求解

线性回归 线性回归用于数值预测,它的主要思想是利用预定的权值将属性进行线性组合来表示类别: y=w0+w1x1+w2x2+...+wnxny = w_0 + w_1x_1 + w_2x_2 + ....
  • l294265421
  • l294265421
  • 2016-09-11 14:47:04
  • 1599

线性回归之最小二乘法

线性回归线性回归是很常见的一种回归,线性回归可以用来预测或者分类,主要解决线性问题。最小二乘法线性回归过程主要解决的就是如何通过样本来获取最佳的拟合线。最常用的方法便是最小二乘法,它是一种数学优化技术...
  • wangyangzhizhou
  • wangyangzhizhou
  • 2017-03-03 10:51:51
  • 4301

线性回归的概率解释

在线性回归问题中,为了对参数θ求解,使用了代价函数J(θ)=∑(i=1,2,...m) (y(i)-θx(i))²/2,这里给出使用该函数的概率上的解释。 首先,假设其中,ε(i)表示未被建模的特征...
  • huayunlong1
  • huayunlong1
  • 2016-07-21 10:11:50
  • 858

机器学习(5)多项式回归:用基函数扩展线性模型

机器学习中的一个常见模式是使用数据的非线性函数训练的线性模型。 这种方法保持了线性方法的一般快速的性能,同时允许它们适应更宽范围的数据。 例如,可以通过从系数构建多项式特征来扩展简单的线性回归。 在...
  • voidfaceless
  • voidfaceless
  • 2017-03-15 09:18:56
  • 840

机器学习_最小二乘法,线性回归与逻辑回归

线性回归,直观地说,在二维情况下,已知一些点的X,Y坐标,统计条件X与结果Y的关系,画一条直线,让直线离所有点都尽量地近(距离之和最小),用直线抽象地表达这些点,然后对新的X预测新的Y。具体实现一般使...
  • xieyan0811
  • xieyan0811
  • 2017-11-17 16:14:41
  • 489

【机器学习】动手写一个全连接神经网络(二):线性回归

我们来用python写一个没有正则化的双隐藏层线性回归神经网络。
  • lpsl1882
  • lpsl1882
  • 2017-01-11 00:34:17
  • 552

最大似然估计解决线性回归

我们得到一堆数据(xi,yi),现在要用线性方程的形式去做回归,线性方程结构为:y=f(x)+e,其中f(x)=w*x,w是我们要进行估计的参数向量,e是噪声,且该噪声服从均值为0高斯分布,即:e~N...
  • canghaidehai
  • canghaidehai
  • 2017-05-04 17:10:52
  • 1763

8种方法用Python实现线性回归,为你解析最高效选择

来源:大数据文摘编译:丁慧、katherine Hou、钱天培作者:TirthajyotiSarkar本文共1856字,建议阅读6分钟。本文为大家对比了8种用Python实现线性回归的方法哪个更高效。...
  • tMb8Z9Vdm66wH68VX1
  • tMb8Z9Vdm66wH68VX1
  • 2018-01-18 00:00:00
  • 562

线性回归概率解释(Linear Regression)

普通线性模型,线性模型的概率解释,贝叶斯线性模型,广义线性模型
  • sz464759898
  • sz464759898
  • 2015-02-28 23:41:50
  • 1833

回归经典系列之递归和分治思想下

http://blog.csdn.net/sgnyyy/article/details/7490595 1       分治思想 (Divide-and-Conquer) 分治算法的基本思想是将...
  • miao6664659
  • miao6664659
  • 2012-12-11 20:07:28
  • 1342
收藏助手
不良信息举报
您举报文章:线性回归—求解介绍及回归扩展
举报原因:
原因补充:

(最多只允许输入30个字)