回归分析是用来评估变量之间关系的统计过程。用来解释自变量X与因变量Y的关系。即当自变量X发生改变时,因变量Y会如何发生改变。

线性回归是回归分析的一种,评估的自变量X与因变量Y之间是一种线性关系,当只有一个自变量时,成为简单线性回归,当具有多个变量时,称为多元线性回归。

线性关系的理解:

>画出来的图像是直的(简单线性回归是直线,多元线性回归是超平面)

>每个自变量的最高次项为1

拟合是指构建一种算法,使得该算法能够符合真实的数据。从机器学习角度讲,线性回归就是要构建一个线性函数,使得该函数与目标值之间的相符性最好。从空间的角度来看,就是要让函数的直线(面),尽可能靠近空间中所有的数据点(点到直线的平行于y轴的距离之和最短)。线性回归会输出一个连续值。

线性回归模型

1、简单线性回归(用直线拟合数据关系)

我们可以以房屋面积(x)与房价(y)为例,二者是线性关系,房屋价格正比于房屋面积,假设比例为w:

然而,这种线性方程一定是过原点的,即x为0时,y也一定为0。这可能并不符合现实中某些场景。为了能够让方程具有更广泛的适应性,就要再增加一个截距,设为b,则方程可以变为:

以上方程就是数据建模的模型,w与b就是模型的参数。
线性回归是用来解释自变量与因变量之间的关系,但这种关系并非严格的函数映射关系。

2、多元线性回归(多元线性回归在空间中,可以表示为一个超平面,去拟合空间中的数据点)

现实中的数据可能是比较复杂的,自变量也可能不止一个,例如,影响房屋价格也很可能不止房屋面积一个因素,可能还有是否在地铁附近,房间数,层数,建筑年代等诸多因素。不过,这些因素对房价影响的权重是不同的,因此,我们可以使用多个权重来表示多个因素与房屋价格的关系:

  • x:影响因素,即特征。
  • w:每个x的影响力度。
  • n:特征的个数。
  • y^:房屋的预测价格。

这样,就可以表示为:

多元线性回归在空间中,可以表示为一个超平面,去拟合空间中的数据点。
我们的目的就是从现有的数据中,去学习w与b的值。一旦w与b的值确定,就能够确定拟合数据的线性方程,这样就可以对未知的数据x进行预测y(房价)。

线性回归(详解)

还是按照简介的思路来说,以简单的一元线性回归(一元代表只有一个未知自变量)做介绍。

有n组数据,自变量x(x1,x2,…,xn),因变量y(y1,y2,…,yn),然后我们假设它们之间的关系是:f(x)=ax+b。那么线性回归的目标就是如何让f(x)和y之间的差异最小,换句话说就是a,b取什么值的时候f(x)和y最接近。
这里我们得先解决另一个问题,就是如何衡量f(x)和y之间的差异。在回归问题中,均方误差是回归任务中最常用的性能度量(自行百度一下均方误差)。记J(a,b)为f(x)和y之间的差异,即


i代表n组数据中的第i组。
这里称J(a,b)为损失函数,明显可以看出它是个二次函数,即凸函数(这里的凸函数对应中文教材的凹函数),所以有最小值。当J(a,b)取最小值的时候,f(x)和y的差异最小,然后我们可以通过J(a,b)取最小值来确定a和b的值。

到这里可以说线性回归就这些了,只不过我们还需要解决其中最关键的问题:确定a和b的值。

下面介绍三种方法来确定a和b的值:

1、最小二乘法

既然损失函数J(a,b)是凸函数,那么分别关于a和b对J(a,b)求偏导,并令其为零解出a和b。这里直接给出结果:

解得:

2、梯度下降法

首先你得先了解一下梯度的概念:梯度的本意是一个向量(矢量),表示某一函数(该函数一般是二元及以上的)在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
当函数是一元函数时,梯度就是导数。这里我们用一个最简单的例子来讲解梯度下降法,然后推广理解更为复杂的函数。
还是用上面的例子,有n组数据,自变量x(x1,x2,…,xn),因变量y(y1,y2,…,yn),但这次我们假设它们之间的关系是:f(x)=ax。记J(a)为f(x)和y之间的差异,即

