当前位置: 首页 > news >正文

一文弄懂线性回归模型

1、引言

今天,我们将深入探讨机器学习中的三个关键概念:线性回归、代价函数和梯度下降。这些概念构成了许多机器学习算法的基础。起初,我决定不写一篇关于这些主题的文章,因为它们已经被广泛涉及。不过,我改变了主意,因为理解这些概念对于理解神经网络等更高级的主题至关重要。

闲话少说,我们直接开始吧!

2、问题引入

与任何机器学习问题一样,我们首先要回答一个具体的问题。在本例中,我们的朋友马克正在考虑出售他 2400 平方英尺的房子,并向我们寻求帮助,以确定最合适的挂牌价格。
在这里插入图片描述

凭直觉,我们首先要查找朋友所在社区的同类房屋。经过一番挖掘,我们找到了附近三栋房子的清单,并查看了它们的售价。当然,一个典型的数据集会有数千甚至数万个数据点,但我们只用这三栋房子就够了。
在这里插入图片描述

在这里插入图片描述

接着,让我们来绘制这些数据:
在这里插入图片描述

通过观察数据,房屋价格似乎与房屋面积呈线性关系。为了模拟这种关系,我们可以使用一种称为线性回归的机器学习技术。这需要在散点图上画出一条最能代表数据点模式的线。我们的模型可能是这样的:
在这里插入图片描述

根据这条线,2400 平方英尺的房子应该卖多少钱?
在这里插入图片描述

大概$260,000。这就是答案。

现在最大的问题是:我们如何确定数据的最佳拟合线?

3、 确认最佳拟合方程

经过上述分析,我们的问题转化为如何确定数据的最佳拟合线?我画的线可能有点偏,就像这样:
在这里插入图片描述

我们可以清楚地知道,这种情况下对数据的拟合程度远不如第一种情形。要找出最佳的拟合线,我们首先要做的就是用数学方法来衡量一条糟糕的线。

让我们来看看这条 "相对糟糕 "的拟合线,根据这条线,一栋 2000 平方英尺的房子应该卖 14 万美元,而我们知道它实际上卖了 30 万美元:

在这里插入图片描述

线上其他数值也有明显差异:

在这里插入图片描述

平均而言,这条线的上预测差额约为 94,000 美元(50,000 美元 + 160,000 美元 + 72,000 美元/3)。

事实上,我们有预测差额更小的预测线,如下:

在这里插入图片描述

这条线路的平均预测差额约为 44 000 美元,这要好得多。这 4.4 万美元被称为使用这条线的costcost就是用来衡量这条线与真实数据的偏差程度。与真实数据偏差最小或cost最低的预测线就是最佳选择。要找出哪条线是最佳线,我们需要使用损失cost函数。

4、损失函数

以上章节我们利用平均绝对误差 (MAE) 代价函数来确定实际房价与预测房价的偏差。这基本上是计算实际房价(用 y 表示,因为它代表 y 轴上的值)与预测房价(用 ŷ 表示)偏离程度的平均值。我们可以这样用以下数学公式来计算 MAE:
在这里插入图片描述

注:在计算 MAE 时使用绝对值,因为绝对值可确保预测值与实际值之间的差值始终为正值,无论预测值是高还是低。这样就可以公平地比较不同预测值之间的误差,因为如果不采用绝对值,正负差值就会抵消。

根据不同机器学习算法,我们可以采用不同类型的成本代价函数,也叫损失函数。对于我们的问题,我们将不使用 MAE,而是采用一种更加常用的方法,即平均平方误差 (MSE),它计算的是预测房价与实际房价之差的平方平均数。
在这里插入图片描述

归根结底,任何代价函数的目的都是使其取值最小化,并尽可能降低损失。

5、 直线方程

在深入研究损失函数之前,让我们先回顾一下基础知识。下面是一条直线的示例:
y = 1 + 2x,第一项数字称为截距,它告诉我们起始线应该有多高。
在这里插入图片描述

第二项告诉我们直线的角度(或专业术语,斜率):
在这里插入图片描述

既然我们已经理解了直线方程的工作原理,那么我们只需要确定这两个值的最佳值–斜率和截距,就可以得到线性回归问题的最佳拟合线。为了让事情变得更简单,让我们假设我们已经神奇地得到了斜率值 0.069。因此,我们的线性回归线方程如下:
在这里插入图片描述

要获得某一面积房屋的预测价格,我们只需输入截距值和所需房屋面积。例如,如果房屋面积为 1000 平方英尺,截距为 0时,如下:
在这里插入图片描述

