机器学习-线性回归基础

一、什么是回归

        依据输入x写出一个目标值y的计算方程,求回归系数的过程就叫回归。简言之:根据题意列出方程,求出系数的过程就叫做回归。

        回归的目的是预测数值型的目标值y,分类的目的预测标称型的目标值y。

二、线性回归

2.1线性回归的定义

        线性回归是一种通过历史数据寻找变量间线性规律的统计方法。它假设因变量(如销售额)与自变量(如广告费)之间存在“直线关系”,并通过拟合这条直线来预测未来结果。例如:广告费越高,销售额可能越高,这种趋势可用一条直线表示。

2.2线性回归与机器学习的关系

        线性回归是机器学习中一种有监督学习(数据有x,有y)的算法,回归问题主要关注的是因变量--y(需要预测的值)和一个或多个数值型的自变量--x(特征变量)之间的关系。

        因变量和自变量之间的关系:即模型,model,就是我们要求解的系数。

2.3线性回归在数学和ai上的区别

        上面的方程式我们人类很多年以前就知道了,但是不叫人工智能算法,因为数学公式是理想状态,是100%对的,而人工智能是一种基于实际数据求解最优最接近实际的方程式,这个方程式带入实际数据计算后的结果是有误差的。

        举个例子:在日常生活中,我们选择吃烤肠的话,一般是3元一根,根据数学公式可得y=3x,如果你选择吃两根烤肠,理论上按照数学公式来说,你应该支付6元。但是日程生活中大部分商家为了吸引顾客,都是五元两根烤肠,这就与理论数学不一致。计算的结果存在误差。

2.4线性回归的目的

  • 预测连续值‌:比如预测房价、降雨量等数值型结果。
  • 量化变量关系‌:判断广告费对销售额的影响有多大,指导资源分配。

2.5线性回归的分类 

  • 一元线性回归‌:仅1个自变量(如广告费)和1个因变量(销售额),对应二维直线。

例如:

比如1个包子是2元 ,3个包子是6元 ,预测5个包子多少钱?

列出方程: y=wx+b,我们知道这是初中学习的一元线性方程‌(或‌一次函数‌),现在进行求解,

带入(1,2),(3,6):

2=w*1+b

6=w*3+b

轻易求得 w=2 b=0

模型(x与y的关系): y=2*x+0,现在我们就求得了回归系数w=2,b=0,完成了线性回归。

  • 多元线性回归‌:多个自变量(如广告费+季节+促销),对应多维空间中的“超平面”。

本文文章内容的第4项会进行介绍。

2.6如何实现线性回归

  • 找最合适的直线‌:这条直线需满足“所有点到直线的总误差最小”,常用最小二乘法计算,后续也会提及。

如图,我们要根据植物的生长温度x,去预测生长高度y,我们要找出最合适的直线拟合数据。使该直线能尽可能准确的描述环境温度与植物高度的关系。

  • 参数意义‌:直线方程为 Y = 截距 + 斜率×X。

三、损失函数

3.1引入

        根据上一个没解决的案例《植物温度与高度之间的关系》,我们继续拓展相关知识:

数据: [[4.2, 3.8],[4.2, 2.7],[2.7, 2.4],[0.8, 1.0],[3.7, 2.8],[1.7, 0.9],[3.2, 2.9]]

我们假设这个最优的方程是生活中无法满足实际结果的y=wx+b,这样的直线有无数条,因为现在w,b暂时没有确定,我们画出随意三条直线看看拟合情况:

 三条直线中选最优直线的方式:均方差

让直线的预测值y'与真实值y对比连竖直线,这个数值线的距离越小,效果越好,这条直线就是最优直线。

3.2误差

        在上图中,我们可以发现大部分实际点并没有在线上,因此他们之间的这个竖直竖线就是误差。预测值根据公式y=wx+b推理,

把x_1,x_2,x_3...带入进去 然后得出:

y1’,=wx_1+b

y2‘,=wx_2+b

y3’,=wx_3+b

...

第一条竖线的大小:计算y1-y1‘,表示第一个点的真实值和计算值的差值 。之后的竖线大小同理:把第二个点,第三个点...最后一个点的差值全部算出来。

3.2.1 定义

        ‌误差‌(Error)指的是 ‌预测值‌ 和 ‌真实值‌ 之间的差距。

3.2.2 公式

3.3损失

在上图中,有的点在上面有点在下面,如果直接相加有负数和正数会抵消,体现不出来总误差,平方后就不会有这个问题了。

3.3.1 定义

        ‌损失(Loss)‌ 是模型预测结果偏离真实值的 ‌量化指标‌,用来衡量模型预测的 ‌“错误程度”‌。

3.3.2 公式

3.4损失函数

现在我们已经得到了总误差,但是总误差会受到样本点的个数的影响,样本点越多,该值就越大,所以我们可以对其平均化,求得平均值,这样就能解决样本点个数不同带来的影响。