在梯度下降法中,需要我们先给参数a赋一个预设值,然后再一点一点的修改a,直到J(a)取最小值时,确定a的值。下面直接给出梯度下降法的公式(其中α为正数):

下面解释一下公式的意义,J(a)和a的关系如下图,

假设给a取的预设值是a1的话,那么a对J(a)的导数为负数,则

也为负数,所以

意味着a向右移一点。然后重复这个动作,直到J(a)到达最小值。
同理,假设给a取的预设值是a2的话,那么a对J(a)的导数为正数,则

意味着a向左移一点。然后重复这个动作,直到J(a)到达最小值。
所以我们可以看到,不管a的预设值取多少,J(a)经过梯度下降法的多次重复后,最后总能到达最小值。
这里再举个生活中的栗子,梯度下降法中随机给a赋一个预设值就好比你随机出现在一个山坡上,然后这时候你想以最快的方式走到山谷的最低点,那么你就得判断你的下一步该往那边走,走完一步之后同样再次判断下一步的方向,以此类推就能走到山谷的最低点了。而公式中的α我们称它为学习率,在栗子中可以理解为你每一步跨出去的步伐有多大,α越大,步伐就越大。(实际中α的取值不能太大也不能太小,太大会造成损失函数J接近最小值时,下一步就越过去了。好比在你接近山谷的最低点时,你步伐太大一步跨过去了,下一步往回走的时候又是如此跨过去,永远到达不了最低点;α太小又会造成移动速度太慢,因为我们当然希望在能确保走到最低点的前提下越快越好。)
到这里,梯度下降法的思想你基本就理解了,只不过在栗子中我们是用最简单的情况来说明,而事实上梯度下降法可以推广到多元线性函数上,这里直接给出公式,理解上(需要你对多元函数的相关知识有了解)和上面的栗子殊途同归。
假设有n组数据,其中目标值(因变量)与特征值(自变量)之间的关系为:

其中i表示第i组数据,损失函数为:

梯度下降法:

3、正规方程
(这里需要用到矩阵的知识)

正规方程一般用在多元线性回归中,原因等你看完也就能理解为什么。所以这里不再用一元线性回归举栗子了。
同样,假设有n组数据,其中目标值(因变量)与特征值(自变量)之间的关系为:

其中i表示第i组数据,这里先直接给出正规方程的公式:

推导过程如下

记矩阵

向量

损失函数为:

对损失函数求导并令其为0,有

解得

到此,就求出了所有系数θ。不过正规方程需要注意的是

在实际中可能会出现是奇异矩阵,往往是因为特征值之间不独立。这时候需要对特征值进行筛选,剔除那些存在线性关系的特征值(好比在预测房价中,特征值1代表以英尺为尺寸计算房子,特征值2代表以平方米为尺寸计算房子,这时特征值1和特征值2只需要留1个即可)。

好了,以上就是线性回归的讲解(如果对你理解线性回归确实有帮助的话,帮忙点个赞,同时也欢迎指出问题)。 下面再补充一下个人对上面三种确定系数θ方法的评估。

梯度下降法是通用的,包括更为复杂的逻辑回归算法中也可以使用,但是对于较小的数据量来说它的速度并没有优势
    正规方程的速度往往更快,但是当数量级达到一定的时候,还是梯度下降法更快,因为正规方程中需要对矩阵求逆,而求逆的时间复杂的是n的3次方
    最小二乘法一般比较少用,虽然它的思想比较简单,在计算过程中需要对损失函数求导并令其为0,从而解出系数θ。但是对于计算机来说很难实现,所以一般不使用最小二乘法。

