【机器学习】线性回归模型(Linear Regression)

  • 🌸博主主页:@釉色清风
  • 🌸文章专栏:机器学习
  • 🌸今日语录:温柔的一半是知识,没有知识的涵养撑不起你想要的风骨。

☘️0文章预览

本系列文章主要是根据吴恩达老师的机器学习课程以及自己的理解整合而成,是对知识的回顾,也方便之后的复习。
本篇文章主要内容是机器学习中最基础目前世界上使用也最广泛的模型——线性回归模型,同时,你也可以从本篇文章了解到机器学习中监督学习的整个过程。

☘️1举例(Linear Regression Example)

在理解线性回归模型时,我们要举一个可以用线性回归模型解决的问题。
回看前几篇文章,讲到监督学习和无监督学习并举了其中的一些例子,我们此时采用我们在监督学习中学习理解回归问题时举的例子——根据房屋大小预测房价(House sizes and prices)。
我们使用的数据集是波特兰的当地数据,根据波特兰当地的房屋大小和对应价格树首先现在表格中绘制点。

现在,假如你是一名房地产经纪人,若有一位客户想要卖掉她的房子,根据她的房屋的大小,你能预测出相对应的合理的价格吗?
为了合理的估计,我们肯定需要采用以往的真实的数据,也就是现在画在图表中的每一个红色的小叉来进行合理的预估。
首先,最直观且最容易理解的,你一定首先想到了线性回归,即根据你的数据画出一条直线来尽可能更好地拟合这些数据。
如下图所示。

此时,若你的客户的房屋的大小是1250平方英尺,则可以根据我们的模型,而预估出房屋的价格。
如下图所示。

所以,我们来简单总结一下这个例子。这是一个典型的监督学习中的回归问题的预测问题,即输入一个x,需要根据模型输出一个相对应的y。(因为一个输入,就会有一个输出,所以属于监督学习;因为价格是连续的数字,所以是回归问题。)对于回归问题的预测,我们需要根据源数据集确定一个模型,使得我们随机给出一个合理的输入房屋的大小,就会有一个输出。而在上面这个例题中我们采用的是监督学习中的一类特殊简单的模型——线性回归模型。(当然还有一些其他的模型,我们在后面会讲到。)

☘️2监督学习的过程

  • 🌾首先,我们需要读入数据(训练集)[Training Set]。

我们根据我们得到的每一组数据(包括房屋的大小和房屋的价格)读入,在这里,为了更快了解监督学习的过程,我们用图表在直观理解。

我们将每一组数据相对应的画入图表中。此时,每一个小叉就代表一组数据。
我们假设我们原来的数据表有47行,即原来有47组数据,依次画入表中。
如下图所示。

  • 🌾了解训练集及相关符号表示

上面我们用来训练预测模型的原始数据,对应这个例子,就是波兰特的47组房屋大小-价格的数据,就被称为训练集。

🍃输入变量:在机器学习中,表示输入的数据称为输入变量,标准符号是小写的 x x x,也称为特征和输入特征。
即:
x = " i n p u t " v a r i a b l e ( f e a t u r e ) x="input"variable(feature) x="input"variable(feature)
🍃输出变量:在机器学习中,表示我们试图预测的输出,称为输出变量,标准符号是小写的 y y y,有时也称为目标变量。
即:
y = " o u t p u t " v a r i a b l e ( " t a r g e t " v a r i a b l e ) y="output"variable("target"variable) y="output"variable("target"variable)

🍃训练样本的总数:在本例子中,数据集有47行,每一行代表不同的训练示例,我们使用小写的 m m m来表示训练样本的总数。所以,在这个训练集中, m = 47 m=47 m=47

🍃单个训练示例:为了表示单个训练示例,我们使用 ( x , y ) (x,y) (x,y)来表示。例如,对于第一个训练示例而言,它的表示为 ( x , y ) = ( 2104 , 400 ) (x,y)=(2104,400) (x,y)=(2104,400)
对于整个训练而言,我们有47个训练示例,为了表示方便,我们进行编号,在x以及y上加入右坐标,例如,对于第i个示例,表示为 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))。那么此时,我们可以将第一组数据更准确地表示为 ( x ( 1 ) , y ( 1 ) ) = ( 2104 , 400 ) (x^{(1)} ,y^{(1)})=(2104,400) (x(1),y(1))=(2104,400)

  • 🌾训练模型