在公式中Yi表示实际值,wXi+b表示预测值。用减法是因为他们要得到损失。

3.5求最小损失函数的方法

损失函数越小,我们得到的效果就越好。

(1)初中韦达定理 --抛物线求顶点(-b/2a)

(2)高中求导数值为0

3.6小结

        损失即为总误差,误差就是真实值与理想值(预测值)之差,为了避免负数出现的情况下,可以用绝对值或者平方的形式处理这个差值。

        函数即自变量(x)与因变量(y)之间的关系.

        损失函数:量化模型预测与真实结果之间的差距‌。即要找到一个数学关系(模型),让x代入关系式,求得不同的y',让y'与真实值y做差。计算均方差MSE,求法为对所有误差的平方求和再除以样本点个数,得到一个开口向上的抛物线函数。

        针对b=0时,求最小的w可以用韦达定理(-b/2a)或求导得到。

        w越小,带入原函数y=wx,直线离真实点就越近。w越大,带入原函数y=wx,直线离真实点就越远。

        权重ω表示输入特征对输出结果的影响程度,决定了回归直线的斜率。

四、多参数回归

        在上一个案例中,我们讨论的是植物生产高度与温度的关系,但是实际上,植物高度的不仅仅有温度影响,还有海拔,湿度,光照等等因素。此时特征就不止一个了,列的方程也不止一个了。因此针对多参数回归有另一解决方法:

题目要求我们根据 各情况求最后一个人的健康程度,这是典型的多参数回归问题。

但是会发现,很难求解(如果非要硬算,也可以,那你加油!)

 根据前面说的内容,我们假设这个最优方程为:

 同样推到公式,将loss函数展开为与w权重系数有关的式子,如下形式:

 此时若能求的w,就能计算出最后一个人的健康程度。

关于如何求多参数回归的系数,下一博客再进行拓展。

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

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

相关文章

解决RAGFlow(v0.19.0)有部分PDF无法解析成功的问题。

ragflow版本为:v0.19.0 1.解析的时候报错:Internal server error while chunking: Coordinate lower is less than upper。 看报错怀疑是分片的问题,于是把文档的切片方法中的“建议文本块大小”数值(默认512)调小&…

【前端】html2pdf实现用前端下载pdf

npm安装完后&#xff0c;编写代码。 <template><div id"pdf-content">需要被捕获为pdf的内容</div> </template><script> import html2pdf from html2pdf.js;export default {methods: {downloadPdf() {const element document.getE…

从零实现富文本编辑器#4-浏览器选区模型的核心交互策略

先前我们提到了&#xff0c;数据模型的设计是编辑器的基础模块&#xff0c;其直接影响了选区模块的表示。选区模块的设计同样是编辑器的基础部分&#xff0c;编辑器应用变更时操作范围的表达&#xff0c;就需要基于选区模型来实现&#xff0c;也就是说选区代表的意义是编辑器需…

数论——质数和合数及求质数

质数、合数和质数筛 质数和合数及求质数试除法判断质数Eratosthenes筛选法&#xff08;埃氏筛&#xff09;线性筛&#xff08;欧拉筛&#xff09; 质数有关OJ列举P1835 素数密度 - 洛谷简单的哥赫巴德猜想和cin优化 质数和合数及求质数 一个大于 1 的自然数&#xff0c;除了 1…

多商户系统源码性能调优实战:从瓶颈定位到高并发架构设计!

在电商业务爆发式增长的今天&#xff0c;多商户系统作为支撑平台方、入驻商家和终端消费者的核心枢纽&#xff0c;其性能表现直接决定了商业变现效率。当你的商城在促销期间崩溃&#xff0c;损失的不仅是订单&#xff0c;更是用户信任。 本文将深入剖析多商户系统源码性能优化的…

JDBC连不上mysql:Unable to load authentication plugin ‘caching_sha2_password‘.

最近为一个spring-boot项目下了mysql-9.3.0&#xff0c;结果因为mysql版本太新一直报错连不上。 错误如下&#xff1a; 2025-06-01 16:19:43.516 ERROR 22088 --- [http-nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat…

超标量处理器设计6-指令解码

1. 指令缓存 指令缓存本质上是一个FIFO, 它能够将指令按照程序中指定的顺序存储起来&#xff0c;这样指令在解码的时候&#xff0c;仍然可以按照程序中指定的顺序进行解码。指令缓存是超标量处理器中必须的部件&#xff0c;其原因有两个&#xff1a; 1. 每周期可以取指的个数大…

基于 HT for Web 轻量化 3D 数字孪生数据中心解决方案

一、技术架构&#xff1a;HT for Web 的核心能力 图扑软件自主研发的 HT for Web 是基于 HTML5 的 2D/3D 可视化引擎&#xff0c;核心技术特性包括&#xff1a; 跨平台渲染&#xff1a;采用 WebGL 技术&#xff0c;支持 PC、移动端浏览器直接访问&#xff0c;兼容主流操作系统…