线性回归原理----简单线性回归、多元线性回归相关推荐

  1. 傻瓜攻略(九)——MATLAB实现简单的多元线性回归(以炼钢转炉炉龄问题为例)

    1.多元线性回归 回归分析(Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关.相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣 ...

  2. 二元函数求最小值 c语言,用C语言实现简单的多元线性回归算法(二)

    上一篇我们贴上了简单粗暴的线性回归的代码,里面各种参数都设置的是固定参数,不具有可扩展性,今天我们在上一篇的基础上做了部分改进,当然对于熟悉C语言的大侠来说可能这篇博客会太low了,您完全可以跳过.我 ...

  3. 线性回归(二)---多元线性回归

    多元线性回归 一个因变量依赖两个或两个以上自变量变化而变化的回归模型称为多元线性回归● 一元线性回归: y(x)=theta0 + theta1* x 1● 多元线性回归: y(x)=theta0 + ...

  4. python多元线性回归实例_Python机器学习多元线性回归模型 | kTWO-个人博客

    前言 在上一篇文章<机器学习简单线性回归模型>中我们讲解分析了Python机器学习中单输入的线性回归模型,但是在实际生活中,我们遇到的问题都是多个条件决定的问题,在机器学习中我们称之为多元 ...

  5. 多元线性回归的缺陷_多元线性回归常见问题

    0.多元线性回归 多元线性回归是统计学中经常用到回归方法,一般需满足一下六个条件: 随机误差项是一个期望值或平均值为0的随机变量: 对于解释变量的所有观测值,随机误差项有相同的方差: 随机误差项彼此不 ...

  6. 多元线性回归的缺陷_多元线性回归模型常见问题及解决方法概要.ppt

    多元线性回归模型常见问题及解决方法概要 多元线性回归模型 基本假设 (1)随机扰动项ui数学期望(均值)为零.E(ui)=0 (2)随机扰动项ui的同方差性且无自相关Var(ui)=σ2 (3)解释变 ...

  7. Day1。Eviews做简单的多元线性回归模型(自用)

    数据录入,然后ls y x1 x3 c,或者直接点击quick-estimate equation,模型拟合结果就出来了. coefficient:系数,表明x与y的数据关系,正数表示正相关,负表示负 ...

  8. 机器学习之线性回归原理详解、公式推导(手推)、简单实例

    目录 1. 原理详解 1.1. 线性回归 1.2. 回归系数 2. 公式推导 2.1. 单元线性回归 2.2. 多元线性回归 3. 简单实例 3.1. 实例1:一元线性回归 实例2: 多元线性回归 3 ...

  9. 简单线性回归和多元线性回归

    有很多初学者不知道如何用R语言做回归,这里我讲解一下简单线性回归和多元线性回归. 当回归模型包含一个因变量和一个自变量时,我们称为简单线性回归.比如:身高和体重的关系. 当有不止一个预测变量时, 则称 ...

最新文章

  1. 关于生成漏洞信息属性代码备份
  2. Java架构体系学习路线图,这六点尤为重要!
  3. Windows 安装 pytorch3d
  4. 什么时候是找工作的最佳时期? | 原力计划
  5. 360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实
  6. jmeter吞吐量_进阶Spring Boot---Tomcat与Undertow 吞吐量对比
  7. 音量已经调到100%,如何再调整
  8. in band out of band
  9. 机器学习-吴恩达-笔记-13-大规模机器学习
  10. JavaScript--eval
  11. Java中static的用法,初始化块
  12. 【深度学习】Yolo记录
  13. 360 android root权限获取,android手机怎么root权限获取
  14. 2E07-view-lists-Collapsed
  15. 水泥路面、桥梁基建、隧道裂痕裂缝检测数据集
  16. java栈与堆的区别
  17. 查看自己电脑的开关机记录
  18. 3 photolemur 样式下载_Photolemur 3
  19. LPC1758积累--boot程序bin文件校验
  20. mt6355功率设计注意事项 [仅为mt6758]

热门文章

  1. muduo Logging详解
  2. 单细胞基因个性化作图之气泡图
  3. Win7 设置窗口以及资源管理器护眼背景颜色
  4. 水果店开在哪位置最好,水果店应开到什么位置
  5. Linux系统简介与U盘安装
  6. 【天赢金创】探究Gulp的Stream
  7. 哈希表(概念,冲突的解决,实现哈希桶)
  8. 赫容俏人参雪莲胶原肽饮怎么样?
  9. 多个刮刮乐html,HTML5canvas实现高斯模糊、刮刮乐
  10. 手机连接电脑没有反应