机器学习 | 线性回归(单变量)

news2024/11/16 8:42:36
前文回顾: 机器学习概述

📚线性回归概念

我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是 1250 平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约 220000(美元)左右的价格卖掉这个房子。这就是监督学习算法的一个例子。
它被称作监督学习是因为对于每个数据来说,我们给出了“正确的答案”,即告诉我们:根据我们的数据来说,房子实际的价格是多少,而且,更具体来说,这是一个回归问题。

线性回归一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化

🐇符号约定

这里x/y的上标指的是索引,表示第几行/第几列

🐇算法流程

损失函数: 度量单样本预测的错误程度,损失函数值越小,模型就越好。
代价函数: 度量全部样本集的平均误差。
目标函数: 代价函数和正则化函数,最终要优化的函数。

📚单变量回归

下式为一种可能的表达式,因为只有一个输入变量,因此这样的问题叫做单变量线性回归问题

🐇代价函数

  • 通过训练集我们可以得到假设函数h即我们建立的模型y是测试集

  • 通过输入测试集的自变量向函数h和y,得出预测出来的结果与实际的结果让两者相减得到误差。

  • 通过误差可以看出我们预测的结果好还是不好,如果误差小于某一个极小数时,我们可以认为我们建立的模型非常成功,反之则是失败。

  • 求和的目的是把所有预测值的误差加起来,平方的目的是保证求和的时候误差是正数,除以m是求平均误差,除以2是为了计算方便,有没有这个2最后所求出的最小代价对应的假设函数都是一样的


💡假设函数与代价函数的关系



🐇梯度下降

梯度下降的目的即求代价函数的最小值。且梯度下降有种“动态规划”的意思。

理解“梯度下降” :我们把它想象成“下山”的场景。
如何从山上尽快下山以我们所在的位置为基准,寻找该位置 最陡峭(即变化最快) 的方向,然后沿该方向走一段路程,并且每走一段路程,都要 重新 寻找 当前位置最陡峭(即变化最快) 的方向,然后沿新的方向再走一段路程, 反复采用以上的方法,就能以最快的速度走到山脚下

💡背后的数学原理

💡梯度下降的直观感受

在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低点时导数等于0,所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降将采取较小的幅度,这就是梯度下降的做法,所以实际上没有必要再另外减小α。

🐇线性回归的梯度下降

我们将梯度下降和代价函数结合,将其应用于具体的拟合直线的线性回归算法里。

梯度下降算法和线性回归算法

对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:

在下山的过程中,我们每走一段路,就要确定新的方向,不断确定新的方向意味着代价函数的参数不断在变化,而 新的参数又在已知旧的参数的基础上获得。在梯度下降的每一步中,我们都用到了 所有的训练样本,我们需要不断重复更新参数的过程是 批量梯度下降

参考学习链接:【中英字幕】吴恩达机器学习系列课程,本篇对应2.1-2.7


😢富文本编辑器电脑里头的LaTeX公式在手机平板看就错行,只能额外加一步截图——不乐。

😢电脑富文本编辑器里头,引用里边不能插图片——不乐。

😢电脑富文本编辑器里开的草稿在手机平板内容编辑里都会出现混乱,打开的总是别的文章——不乐。

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

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

相关文章

数据仓库之建模理论以及仓库设计思想

1、数据仓库 1.1、数据仓库概述 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数…

【计算机组成原理】1、浮点数的二进制表示、科学计数法、IEEE754标准

文章目录什么是浮点数浮点数表示数字浮点数的二进制表示浮点数的「IEEE754标准」二进制表示背景特殊约定示例浮点数为什么有精度损失浮点数的范围和精度有多大参考资料用定点数表示数字时,会约定小数点的位置固定不变,整数部分和小数部分分别转换为二进制…

中原银行使用 XSKY星辰天合对象一体机解决核心系统备份管理问题

中原银行使用星辰天合 X3000 对象存储一体机在生产中心和灾备中心分别搭建分布式存储集群,通过 S3 协议与 NBU 备份平台对接,提供海量存储服务,实现备份平台架构转型。 近年来,金融机构随着业务规模及数据量的持续增长&#xff0c…

JavaSE19-常见类

文章目录一、Object1.概述2.常用方法二、String1.概述2.对象创建2.1 直接使用字面值2.2 使用构造方法3.常用方法三、包装类1.概述2.创建对象2.1 直接使用字面值2.2 使用构造方法2.3 使用静态方法valueOf3.常用方法4.自动装箱与自动拆箱4.1 自动装箱4.2 自动拆箱4.3 原理四、Str…

各类特殊开关电源问题解决方案

一、提高DCDC芯片电流 使用大功率三极管代替芯片内部开关管提高过流能力 二、BUCK电路实现负电压 将buck的地作为-Vout输出,原输出接地。 注:不要用LM2596跟LM2576 三、FLY-BUCK电路 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20808c03b126…

