西瓜书学习——线性回归

文章目录

  • 基本格式
  • 线性回归
    • 一元线性回归
    • 多元线性回归

基本格式

f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x) = w_1x_1 + w_2x_2 + ... + w_dx_d + b f(x)=w1x1+w2x2+...+wdxd+b

一般可以表达为:

f ( x ) = w T x + b f(x) = w^Tx + b f(x)=wTx+b

w 和 b 可以通过学习得到。

线性回归

一元线性回归

一元线性回归是回归分析中最简单的一种形式,它用来描述两个变量之间的线性关系。其中,一个变量是因变量(或响应变量),通常表示为y;另一个变量是自变量(或解释变量),通常表示为x。一元线性回归假设因变量y和自变量x之间的关系可以用一条直线来描述,数学模型可以表示为:

y = β 0 + β 1 x + ϵ y = \beta_0 + \beta_1 x + \epsilon y=β0+β1x+ϵ

其中, β 0 \beta_0 β0 是直线在y轴上的截距, β 1 \beta_1 β1 是直线的斜率,表示 x 每增加一个单位时,y 平均增加的单位数量。 ϵ \epsilon ϵ 是误差项,表示模型未能解释的随机变异。

在一元线性回归中,我们的目标是找到最佳的 β 0 \beta_0 β0 β 1 \beta_1 β1 参数,使得模型预测的y值与实际观测的y值之间的差异(即残差)最小。这通常通过最小二乘法来实现。
最小二乘法的原理是选择 β 0 \beta_0 β0 β 1 \beta_1 β1 使得所有观测值与模型预测值之间的差的平方和最小。也就是说,我们要最小化残差平方和:

S = ∑ i = 1 n ( y i − ( β 0 + β 1 x i ) ) 2 S = \sum_{i=1}^{n} (y_i - (\beta_0 + \beta_1 x_i))^2 S=i=1n(yi(β0+β1xi))2

其中, y i y_i yi x i x_i xi 分别是第i个观测点的因变量和自变量的值,n是观测点的总数。

通过求解这个最优化问题,我们可以得到 β 0 \beta_0 β0 β 1 \beta_1 β1 的估计值:

β ^ 1 = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 \hat{\beta}_1 = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n} (x_i - \bar{x})^2} β^1=i=1n(xixˉ)2i=1n(xixˉ)(yiyˉ)

β ^ 0 = y ˉ − β ^ 1 x ˉ \hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x} β^0=yˉβ^1xˉ

其中, x ˉ \bar{x} xˉ y ˉ \bar{y} yˉ 分别是自变量x和因变量y的平均值。

一元线性回归的应用非常广泛,它可以用来预测因变量的值,分析变量之间的关系,以及进行假设检验等。在实际应用中,一元线性回归模型的有效性取决于数据是否满足线性回归的基本假设,包括线性关系、独立性、同方差性和正态性。

多元线性回归

多元线性回归是线性回归的一种形式,它涉及两个或两个以上的自变量(解释变量),用来预测一个因变量(响应变量)。多元线性回归的模型可以表示为:

y = β 0 + β 1 x 1 + β 2 x 2 + . . . + β p x p + ϵ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_p x_p + \epsilon y=β0+β1x1+β2x2+...+βpxp+ϵ

其中,y 是因变量, x 1 , x 2 , . . . , x p x_1, x_2, ..., x_p x1,x2,...,xp是自变量, β 0 \beta_0 β0 是截距, β 1 , β 2 , . . . , β p β \beta_1, \beta_2, ..., \beta_pβ β1,β2,...,βpβ 是每个自变量的系数, ϵ \epsilon ϵ 是误差项,表示模型未能解释的随机变异。

多元线性回归的目的是估计模型参数 β 0 , β 1 , . . . , β p \beta_0, \beta_1, ..., \beta_p β0,β1,...,βp ,使得模型预测的 y y y 值与实际观测的 y y y 值之间的差异(即残差)最小。这通常通过最小二乘法来实现。
最小二乘法的目标是最小化残差平方和:

S = ∑ i = 1 n ( y i − ( β 0 + β 1 x i 1 + β 2 x i 2 + . . . + β p x i p ) ) 2 S = \sum_{i=1}^{n} (y_i - (\beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + ... + \beta_p x_{ip}))^2 S=i=1n(yi(β0+β1xi1+β2xi2+...+βpxip))2

其中, y i y_i yi 是第 ii 个观测点的因变量值, x i 1 , x i 2 , . . . , x i p x_{i1}, x_{i2}, ..., x_{ip} xi1,xi2,...,xip 是对应的自变量值, n n n 是观测点的总数。

多元线性回归的参数估计通常通过矩阵方法来完成,涉及到求解正规方程组:

X T X β = X T X^T X \beta = X^T XT=XT

其中,X 是设计矩阵,包含所有自变量的观测值,y 是因变量的观测值向量, β \beta β 是参数向量。

多元线性回归的应用非常广泛,它可以用来分析多个自变量对因变量的综合影响,进行预测,以及进行变量选择和假设检验等。在实际应用中,多元线性回归模型的有效性同样取决于数据是否满足线性回归的基本假设,包括线性关系、独立性、同方差性和正态性。此外,还需要注意自变量之间的多重共线性问题,这可能导致模型参数估计的不稳定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】用CSS实现div全屏铺满的方式

在网页设计和开发中,有时我们需要让一个div元素全屏铺满整个浏览器窗口,以实现更加吸引人的视觉效果或者更好地适配不同设备的屏幕大小。 最近遇到一个需求,需要将一个div自动铺满全屏,width会默认铺满,所以不用考虑&…