训练模型时,我们需要将训练集(包括输入特征[features]和输出目标[targets])提供给学习算法。
然后,学习算法通过不断地训练数据,产生函数f。(至于学习算法是如何学习且不断达到最优模型时,这与后面的损失函数有关,以及采用不同的算法会达到不同的效果,例如常用的随机梯度下降法等。在这时,我们就可以先跳过学习算法调优这一步骤。此时的函数f即是调优后的模型最终表示。)

🍃 f的作用:就是采用新输入的x,产生一个新的预测并输出y,但此时的y只是预测值,我们写作 y ^ \hat y y^

此时,我们要特别强调 y y y y ^ \hat y y^的区别。 y y y是训练集中的真实值,而 y ^ \hat y y^只是一个估计值,它可能是可能不是真实价格,它只是我们当下预测的房子的价格,具体价格需要等到房子出售之后才能知道。

  • 🌾确定模型(f)——How to represent f?

首先,在前面讲到,我们将采用线性回归模型来进行房屋价格的预测,在这个例子中,更准确地说是一个一元线性回归线性模型,因为我们的输入只有一个输入特征 x x x,所以称之为一元,也可以说是单变量。那么我们可以根据我们定的模型写出其具体表达式。
即如下图所示:

只是刚开始我们还不知道参 w w w b b b的值。
确定参数 w w w b b b的最优值,需要学习算法从数据中大量学习,并生成最优效果。(参数值的确定更取决了我们算法的选择。)

今天的学习就到这里了!下一篇总结成本函数,成本函数是机器学习中最普遍和最重要的思想之一,明天继续加油💪!

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战 在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和…

npm 最新淘宝镜像配置 + nrm工具配置及使用

一、前言 npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com (HTTPS 证书到期不能用了) 二、直接命令配置 1、执行以下命令即可切换淘宝源 npm config set registry https://registry.npmmirror.com/2、执行以下命令即可…

重拾前端基础知识:JavaScript

