吴恩达机器学习理论基础解读—线性模型(单一特征拟合)

吴恩达机器学习理论基础——线性模型

机器学习最常见的形式监督学习,无监督学习

线性回归模型概述

应用场景一:根据房屋大小预测房价
在这里插入图片描述
应用场景二:分类算法(猫狗分类)

核心概念:将训练模型的数据称为数据集(学习数据集以及描述数据集的基本符号)

在这里插入图片描述
在机器学习中,这里表示输入的标准符号是小写的x,我们称之为输入变量,也称为特征输入特征
对于第一个训练示例(这对数字是(2104,400)。

监督学习中的训练集包括输入特征(例如房屋大小)和输出目标(例如房屋价格)。
在这里插入图片描述
其中函数f代表model(模型)是通常要学习的人工智能算法模型。将输入的特性通过模型进行预测给出输出的特征。

最简单的一种线性模型预测f(x)=wx+b的形式来进行回归预测分析(linear function)
在这里插入图片描述
其中的函数f同样可能采用曲线的形式来进行描述,对于这种形式的模型我们统称为线性回归模型

更具体地说,这是具有一个变量的线性回归,其中短语“一个变量”表示只有一个输入变量或特征x,即房屋的大小。有一个输入变量的线性模型的另一个名称是单变量线性回归,其中 uni 在拉丁语中表示一个,而 variate 表示变量。

Cost Funcation代价函数(成本函数)

为了实现线性回归,第一个关键步骤是首先定义一个叫做成本函数的东西。
在机器学习中,模型的参数是您可以在训练期间调整以改进模型的变量。例如线性模型中的w和b两个参数(有时也称为系数或者权重)
在这里插入图片描述

而成本函数(代价函数)是解决评价模型拟合程度的问题。通常常见的成本函数,包括了均方误差损失

线性回归中平方误差成本函数的数学表示
在这里插入图片描述

成本函数的实现实例分析

首先注意到,对于f下标w,当参数w固定不变,即始终为常数值时,则只是x的函数,也就是说y的估计值取决于输入x的值。

将b设置为0的情况

在这里插入图片描述

可以根据模型的预测结果来确定对应该线性模型的成本函数(损失函数)不同的参数w会对应不同的成本函数值如图当w=1时成本最小因此取1最为合适

成本函数由两个参数变为三个参数的变化示意图如下
两个参数的描述
加入参数b后变为三维空间中的一个曲面(函数)是一个3d曲面图形
在这里插入图片描述
在这里插入图片描述
此时整个曲面的最低点也就是成本函数取到最小值的地方,此处的参数w和参数b即是我们的线性回归模型所需要的参数信息。

若此时沿z轴进行投影,可以得到等高线,沿梯度的方向进行移动可以确定最终的位置,为之后的梯度下降算法打下了一定的基础

线性回归线的对应关系线
在这里插入图片描述

成本函数取得最小值时所对应的情况
在这里插入图片描述

梯度下降(Gradient Descent)

你真正想要的是一种高效的算法,你可以用代码编写它来自动找到参数w和b的值,它们会给你最好的拟合线。使得成本函数取得最小值,可以通过梯度下降算法来进行实现

梯度下降和梯度下降的变体不仅用于训练线性回归,还用于训练所有 AI中一些最大和最复杂的模型。
梯度下降在机器学习中无处不在,不仅用于线性回归,还用于训练一些最先进的神经网络模型,也称为深度学习模型。

如图训练神经网络时所得到的成本函数(高度Z轴代表了成本函数值)

在这里插入图片描述

目标:从函数的顶部采用一定的算法,下降到函数的底部即成本函数对应最小的地方。

在这里插入图片描述
在梯度下降的过程中我们引入了a:学习率的概念一个好的学习率可以快速的进行下降从而训练好模型数据。
在这里插入图片描述

讨论梯度下降算法做了什么,首先讨论二维的情况即当b=0时

当我们在这条曲线上向左移动时,成本了会降低,并且越来越接近J的最小值。

在这里插入图片描述
若从左侧的w的值进行梯度下降算法时,因为斜率为负值,因此同样也是沿着w下降的方向进行移动。

学习率(Learning Rate)

学习率的重要的作用:学习率选择不当,下降率甚至可能根本不起作用。

  • 当学习率过小的情况下 最终确实降低了成本J,但速度非常慢。需要很多步骤才能达到最低
    在这里插入图片描述
  • 相反当学习率过大的时候(若此时的w已经接近最小值的情况下)加速下降过程并再次超过最小值,导致无法得到最小值的结果数值。
    在这里插入图片描述

梯度下降保持在局部最小值附近,不在进行下降操作。

总结:梯度学习算法得到的是局部的最小值而不是全局的最小值,但如果在线性回归的模型数据中使用到的成本函数是平方误差成本函数会构造一个凸函数,此时只有一个局部的极小值,也是最小值

梯度下降训练过程的可视化示意图
在这里插入图片描述

批量数据梯度下降(bashed grading descent )

术语 bashed grading descent 指的是在梯度下降的每一步中,我们都在查看所有的训练示例,

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

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

相关文章

宝塔面板部署腾讯云的域名

一、腾讯云,搜索我的证书,点击打开如图所示,点击下砸 二、点击宝塔的证书,然后下载到桌面 三、解压 四、打开宝塔,网站》自己的项目列表中要绑定的ssl 五、对应的文件内容复制进去,保存并启用证书 六、有了…

springboot相关报错解决

Caused by: java.lang.ClassNotFoundException: 目录 Caused by: java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener spring-boot-dependencies:jar:2.1.9.RELEASE was not found org.springframework.context.event.Generi…

C++/QT 医院信息管理系统

一、项目介绍 (1)管理员、居民、医生三个角色登录;居民可注册账号登录,医生由管理员添加,管理员权限最高 (2)管理员: 模块一:信息管理(医生信息管理、医院…

C语言入门算法——回文数

题目描述: 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个十进制数 56,将 56 加 65(即把 56 从右向左读),得到 121 是一个…

MySQL出现You can‘t specify target table for update in FROM clause错误的解决方法

分析原因 在MySQL中,可能会遇到You cant specify target table 表名 for update in FROM clause这样的错误 它的意思是说,不能在同一语句中,先select出同一表中的某些值,再update这个表,即不能依据某字段值做判断再来…

自回归模型

自回归模型是一类序列生成模型,其生成的输出依赖于先前的输出。换句话说,模型在生成序列的过程中,每个时间步生成的值都依赖于前面时间步生成的值。这种模型通常用于处理序列数据,如文本、音频、时间序列等。 在自然语言处理中&a…

Python计算多个表格中多列数据的平均值与标准差并导出为新的Excel文件

本文介绍基于Python语言,对一个或多个表格文件中多列数据分别计算平均值与标准差,随后将多列数据对应的这2个数据结果导出为新的表格文件的方法。 首先,来看一下本文的需求。现有2个.csv格式的表格文件,其每1列表示1个变量&#x…

CCD相机均匀光源积分球

均匀光源积分球在摄影和成像领域具有重要的作用,它可以为CCD相机提供高质量、均匀光源的关键设备。CCD相机,即电荷耦合器件相机,以其高灵敏度、高分辨率和快速响应等特点广泛应用于科研、工业检测、医疗影像等多个领域。然而,为了…

Git Clone succeeded, but checkout failed

Clone succeeded, but checkout failed: Filename too long 原因: 由于系统限制,路径太长,无法检出 解决方案: # git允许长路径,在已clone的仓库执行 git config core.longpaths true # 再次检出 git ch…

Sarson Funds 在 Casper 测试网推出稳定币 csprUSD

Sarson Funds 与 Casper Association 合作,在 Casper Network (CSPR)测试网上推出了 csprUSD 稳定币。 作为最新的法币背书型稳定币,csprUSD 进入了数字货币市场,与 Ripple 和 Cardano 等组织近期推出的产品定位一致。…

libcurl 简单实用

LibCurl是一个开源的免费的多协议数据传输开源库,该框架具备跨平台性,开源免费,并提供了包括HTTP、FTP、SMTP、POP3等协议的功能,使用libcurl可以方便地进行网络数据传输操作,如发送HTTP请求、下载文件、发送电子邮件等…

【C#】C#匹配两个相似的字符串莱文斯坦距离Levenshtein Distance莱文斯坦距离算法

文章目录 一、问题描述二、代码三、解释 一、问题描述 需要匹配多个类似的内容,并且要求相似度在70%以上并且长度相近,可以在处理每个匹配项时,将其与所有目标进行比较,并筛选出符合条件的匹配项。 二、代码 using System; usi…

【2024MathorCup妈妈杯建模】赛题 B:甲骨文智能识别中原始拓片单字自动分割与识别研究

【2024MathorCup妈妈杯建模】赛题 B:甲骨文智能识别中原始拓片单字自动分割与识别研究 加群可以享受定制等更多服务,或者搜索B站:数模洛凌寺 联络组织企鹅:904117571 问题重述 问题 1:对于附件 1(Pre_…

npm创建Vue3项目

npm创建Vue3项目 1 创建Vue项目说明 2 安装3 运行 1 创建Vue项目 创建最新版的Vue项目,已经不推荐使用CLI构建方式了。参考如下即可。 npm create vuelatest如果发现一直动不了,切换网络试一下,个人热点尝试一下。 按下图的选项按需引入自…

提升编程效率的秘密武器:IntelliJ IDEA

IntelliJ IDEA的基本介绍 正如一个故事的开头,我们从一个名字开始 - IntelliJ IDEA。这是一个在程序员中广受欢迎的集成开发环境(IDE),由捷克公司JetBrains开发。它的名字听起来有些复杂,但实际上,它的功能…

云计算平台(2)

云计算教学平台简介 采取B/S架构,将教学、实训、实战完美结合,提供综合一站式教学与实践体验,平台结合大量插件、模块,易用性与交互性大大提升,让教学更轻松、实践更高效。 将混合式教学、翻转课堂等新教育模式充分与…

GB∕T 25058-2019 信息安全技术 网络安全等级保护实施指南

GB∕T 25058-2019 信息安全技术 网络安全等级保护实施指南

AMD Tensile 简介与示例

按照知其然,再知其所以然的认知次序进行 1,下载代码 git clone --recursive https://github.com/ROCm/Tensile.git 2,安装 Tensile cd Tensile mkdir build cd build ../Tensile/bin/Tensile ../Tensile/Configs/rocblas_dgemm_nn_asm_full…

算法 分割字符串为实体类

题目 String userData "10000:张三:男:1998-01-01#10001:张三:男:1998-01-01#10002:李四:女:1999-02-02#10003:王五:男:2000-03-03#10004:赵六:女:2001-04-04"; String[] usersArray userData.split("#"); // 使用Stream API将字符串数组转换为SysUser对…

【计算机毕业设计】音乐论坛App管理系统——后附源码

🎉**欢迎来到琛哥的技术世界!**🎉 📘 博主小档案: 琛哥,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 琛哥在深度学习任务中展现出卓越的能力&a…