线性回归原理----简单线性回归、多元线性回归

article/2025/9/21 15:12:02

回归分析是用来评估变量之间关系的统计过程。用来解释自变量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,从而解出系数θ。但是对于计算机来说很难实现,所以一般不使用最小二乘法。

 


http://chatgpt.dhexx.cn/article/uiiKvLmF.shtml

相关文章

线性回归算法 php实现,PHP实现多元线性回归模拟曲线算法步骤详解

这次给大家带来PHP实现多元线性回归模拟曲线算法步骤详解,PHP实现多元线性回归模拟曲线算法的注意事项有哪些,下面就是实战案例,一起来看一下。 多元线性回归模型: y b1x1 b2x2 b3x3 ...... bnxn; 我们根据一组数据&#xff1a…

统计学考研笔记:回归方程计算题

题1: 利用某公司的年销售额Y与个人支配收入,商品价格,广告费的历年统计数据,研究Y关于,,的回归关系,得到回归方程为: Y 3573.879 6.687-25.051 9.316 (1981.741) (1.192) (24.515) (2.73…

一元一次线性回归详解

一元一次线性回归 作为机器学习的入门课程,线性回归是我们必须要学习的第一个算法。今天我们就来详细的讲解一下线性回归。 在讲解之前,我们先来解释以下几个问题。 可为线性?线性是指自变量x和因变量y之间是线性的关系,即图像…

线性回归之梯度下降详解

在了解梯度下降(Gradient Descent)之前,我们先要知道有关线性回归的基本知识,这样可以进一步的加深对梯度下降的理解,当然梯度下降(Gradient Descent)并不单单只能进行回归预测,它还…

【机器学习】线性回归——最小二乘法(理论+图解+公式推导)

🌠 『精品学习专栏导航帖』 🐳最适合入门的100个深度学习实战项目🐳🐙【PyTorch深度学习项目实战100例目录】项目详解 数据集 完整源码🐙🐶【机器学习入门项目10例目录】项目详解 数据集 完整源码&…

线性回归例题解析

前往我的主页以获得更好的阅读体验线性回归例题解析 - DearXuan的主页https://blog.dearxuan.com/2022/03/23/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E4%BE%8B%E9%A2%98%E8%A7%A3%E6%9E%90/ 例题 调查某市出租车使用年限和该年支出维修费用(万元)&#…

windows计算机管理快捷键,windows系统常见快捷键大全

熟练电脑键盘快捷键有助于提供办公效率,但是对于一些职场的电脑小白来说,什么都不会,几分钟的工作需要几个小时来完成,如何在职场上立足呢?下面小编给您整理了常见的windows快捷键大全,让你的高效办公&…

桌面计算机休眠快捷键,电脑休眠唤醒快捷键

设置电脑休眠唤醒快捷键的方法 1、在电脑桌面空白处点击右键。 2、在新建列表中选择新建快捷方式。 3、在键入对象的位置栏中,输入rundll32.exe? powrprof.dll,SetSuspendState Hibernate。创建一个休眠命令。 4、把快捷方式的名字改为休眠即可。 设置电脑休眠键的…

修改PyCharm的快捷键

有的电脑系统中,按下一些PyCharm组合键可能会无法起作用,这是因为可能和当前系统的其他软件快捷键发生了冲突。 大家有需要可以更改下默认的快捷键,下面以Ctrl空格的自动代码补齐快捷键为例,方法是选择File——Settings&#xff…

调整计算机屏幕亮度快捷键,笔记本亮度调节的快捷键

现在小伙伴们使用电脑的时间越来越多,长时间使用电脑,对我们的眼睛伤害很大。建议大家使用一两个小时的电脑就要停下来休息10分钟,眺望远方。除此之外,电脑屏幕亮度的控制也是很有必要的。但是笔记本亮度调节的快捷键怎么使用呢&a…

立创eda快捷键

默认的快捷键列表如下。共用快捷键文档类型快捷键功能所有Space(空格键)旋转所选图形所有鼠标右键长按右键拖动画布;操作过程中按一下右键释放操作’所有Left向左滚动或左移所选图形所有Right向右滚动或右移所选图形所有Up向上滚动或上移所选图形所有Down向下滚动或…

Pycharm 常用快捷键 for Mac

格式化代码: command option L多行合并一行:control shift J快速注释/取消注释:crtl /鼠标指针上方插入空行:command option enter鼠标指针下方插入空行:shift enter上下移动选中代码: shift opti…

常用Windows快捷键大全

0. 简要 要将电脑玩的溜,快捷键是必须要掌握的技能,本文汇总了一些常用的快捷键,相信加以练习,一定能提高你的工作效率。 笔者将常用快捷键分为四个系列,如下所示: Win 系列Ctrl 系列Alt 系列F 系列 本…

vscode 快捷键 删除当前行

vscode 快捷键删除当前行默认的是 ctrlshiftk 但是会与搜狗输入法的快捷键冲突 解决办法 1.更换其他输入法 2.修改搜狗输入法的快捷键 3.修改vscode 快捷键 ,改成自己舒服的 修改vscode快捷键方法

计算机删除行快捷键,删除快捷键是什么?电脑删除快捷键有哪些?

在使用电脑的时候,除了鼠标之外,就是键盘最常用了。而在我们的日常操作中,为了操作更加方便,就有了快捷键。快捷键又称热键,指可以通过某些特定的按键和按键顺序及其组合来完成一项操作,多和Ctrl、Shift、A…

如何理解矩阵特征值

(下面的回答只涉及实数范围)。 关于特征值、特征向量可以讲的确实很多,我这里希望可以给大家建立一个直观的印象。 先给一个简短的回答,如果把矩阵看作是运动,对于运动而言,最重要的当然就是运动的速度和方…

矩阵特征值的求解例子

请点击上面公众号,免费订阅。  《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来&…

矩阵和特征值的本质

理解矩阵和特征向量的本质 原文地址 最近复习矩阵论中,又是一堆定理和证明突然发现学了这么常时间的矩阵论、线性代数,记住的只是一堆莫名其妙的定理而已,一些本质的东西都没有搞清楚。 比如,为什么要有矩阵,它仅仅是…

MATLAB矩阵的特征值与特征向量

1.矩阵特征值的数学定义 设A是n阶方阵,如果存在常数λ和n维非零列向量x,使得等式Ax λx 成立,则称λ为A的特征值,x是对应特征值λ的特征向量。 2.求矩阵的特征值与特征向量 在MATLAB中,计算矩阵的特征值与特征向量的…

线性代数教程 矩阵的特征值

CSDN 的文档显示有一些问题,一些数学符号显示不正确,想看 word文档 的可以移步到 github : LearningDocuments/学习资料/平台无关/线性代数 at master IceEmblem/LearningDocuments GitHub 矩阵的特征值与特征向量 特征值与特征向量 对于…