重拾前端基础知识:JavaScript 前言使用JavaScript输出语法运算符条件语句循环数据类型字符串数字数组对象日期函数 数学正则表达式异常处理类集合模块JSON闭包异步调试DOM(文档对象模型)事件事件监听器表单 BOM(浏览器对象模型&am…

基于vue的图书管理系统的设计与实现

高校师生在教学中承受的压力越大就对知识拥有了更多的需求,而满足这一需求的最佳场所无疑就是图书馆。当前虽然信息技术在各个方面都发挥出重要作用,但是在相当多的高校图书馆中依然由工作人员手动完成图书借阅、归还及逾期提醒等所有工作,在…

03OpenCV图像的掩膜操作

文章目录 掩膜操作提高图像的对比度获取图像像素制作图像掩膜算子防止像素溢出算子全部代码 掩膜操作提高图像的对比度 红色是中心像素,从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象 注&am…

【全志D1-H 哪吒开发板】Debian系统安装调教和点灯指南

全志D1-H开发板【哪吒】使用Deabian系统入门 特别说明: 因为涉及到操作较多,博文可能会导致格式丢失 其中内容,会根据后续使用做优化调整 目录: 参考资料固件烧录启动调教点灯问题 〇、参考资料 官方资料 开发板-D1开发板【…

NLP-词向量、Word2vec

Word2vec Skip-gram算法的核心部分 我们做什么来计算一个词在中心词的上下文中出现的概率? 似然函数 词已知,它的上下文单词的概率 相乘。 然后所有中心词的这个相乘数 再全部相乘,希望得到最大。 目标函数(代价函数&#xff0…

本届挑战赛季军方案:基于图网络及LLM AGENT的微服务系统异常检测和根因定位方法

aiboco团队荣获本届挑战赛季军。该团队来自亿阳信通。 方案介绍 本届挑战赛采用开放式赛题,基于建行云龙舟运维平台的稳定性工具和多维监控系统,模拟大型的生活服务APP的生产环境,提供端到端的全链路的日志、指标和调用链数据。参赛队伍在组…

#LLM入门|Prompt#2.2_ AI 应用开发的范式_Language_Models,the_Chat_Format_and_Tokens

在本章中,我们将和您分享大型语言模型(LLM)的工作原理、训练方式以及分词器(tokenizer)等细节对 LLM 输出的影响。 我们还将介绍 LLM 的提问范式(chat format),这是一种指定系统消息…

YOLOv8改进 | 独家创新篇 | 结合SOTA思想利用双主干网络改进YOLOv8(全网独家创新,最重磅的更新)

一、本文介绍 本文给大家带来的改进机制是结合目前SOTAYOLOv9的思想利用双主干网络来改进YOLOv8(本专栏目前发布以来改进最大的内容,同时本文内容为我个人一手整理全网独家首发 | 就连V9官方不支持的模型宽度和深度修改我都均已提供,本文内容支持YOLOv8全系列模型从n到x均可…

【STM32】STM32学习笔记-WDG看门狗(46)

00. 目录 文章目录 00. 目录01. WDG简介02. IWDG概述03. IWDG框图04. IWDG键寄存器05. WWDG简介06. WWDG框图07. WWDG工作特性08. IWDG和WWDG对比09. 预留10. 附录 01. WDG简介 WDG(Watchdog)看门狗 看门狗可以监控程序的运行状态,当程序因为…

eltable 合计行添加tooltip

eltable 合计行添加tooltip 问题描述: eltable 合计行单元格内容过长会换行,需求要求合计行数据超长显示 … ,鼠标 hover 时显示提示信息。 解决方案:eltable合计行没有对外的修改接口,想法是 自己实现一个tooltip&a…

【GB28181】wvp-GB28181-pro快速修改登录页面名称(前端)

引言 作为一个非前端开发人员,自己摸索起来比较费劲,也浪费了很多时间 本文快速帮助开发者修改为自己名称的一个国标平台 文章目录 一、 预期效果展示二、 源码修改-前端三、 验证修改效果一、 预期效果展示 二、 源码修改-前端 需要修改的文件位置: 项目工程下web_src目录…

高并发数据采集:Ebay商家信息多进程爬虫的进阶实践

背景 Ebay作为全球最大的电子商务平台之一,其商家信息包含丰富的市场洞察。然而,要高效获取这些信息,就需要利用先进的技术手段。本文将深入探讨如何通过并发加速技术,实现Ebay商家信息多进程爬虫的最佳实践方法,并附…

Find My运动相机|苹果Find My技术与相机结合,智能防丢,全球定位

运动相机设计用于在各种运动和极限环境中使用,如徒步、登山、攀岩、骑行、滑翔、滑雪、游泳和潜水等,它们通常具有防抖防震、深度防水和高清画质的特点,能够适应颠簸剧烈的环境,甚至可以承受一定程度的摔落,一些运动相…

skywalking展示http请求和响应

1.效果图 可以在请求中看到自定义请求信息input和返回值output&#xff0c;方便快速定位问题 2.添加依赖 <dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>9.1.0</version&…

MySQL的Redo Log、Undo Log、Binlog与Replay Log日志

前言 MySQL数据库作为业界最流行的开源关系型数据库之一&#xff0c;其底层实现涉及多种重要的日志机制&#xff0c;其中包括Redo Log、Undo Log、Binlog和Replay Log。这些日志组件共同确保MySQL数据库系统在面对事务处理、数据恢复和主从复制等方面表现出色。本文主要介绍一下…

pytorch 图像的卷积操作

目录 1.卷积核基本参数说明 2.卷积相关操作说明 3.卷积操作示例 1.卷积核基本参数说明 pytorch进行图像卷积操作之前&#xff0c;需要把图像素格式进行分离&#xff0c;比如一个图像为rgb格式&#xff0c;把R&#xff0c;G,B取出来作为一个ndarray&#xff0c;前文讲过&#…

ARM系列 -- 虚拟化(三)

为了实现虚拟化&#xff0c;虚拟机需要控制系统资源。但是实际的系统资源是在hypervisor直接控制之下&#xff0c;为了实现隔离和安全等方面的考虑&#xff0c;不可能让虚拟机直接控制这些系统资源。 比如&#xff0c;虚拟机想根据具体情况去做电源管理。一个解决办法就是利用…

.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库

.net 在ubuntu下动态写入图片水印 中文字乱码 解决&#xff1a;ubuntu下添加中文字库 1.安装字体命令 sudo apt install -y fontconfig2.查看已安装的字体 &#xff08;1&#xff09;查看linux已安装字体 fc-list&#xff08;2&#xff09;查看linux已安装中文字体 fc-li…