LeetCode刷题总结 | 图论2—深度优先搜索广度优先搜索较为复杂应用

深搜广搜的标准模版在图论1已经整理过了,也整理了几个标准的套模板的题目,这一小节整理一下较为复杂的DFS&BFS应用类问题。 417 太平洋大西洋水流问题(medium) 有一个 m n 的矩形岛屿,与 太平洋 和 大西洋 相邻…

opencv图像处理

1、图像膨胀腐蚀 图像的膨胀(dilation)和腐蚀(erosion)主要用来寻找图像中的极大区域和极小区域。 膨胀类似于“领域扩张”,将图像的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大。 腐蚀类似于“领域被蚕食”,将图像中的…

ElasticSearch有账号密码时: kibana配置

上一篇文章我们介绍过ElasticSearch关闭账号密码的的方式: config/elasticsearch.yml文件中 xpack.security.enabled: false 当我们关闭 账号密码,kibana是可以直接访问ElasticSearch的。 真实项目中,我们是不允许数据库裸跑的,所…

【前端甜点】某视频网站的m4s视频/音频下载方案(20240420)

引言 Sample:aHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL3ZpZGVvL0JWMWZKNDExUTdWeA 我在很久以前写过一个小脚本,发XHR请求来获取某视频网站的m4s视频和音频: // 唯一要改变的就是url(url must be https),a.download是文件名&#xff…

【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

基于CppHttpLib的Httpserver

1 背景 大多数嵌入式设备由于没有屏幕输出,只能通过Web页面来配置。这里利用CPPHttpLib来实现HttpServer。 2 HttpServer HttpServer是利用CPPHttpLib开源库实现的Http服务器CppHttpLib是基于C11的HTTP开源库,开源协议是MIT. CppHttpLib下载地址 2.1 …

(2022级)成都工业学院数据库原理及应用实验六: SQL DML(增、删、改)

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求,请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询: 1、在科室表…

神经网络进阶学习文章(一)

1.讲解YOLO有关知识 深入浅出Yolo系列之Yolov5核心基础知识完整讲解 - 知乎 (zhihu.com) 2.目标检测算法综述 目标检测算法综述 - 知乎 (zhihu.com) 3.TensorFlow详解,当然现在用的最多的是Pytorch框架了 谷歌大神带你十分钟看懂TensorFlow - 知乎 (zhihu.co…

黑色主题个人主页HTML源码

源码介绍 黑色主题个人主页HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 效果预览 源码下载 黑色主题个人主页HTML源码

js的reduce

在JavaScript中,reduce() 是数组(Array)对象的一个方法,用于将数组中的所有元素归并成一个单一的输出值(通常是数字,但也可以是字符串或其他类型)。这个方法通过接收一个函数作为累加器&#xf…

LeetCode题练习与总结:编辑距离--72

一、题目描述 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:word1 "horse", word2…

window cmd/PowerShell 实时查看监控日志命令Get-Content,类似与linux shell的tail命令

命令 最近10行,使用UTF8字符编码 Get-Content app.log -Wait -Tail 10 -Encoding UTF8查找“关键字”,忽略大小写,显示关键字的上下1行 Get-Content app.log -Wait -Tail 10 -Encoding UTF8 | Select-String "keyword" -CaseSen…

clickhouse学习笔记04

ClickHouse高可用之ReplicatedMergeTree引擎介绍 ClickHouse高可用架构准备-环境说明和ZK搭建 RPM安装ClickHouse 上传我们的clickhouse rpm文件。 安装: 中途需要输入用户名和密码 可以不设置 直接回车。 启动: 查看状态: 查看端口是否占用…

【状态压缩 并集查找 图论】2157. 字符串分组

本文涉及知识点 状态压缩 并集查找 图论 LeetCode2157. 字符串分组 给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。 如果通过以下操作之一,我们可以从 s1 的字母集…

Rust常用特型之AsRef和AsMut特型

在Rust标准库中&#xff0c;存在很多常用的工具类特型&#xff0c;它们能帮助我们写出更具有Rust风格的代码。 今天我们要学习的AsRef和AsMut&#xff0c;和前面学习的Deref和DerefMut有那么一点混淆的地方。 当一个类型U实现了AsRef<T>&#xff0c;那么我们可以高效的从…

K8S哲学 - Pod、RC、RS、deployment

pod&#xff08;最小的可部署单元&#xff09; 容器组&#xff08;运行一个或多个容器&#xff09; Pod(容器组&#xff09;是Kubernetes 中最小的可部署单元。 一个Pod(容器组&#xff09;包含了一个应用程序容器&#xff08;某些情况下是多个容器&#xff09;、存储资源、 一…

C++练级之路——类和对象(中二)

1、运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也是具有其返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型和参数列表与普通的函数类似。 函数名字为&#xff1a;关键字operator后面接需…

【C++初识继承】

博主首页&#xff1a; 有趣的中国人 专栏首页&#xff1a; C进阶 本篇文章主要讲解 继承 的相关内容 目录 1. 继承的概念和定义 1.1 继承的概念 1.2 继承的定义 1.2.1 继承定义格式 1.2.2 继承方式与访问修饰限定符 2. 基类和派生类对象赋值转换 3. 继承中的作用域 …

npm常用命令详解(二)

npm&#xff08;Node Package Manager&#xff09;是Node.js的包管理器&#xff0c;它允许你安装、共享和管理Node.js代码库。以下是一些常用的npm命令及其详解&#xff0c;以帮助您更好地理解和使用它。 1. npm doc 功能&#xff1a;查看指定包的文档。 语法&#xff1a;np…