得出预测房价为 69,000 美元。因此,我们现在要做的就是找到截距的最佳值,从而得到线性回归模型。

6、求解截距

如何来求解截距呢?有一种方法(我们很快就会发现这种方法非常乏味,而且并不有趣)是"暴力枚举",即反复猜测截距值,画一条 LR 线,然后计算 MSE。为了实验起见,让我们尝试一下这种方法。
首先随机猜测一个截距值(从 0 开始),然后绘制直线:
在这里插入图片描述

然后我们计算这条线的 MSE:
在这里插入图片描述

为了获得直观的理解,让我们在图表上绘制截距值和相应的 MSE:
在这里插入图片描述

接下来,我们将测试另一个截距值(比如 25),绘制相应的直线,并计算 MSE。
在这里插入图片描述

我们可以用不同的截距值(0、25、50、75、100、125、150 和 175)继续这一过程,直到最后得到如下图形:

在这里插入图片描述

从图中绘制的点可以看出,当截距设置为 100 时,MSE 最低。不过,在 75 和 100 之间可能还有另一个截距值,会导致更低的 MSE。寻找最小 MSE 的一种缓慢而痛苦的方法是,如下图所示,为截距设置更多的值:

在这里插入图片描述

尽管我们做出了努力,但仍无法确定我们已经找到了最低的 MSE 值。测试多个截距值的过程既繁琐又低效。幸运的是,梯度下降可以帮助我们解决这个问题,以更高效的方式找到最优解。这正是我们将在本系列第二部分中探讨的问题!

相关文章:

一文弄懂线性回归模型

1、引言 今天,我们将深入探讨机器学习中的三个关键概念:线性回归、代价函数和梯度下降。这些概念构成了许多机器学习算法的基础。起初,我决定不写一篇关于这些主题的文章,因为它们已经被广泛涉及。不过,我改变了主意&…...

uniApp获取实时定位

通过你获取的key放到项目manifest.json里面&#xff0c;对应填写你所需要的key值&#xff0c;还有高德用户名 用户名&#xff1a; key值的位置&#xff1a; 代码&#xff1a; html: <view class"intList pdNone"><view class"label">详细地…...

linux的source命令

用法 source file 也可以用.空格file来代替 . file 作用 在当前bash环境下读取并执行FileName中的命令. source(或点)令通常用于重新执行刚修改的初始化文档&#xff0c;如 .bash_profile 和 .profile等配置文件. 简单的说就是: source命令会把file里的命令在当前shell里一…...

特种作业操作证(焊接与热切割作业)2024年理论考试题库。

1.关于隐弧排烟罩下列说法正确的是&#xff08;&#xff09;。 A.这类排烟罩适用于焊接大而长的焊件时排除电焊烟尘和有毒气体 B.这类排烟罩对焊接区实行密闭&#xff0c;能最大限度地减少臭氧等有毒气体的弥散 C.利用压缩空气从主管中高速喷出时&#xff0c;在副管形成负压…...

免交互和嵌入执行模式

目录 概念 语法格式 统计行数 赋值变量 修改密码​编辑往文件里添加内容 ​编辑​编辑引入变量 整体赋值​编辑 加引号不赋值变量 expect实现免交互 免交互设置密码 免交互切换用户 嵌入执行模式 添加用户并免交互设置密码 免交互登录 传参实现ssh 练习 概念 …...

Hadoop版本演变、分布式集群搭建

Hadoop版本演变历史 Hadoop发行版非常的多&#xff0c;有华为发行版、Intel发行版、Cloudera Hadoop(CDH)、Hortonworks Hadoop(HDP)&#xff0c;这些发行版都是基于Apache Hadoop衍生出来的。 目前Hadoop经历了三个大的版本。 hadoop1.x&#xff1a;HDFSMapReduce hadoop2.x…...

【Qt C++实现绘制仪表盘】

要在Qt C中绘制仪表盘&#xff0c;您可以使用QChart、QSeries、QBarSeries、QPointSeries等类。以下是一个简单的示例&#xff0c;演示如何使用这些类创建一个绘图仪表盘&#xff1a; #include <QApplication> #include <QChart> #include <QChartView> #in…...

一文看懂LLaMA 2:大型多模态模型的新里程碑

一文看懂LLaMA 2&#xff1a;大型多模态模型的新里程碑 LLaMA 2是OpenAI继GPT-3之后推出的又一重磅模型&#xff0c;它不仅在文本生成方面有所突破&#xff0c;而且在图像处理和语音识别等领域也展现出了令人印象深刻的能力。本文将全面介绍LLaMA 2的背景、技术细节、应用场景…...

