【机器学习】线性回归模型(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的最优值,需要学习算法从数据中大量学习,并生成最优效果。(参数值的确定更取决了我们算法的选择。)

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】基本查询(表的增删改查)-- 详解

CRUD:Create(创建),Retrieve(读取),Update(更新),Delete(删除)。 一、Create insert [into] table_name [(column [, column] ...)] v…

2月28日做题总结(C/C++真题)

今天是2月28日,做题第三天。道阻且长,行则将至;行而不辍,则未来可期! 第一题 static char a[2]{1,2,3};说法是否正确? A---正确 B---错误 正确答案:B 解析:数组定义时&#xf…

Linux系统——Nginx拓展

目录 一、重写功能——rewrite 1.if 1.1 if 2. return 2.1状态码301和302的区别 301 302 3. set 4. break 5. rewrite 5.1 rewrite flag使用 5.2 flag说明 5.3举例 5.3.1访问 bj 跳转 beijing 5.3.2举例——break 5.3.3 http 转 https 5.3.4 break 与 last …

JavaScript 进阶03

编程思想 面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用 面向对象 面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。 在面向对象程序开发思想中&a…

kali安装ARL灯塔(docker)

1、root身份进入容器 ┌──(root㉿Kali)-[~/桌面] └─# su root ┌──(root㉿Kali)-[~/桌面] └─# docker 2、先更新再克隆 ┌──(root㉿Kali)-[~/桌面] └─# apt-get update …

如何在windows系统部署Lychee网站,并结合内网穿透打造个人云图床

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

蓝桥杯-常用STL(三)

常用STL 🎈1.映射🎈2.map的基础使用🔭2.1引入库🔭2.2构造一个映射🔭2.3插入一对映射🔭2.4判断关键字是否存在🔭2.5遍历映射🔭2.6清空 🎈1.映射 🔎映射是指两个…

xss.haozi.me靶场练习

靶场地址alert(1) 1、第一关 输入在文本框里面,我们闭合前面的标签,中间的内容我们就可以随意写了 2、第二关 逃逸value的属性即可,这里使用点击事件触发xss 3、第三关 看代码,使用了正则表达式,去掉了所有的括号字…

Apache POl

介绍 Apache POl是一个处理Miscrosoft Ofice各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作,一般情况下,POI都是用于操作 Excel 文件。 Apache POl 的应用场景 1.银行网银系统导出交易…

如何正确清除电脑的缓存垃圾?终于明白了!

前言 新的电脑总是好的,各种干净整洁无垃圾。 使用了一段时间之后,小伙伴们就会发现电脑C盘飙红了。然后就各种论坛查找清除电脑垃圾的方法。 电脑正常使用下,是会产生很多缓存的,所以C盘红了也很正常。除非电脑组装之后不开机&a…

如何做代币分析:以 TRX 币为例

作者:lesleyfootprint.network 编译:cicifootprint.network 数据源:TRX 代币仪表板 (仅包括以太坊数据) 在加密货币和数字资产领域,代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关的数据…

量子算法入门—4.量子比特与量子门(1)

1.量子比特 经典比特和量子比特 经典比特只有0、1两种取值,非黑即白,有n位即 2 n 2^n 2n种可能量子比特使用0、1的量子态描述量子比特的状态,可以通过线性组合形成新的量子态,就像光谱可以调节成分 引入线代记法,0、…

java程序设计案例教程王希军,渣本二面阿里受挫

1 JVM的内存区域布局 java代码的执行步骤有三点 java源码文件->编译器->字节码文件字节码文件->JVM->机器码机器码->系统CPU执行 JVM执行的字节码需要用类加载来载入;字节码文件可以来自本地文件,可以在网络上获取,也可以实时…

【Go语言】Go语言中的切片

Go语言中的切片 1.切片的定义 Go语言中,切片是一个新的数据类型数据类型,与数组最大的区别在于,切片的类型中只有数据元素的类型,而没有长度: var slice []string []string{"a", "b", "c…

android应用开发基础知识,安卓面试2020

第一章:设计思想与代码质量优化 1、设计思想六大原则 2、三大设计模式 3、数据结构 4、算法 第二章:程序性能优化 1、启动速度和执行效率优化 2、布局检测与优化 3、内存优化 4、耗电优化 5、网络传输与数据存储优化 6、APK大小优化 7、屏幕适配 8、…

Sora - 真正单兵作战时代来临了

一、 OpenAI Sora 视频生成模型技术报告总结 不管是在视频的保真度、长度、稳定性、一致性、分辨率、文字理解等方面,Sora都做到了SOTA(当前最优)。 技术细节写得比较泛(防止别人模仿)大概就是用视觉块编码&#xff08…

通过QScrollArea寻找最后一个弹簧并且设置弹簧大小

项目原因,最近需要通过QScrollArea寻找其中最后一个弹簧并且设置大小和策略,因为无法直接调用UI指针,所以只能用代码寻找。 直接上代码: if (m_scrollArea){int iScrollWidth m_labelSelectedTitle->width();m_scrollArea-&g…

第三百七十二回

文章目录 1. 概念介绍2. 实现方法2.1 maskFilter2.2 shader 3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"两种阴影效果"相关的内容,本章回中将介绍如何绘制阴影效果.闲话休提,让我们一起Talk Flutter吧。 1. 概…

Python爬虫实战第二例【二】

零.前言: 本文章借鉴:Python爬虫实战(五):根据关键字爬取某度图片批量下载到本地(附上完整源码)_python爬虫下载图片-CSDN博客 大佬的文章里面有API的获取,在这里我就不赘述了。 一…

一文搞懂运放!

11.集成运放 集成电路是采用专门的制造工艺,在半导体单晶硅上,把晶体管、场效应管、二极管、电阻和电容等元器件以及它们之间的连线所组成的电路制作在一起,使其具有特定功能的芯片。 1.组成 集成运放由输入级、中间级、输出级和偏置电路四…