【Linux】shell的条件判断

目录 一.使用逻辑运算符判定命令执行结果 二.条件判断方法 三.判断表达式 3.1文件判断表达式 3.2字符串测试表达式 3.3整数测试表达式 3.4逻辑操作符 一.使用逻辑运算符判定命令执行结果 && 在命令执行后如果没有任何报错时会执行符号后面的动作|| 在命令执行后…

【Python办公】Excel简易透视办公小工具

目录 专栏导读1. 背景介绍2. 功能介绍3. 库的安装4. 界面展示5. 使用方法6. 实际应用场景7. 优化方向完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系…

HarmonyOS鸿蒙与React Native的融合开发模式以及能否增加对性能优化的具体案例

鸿蒙与React Native的融合开发模式 一、技术架构设计 底层适配层 通过HarmonyOS的NDK封装原生能力&#xff08;如分布式软总线、AI引擎&#xff09; 使用React Native的Native Modules桥接鸿蒙API&#xff08;需重写Java/Objective-C部分为ArkTS&#xff09; 组件映射机制 …

LLaMA-Factory - 批量推理(inference)的脚本

scripts/vllm_infer.py 是 LLaMA-Factory 团队用于批量推理&#xff08;inference&#xff09;的脚本&#xff0c;基于 vLLM 引擎&#xff0c;支持高效的并行推理。它可以对一个数据集批量生成模型输出&#xff0c;并保存为 JSONL 文件&#xff0c;适合大规模评测和自动化测试。…

麦克风和电脑内播放声音实时识别转文字软件FunASR整合包V5下载

我基于FunASR制作的实时语音识别转文字软件当前更新到V5版本。软件可以实时识别麦克风声音和电脑内播放声音转为文字。 FunASR软件介绍 FunASR 是一款基础语音识别工具包和开源 SOTA 预训练模型&#xff0c;支持语音识别、语音活动检测、文本后处理等。 我使用FunASR制作了一…

子串题解——和为 K 的子数组【LeetCode】

谨记&#xff1a; 数组不是单调的话&#xff0c;不要用滑动窗口&#xff0c;考虑用前缀和 写法一&#xff1a;两次遍历 代码的核心思想是通过 前缀和 和 哈希表 来高效地统计符合条件的子数组个数。具体步骤如下&#xff1a; 计算前缀和数组 s&#xff1a; s[i] 表示 nums 的前…

硬件服务器基础

1、硬件服务器基础 2、服务器后面板 3、组件 3.1 CPU 3.2 内存 3.3 硬盘 3.4 风扇 4、服务器品牌 4.1 配置 4.2 CPU 架构 4.2.1 CPU 命名规则 4.2.2 服务器 CPU 和家用 CPU 的区别 4.2.3 CPU 在主板的位置 4.2.4 常见 CPU 安装方式 4.3 内存中组件 4.3.1 内存的分类 4.3.1.1 …

OpenWebUI(1)源码学习构建

1. 前言 通过docker镜像拉取安装就不介绍了&#xff0c;官方的命令很多。本节主要撸一撸源码&#xff0c;所以&#xff0c;本地构建 2. 技术框架和启动环境 后端python&#xff0c;前端svelte 环境要求&#xff1a;python > 3.11 &#xff0c;Node.js > 20.10 3. 源…

三方接口设计注意事项

前言 随着业务系统间集成需求的增加&#xff0c;三方接口设计已成为现代软件架构中的关键环节。一个设计良好的三方接口不仅能够提供稳定可靠的服务&#xff0c;还能确保数据安全、提升系统性能并支持业务的持续发展。 一、设计原则 1. 统一接口原则 三方接口设计应遵循统一…

CSS篇-5

1. 内联元素可以实现浮动吗? 是的,内联元素完全可以实现浮动。在 CSS 中,任何元素都可以被设置为浮动(float)。 当一个元素被设置了 float 属性后,无论它本身是块级元素还是内联元素,它都会表现出类似于块级元素的特性: 生成块级框(Block-level box):浮动元素会生…

RocketMQ 学习

消息队列 参考官方文档&#xff1a;https://rocketmq.apache.org/zh/docs/ 基本概念 主题&#xff08;Topic&#xff09;&#xff1a;是消息传输和消息存储的顶级容器&#xff0c;不是实际的消息容器&#xff0c;而是一个逻辑上的概念&#xff0c;用于区分不同业务消息的标识&…

Conda更换镜像源教程:加速Python包下载

Conda更换镜像源教程&#xff1a;加速Python包下载 为什么要更换conda镜像源&#xff1f; Conda作为Python的包管理和环境管理工具&#xff0c;默认使用的是国外镜像源&#xff0c;在国内下载速度往往较慢。通过更换为国内镜像源&#xff0c;可以显著提高包下载速度&#xff…