基于Spring Boot构建淘客返利平台

基于Spring Boot构建淘客返利平台 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将讨论如何基于Spring Boot构建一个淘客返利平台。 淘客返利平台通过…...

Qt—贪吃蛇项目(由0到1实现贪吃蛇项目)

用Qt实现一个贪吃蛇项目 一、项目介绍二、游戏大厅界面实现2.1完成游戏大厅的背景图。2.2创建一个按钮&#xff0c;给它设置样式&#xff0c;并且可以跳转到别的页面 三、难度选择界面实现四、 游戏界面实现五、在文件中写入历史战绩5.1 从文件里提取分数5.2 把贪吃蛇的长度存入…...

Java导出Excel并邮件发送

一、导出Excel 添加maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version></dependency><dependency><groupId>org.apache.poi</groupI…...

【课程总结】Day12:YOLO的深入了解

前言 在【课程总结】Day11&#xff08;下&#xff09;&#xff1a;YOLO的入门使用一节中&#xff0c;我们已经了解YOLO的使用方法&#xff0c;使用过程非常简单&#xff0c;训练时只需要三行代码&#xff1a;引入YOLO&#xff0c;构建模型&#xff0c;训练模型&#xff1b;预测…...

保护隐私,释放智能:使用LangChain和Presidio构建安全的AI问答系统

保护隐私&#xff0c;释放智能&#xff1a;使用LangChain和Presidio构建安全的AI问答系统 在人工智能&#xff08;AI&#xff09;飞速发展的今天&#xff0c;AI问答系统已经成为企业与客户互动的重要工具。然而&#xff0c;随之而来的个人数据隐私问题也日益凸显。如何在不泄露…...

【高考志愿】自动化

目录 一、专业概述 二、课程设计 三、就业前景与方向 四、志愿填报 五、自动化专业排名 一、专业概述 高考志愿自动化专业选择&#xff0c;无疑是迈向现代化工业与科技发展的一把金钥匙。自动化专业&#xff0c;作为现代工程领域的重要支柱&#xff0c;融合了计算机、电子…...

技巧类题目

目录 技巧类题目 136 只出现一次的数字 191 位1的个数 231. 2 的幂 169 多数元素 75 颜色分类 &#xff08;双指针&#xff09; 287. 寻找重复数 136 只出现一次的数字 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均…...

Vue3自定义指令参数修饰符值(3)

自定义指令参数修饰符值 在vue3中我们如何获取自定义的参数的内容&#xff0c;并根据业务来修改展示的内容呢,需要依靠mounted方法中的bindings参数来获取。 参考实例 directives/unit.js文件 export default function directiveUnit(app){app.directive("unit",{…...

HTML(23)——垂直对齐方式

垂直对齐方式 属性名&#xff1a;vertical-align 属性值效果baseline基线对齐(默认)top顶部对齐middle居中对齐bottom底部对齐 默认情况下浏览器对行内块&#xff0c;行内标签都按文字处理&#xff0c;默认基线对齐 导致图片看起来会偏上&#xff0c;文字偏下。 示例&#…...

linux查看二进制文件

在Linux中&#xff0c;查看二进制文件可以使用hexdump或xxd命令。 例如&#xff0c;要查看一个名为example.bin的二进制文件的内容&#xff0c;可以使用以下命令之一&#xff1a; 使用hexdump&#xff1a; bash hexdump -C example.bin使用xxd&#xff1a; bash xxd exam…...

营销翻车,杜国楹出面道歉,小罐茶的“大师作”故事仓皇结尾

“小罐茶&#xff0c;大师作”&#xff0c;这句slogan曾一度在央视平台长时间、高密度播放&#xff0c;成为家喻户晓的广告词&#xff0c;也打响了小罐茶品牌的名号。但同时&#xff0c;市场上关于“大师作”真实性的质疑也从未停息。 就在6月25日小罐茶十二周年发布会上&#…...

linux server下人脸检测与识别服务程序的系统架构设计

一、绪论 1.1 定义 1.2 研究背景及意义 1.3 相关技术综述 二、人脸检测与识别技术概述 2.1 人脸检测原理与算法 2.2 人脸识别技术及方法 2.3 人脸识别过程简介 三、人脸检测与识别服务程序的系统架构 3.1 系统架构设计 3.2 技术实现流程 四、后续设计及经验瞎谈 4.…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...