成功解决xshell7会话窗口只能显示一个的问题

文章目录前言一. 问题复现二. 问题解决方法一方法二三. 拓展3.1 自定义快捷键3.2 将当前shell中的代码内容复制到记事本中3.3 xshell配置密钥登录3.3.1 生成密钥3.3.2 将密钥上传到服务器并设置3.3.3 用xshell密钥登录服务器总结前言 重点强调: 本文是解决xshell的…

Linux系列 使用vi文本编辑器

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi编辑器的工作模式 3.命令模式中的…

【LeetCode】剑指 Offer(13)

目录 题目:剑指 Offer 31. 栈的压入、弹出序列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 31. 栈…

重写toString()方法-课后程序(JAVA基础案例教程-黑马程序员编著-第十二章-课后作业)

【案例12-1】:重写toString()方法 【案例介绍】 1.案例描述 为了方便输出对象,Object类提供了toString()方法。但是该方法的默认值是由类名和哈希码组成的,实用性并不强。通常需要重写该方法以提供更多的对象信息。 本案例要求使用反射重…

3D可视化大屏制作真的那么难?没有好用的软件解决吗?

有多少人印象里的数据可视化大屏还是像这样的二维大屏?这种二维可视化大屏早就不能满足审美日益提高的大众了。 现在用的都是3D可视化大屏,这种结合了3D技术的可视化形式不仅让数据更加的清晰,也增加了美感,这观看体验&#xff…

【数据结构】单链表——增删查改【万字介绍】

目录 一,线性表 1,什么是线性表 2,线性表的结构 二,链表 1,什么是链表 2,链表的分类 3,单链表的特点 三,链表的实现 1,结构的定义 2,创建一个新结点 3&#…

ChatGPT 不是黑魔法,“替代搜索引擎”言之尚早

ChatGPT 火了。整个 LLM 和搜索领域都已经在过去几个月内发生了翻天覆地的变化。ChatGPT 不再是一个玩具,它开始被微软、谷歌集成在搜索以及各个 SaaS 服务中,且取得了令人惊叹的效果。我尝试着使用 ChatGPT 回答过去一个月搜索过的 30 个问题&#xff0…

10个必须知道的JavaScript技巧,让你成为更好的程序员

1.Promise回调地狱Promises 提供了一种优雅的方式来处理 JavaScript 中的异步操作。这也是避免“回调地狱”的解决方案之一。但是我并没有真正理解它的意思,所以我写了这段代码。我做了这些事情:先获取用户的基本信息。按用户信息获取所有文章的简要摘要…

SPI_Master驱动程序框架

SPI_Master驱动程序框架 文章目录SPI_Master驱动程序框架一、SPI传输概述1.1 数据组织方式1.2 SPI控制器数据结构二、 SPI传输函数的两种方法2.1 老方法2.2 新方法致谢参考内核源码: drivers\spi\spi.c 一、SPI传输概述 1.1 数据组织方式 使用SPI传输时,最小的传…

hutool日期工具类相关:获取某月所有周、某周的起止时间或所有日期、计算连续天数

目录前言实现1、获取当月的所有周2、根据指定的第几周,获取这周的开始、结束时间3、获取当前月某一周的所有日期4、多个日期中,计算最大的连续天数5、判断指定日期是否在某个范围内前言 最近做项目,碰到一个比较复杂的日期查询方式&#xff…

内网vCenter部署教程二,最全的了!

一、组网说明 vCenter组网最佳实践 每台服务器需要6个网口,需要三个分布式交换机,每个交换机分配2个物理网卡做冗余,分别做为管理网络、业务网络、高可用网络使用。另vsan网络和vmotion网络可以复用业务网络或管理网络,vcenter HA需要单独用一个网络。 二、创建管理网络…

Ubuntu通过rsync和inotify实现双机热备

Rsync Inotify双机热备 一、备份机操作 备份机:主服务器或主机文件将需要备份的文件同步到此服务器上,即从主服务器上同步过来进行备份。 1.1安装rsync sudo apt-get install rsync1.2修改/etc/dault/rsync文件 sudo vim /etc/default/rsync修改如…

二叉树——修剪二叉搜索树

669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代…

GPT:通用预训练语言模型

论文标题:Improving Language Understanding by Generative Pre-Training论文链接:https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf论文来源:OpenAI一、概述从无标注文本中高效学习的能力对于缓解对监督学习的依赖…

PLUMBER Boosting the Propagation of Vulnerability Fixes in the npm Ecosystem

PLUMBER: Boosting the Propagation of Vulnerability Fixes in the npm Ecosystem 1.背景 npm是JavaScript编程语言中最大的生态系统,截至2022年1月,它拥有超过180万个第三方软件包。2017年11月2日的npm快照进行的调查显示,在610,097个包中…