吴恩达机器学习全课程笔记第五篇

目录

前言

P80-P85

添加数据

迁移学习

机器学习项目的完整周期

公平、偏见与伦理

P86-P95

倾斜数据集的误差指标 

决策树模型

测量纯度

选择拆分方式增益

使用分类特征的一种独热编码

连续的有价值特征

回归树

前言

这是吴恩达机器学习笔记的第五篇,第四篇笔记请见:

吴恩达机器学习全课程笔记第四篇

完整的课程链接如下:

吴恩达机器学习教程(bilibili)

推荐网站:

scikit-learn中文社区

吴恩达机器学习资料(github)

P80-P85

机器学习的迭代发展:

以“垃圾邮箱分类器”为例,如何减少学习算法中可能出现的错误?

添加数据

有一种技术,特别是对于图像和音频数据,可以显著增加训练集大小,这种技术称为“数据增强

如图所示,改变x使之有相同的y,以达到数据增强的效果

除了图像数据,对于音频数据,也可以进行数据增强,如下所示:

在数据增强中,如果加入的扭曲(噪声)不合适,可能不会对增大数据集产生作用

除了使用数据增强去添加数据之外,还可以使用合成数据去添加数据

合成数据是基于计算机模拟或算法生成模仿现实世界观察的人造数据,简言之,合成数据是人工制造的模拟数据

以OCR照片为例,现在想要训练一个模型去提取图片中的文字:

下面是一个真实的数据:

为这项任务创建人工数据的一种方法是:转到计算机的文本编辑器,里面有很多不同的字体,使用这些字体在文本编辑器中键入随机文本,截图它们并使用不同颜色、不同对比度和不同的字体

迁移学习

对于一个没有那么多数据的应用程序,可以使用迁移学习,它允许使用来自不同任务的数据来帮助你的应用程序

如上图所示,对于一个数据集很小很小的网络,建议使用选项一,即仅仅训练输出层的参数,否则使用选项二

迁移学习的一个好处是:你可能不需要称为监督的执行人,许多神经网络的预训练已经有研究人员在大图像上训练了神经网络,会在网上发布一个经过训练的神经网络,免费授权给任何人下载和使用

迁移学习的总结如下:

机器学习项目的完整周期

确定项目的范围------->定义和收集数据<---------->训练模型、误差诊断、迭代优化------->部署、检测、维持模型系统

下面展示的是模型部署的一些细节

如图,开发的移动应用可以通过api进行调用

部署过程需要一定的软件工程技术,软件工程需要编写代码使得可靠准确的预测、扩大服务范围、保存数据、系统监控、模型更新

MLOps是一门工程学科,旨在统一 ML 系统开发(dev)和 ML 系统部署(ops),以标准化过程生产高性能模型的持续交付

公平、偏见与伦理

除了偏见之外,公平对待个人,机器学习也有一些负面用例

下面有一些让你工作更公平的建议,在部署可能造成伤害的系统之前,减少偏见,更道德

P86-P95

倾斜数据集的误差指标 

如果你正在开发机器学习应用程序,数据集的正面和负面例子非常不平衡,会发现,通常的误差度量如准确率不会那么有效

比如下面这个罕见疾病检测的问题,我们的学习算法成功诊断概率是99%,即误差1%,但如果全世界只有0.5%的人发生这种疾病,即使我写一个print("y=0")的程序,即永远告诉病人没有患病的误差0.5%都比上面那个1%低。因此单单看准确率去评判学习算法是不够的

精确率和召回率的定义如下:

提高输出标签1的门槛,即像下面一样把0.5改成0.7再改成0.9会提高准确率、降低召回率

下面展示如何权衡准确率和召回率

取平均值的方法并不是一个好的方法,而使用F1 score权衡可以强调两个指标中更小的那个

通过F1 score去权衡上述这两个指标从而选择学习算法

决策树模型

许多用来赢得机器学习比赛的应用程序是决策树和树的集合

以检测是否为猫的算法为例:

决策树是一个预测模型,它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值

给定训练集构建决策树的过程有几个步骤

第一个步骤是:在每个节点上使用什么特征去划分

第一个步骤是:决定什么什么停止划分

测量纯度

通过熵函数可以测量一组数据的不纯度

熵函数真实的表达式如下所示:

选择拆分方式增益

在构建决策树时,我们将决定在结点上拆分什么特征,将决定根据什么特征在减少熵,学习熵的减少称为信息增益

如下图所示,计算每一种拆分方式的信息增益,就是用原来的熵减去新的熵

总结起来,信息增益的计算方式如下:

决策树构建过程总结

使用分类特征的一种独热编码

在刚才的例子中,对于耳朵这个特征不是圆的就是尖的,下面使用独热编码解决这个问题

也就是说:如果一个分类特征有k个值,那么就创造k个二进制数字(取值0或1)

 

连续的有价值特征

上面的特征都是离散的,当特征是连续值是会怎么样呢

比如在上面例子的基础上加一个体重的特征

选择不同的阈值,计算信息增益然后决定最终的拆分阈值

回归树

到目前为止,我们只把决策树作为分类算法来讨论,使用回归树可以将决策树推广为回归算法

比如对于体重的预测,可以通过决策树进行划分,最后求得每一种类的平均值

建立回归树时,如何选择一个划分呢?

在建立回归树时,不是去减少熵,相反的,我们应该去减少权重的方差,这是回归树的信息增益

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

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

相关文章

第七十二天 漏洞发现-Web框架中间件联动GobyAfrogXrayAwvsVulmap

第72天 漏洞发现-Web框架中间件&联动&Goby&Afrog&Xray&Awvs&Vulmap 知识点&#xff1a; 1、Bup简单介绍&使用说明 2、Xray简单介绍&使用说明 3、AWWS简单介绍&使用说明 4、Goby简单介绍&使用说明 5、Afrog简单介绍&使用说明 6、…

【前端素材】推荐优质后台管理系统网页my-Task平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;通常由管理员使用。后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功…

vulhub中JBoss 5.x/6.x 反序列化漏洞复现(CVE-2017-12149)

该漏洞为 Java反序列化错误类型&#xff0c;存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化&#xff0c;从而导致了漏洞。 漏洞复现 利用攻击进行漏洞利用yunxu1/jboss-_…

Tuning Language Models by Proxy

1、写作动机&#xff1a; 调整大语言模型已经变得越来越耗资源&#xff0c;或者在模型权重是私有的情况下是不可能的。作者引入了代理微调&#xff0c;这是一种轻量级的解码时算法&#xff0c;它在黑盒 大语言模型 之上运行&#xff0c;以达到直接微调模型的结果&#xff0c;但…

Postman: 前端必备工具还是后端独享利器

Postman 的使用场景&#xff1a;适用于前端和后端 Postman 是一个流行的 API 测试与开发工具。它被广泛地应用在前后端开发的过程中&#xff0c;但是很多人对于它的使用场景存在疑惑。那么&#xff0c;到底是前端用还是后端用呢&#xff1f;本文将从多个角度详细解答这个问题。…

如何优化阿里云幻兽帕鲁/Palworld的多人联机性能,并避免内存溢出导致的异常退出游戏?

优化阿里云幻兽帕鲁/Palworld的多人联机性能并避免内存溢出导致的异常退出游戏&#xff0c;可以采取以下几种方法&#xff1a; 选择合适的内存配置&#xff1a;由于幻兽帕鲁是一个对内存需求较高的游戏&#xff0c;建议选择至少16GB的内存。对于不同的玩家数量&#xff0c;可以…

AI时代编程新宠!如何让孩子成为未来的编程大师?

文章目录 一、了解编程的基础概念二、选择适合的编程工具三、激发孩子的兴趣四、注重基础能力的培养五、提供实践机会六、鼓励孩子与他人合作七、持续支持与鼓励《信息学奥赛一本通关》本书定位内容简介作者简介目录 随着科技的迅猛发展&#xff0c;编程已经从一种专业技能转变…

javaWebssh教师荣誉库管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh在线授课辅导系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

AI日报:人工智能使用和评估的关键任务

文章目录 总览成为循环中的人规范 将人情味应用于业务用例人工智能在各行业开始出现具体影响 通过人工辅助防止偏差、异常和扭曲数据人工智能原则HITL的关键 人工智能人类&#xff1a;走向无限 总览 在不断发展的人工智能领域&#xff0c;“环中人”&#xff08;HITL&#xff0…

卧式饲料搅拌机生产厂家:提升饲养效益

卧式饲料搅拌机生产厂家&#xff1a;选择适合设备&#xff0c;提升饲养效益 随着畜牧养殖业的发展&#xff0c;农民们对于饲料搅拌机的需求也高。饲料搅拌机的作用在于将不同种类和比例的饲料原料进行均匀混合&#xff0c;保证养殖获得营养均衡的饲料。而卧式饲料搅拌机因其结构…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…

SpringBoot+Vue+MySQL:装修管理新架构探索

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

Vue开发实例(四)Element-UI部分组件使用方法

Element-UI的使用 一、Icon图标的使用1、用 i 标签使用图标 二、用 el-button 使用图标1、使用type定义样式2、使用plain定义样式3、使用round定义样式4、使用circle定义样式5、带图标和文字的按钮6、按钮禁用7、文字按钮8、按钮组9、加载中 三、Link 文字链接1、基础用法2、禁…

python的FastAPI两大核心组件,你了解多少

FastAPI 是一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的 web 框架&#xff0c;使用 Python 3.8 并基于标准的 Python 类型提示。 FastAPI 站在以下巨人的肩膀之上&#xff1a; Starlette 负责 web 部分。Pydantic 负责数据部分。 毕竟我们不是学习 Starl…

解决Win11突然WiFi消失问题

最近受到很多win11重启或者更新后导致WiFi消失的用户反馈。 初步分析原因&#xff1a;WiFi网卡可能受到天气变冷影响.Win11新更新对驱动存在bug导致。 解决办法&#xff1a; 1.选中桌面此电脑图标.鼠标右键-管理。 2.设备管理器-网络适配器-卸载所有网卡驱动&#xff08;注意&a…

Vue3速成

文章目录 day 11. 创建vue3工程3. 响应式数据4. 计算属性 day 25. watch 监视6. watchEffect7. 标签的ref属性8. 回顾TS中的接口_泛型_自定义类型 day 1 1. 创建vue3工程 相关代码如下&#xff1a; ## 创建vue工程 npm create vuelastest## 安装node_modules npm install //…

Ubuntu服务器fail2ban的使用

作用&#xff1a;限制ssh远程登录&#xff0c;防止被人爆破服务器&#xff0c;封禁登录ip 使用lastb命令可查看到登录失败的用户及ip&#xff0c;无时无刻的不在爆破服务器 目录 一、安装fail2ban 二&#xff0c;配置fail2ban封禁ip的规则 1&#xff0c;进入目录并创建ssh…

diskMirror-backEnd-spring-boot | diskMirror 后端服务器 SpringBoot 版本!

diskMirror-backEnd-spring-boot 开源技术栏 diskMirror 后端服务器 SpringBoot 版本! 此版本中拓展了 DiskMirrorBackEnd&#xff0c;是一个完全的SpringBoot项目&#xff01; 目录 diskMirror-backEnd-spring-boot 目录我如何使用&#xff1f; 部署与配置我如何使用其中的…

【LeetCode刷题】146. LRU 缓存

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则返回 -…

JVM 第二部分-3(对象,直接内存)

对象 对象的实例化 创建对象的方式 new 对象 变形1&#xff1a;使用类的静态方法获得对象变形2&#xff1a;xxxBuilder、xxxFactory的静态方法 反射 Class的newInstance()&#xff1a;反射的方式&#xff0c;只能调用空参的构造器&#xff0c;权限必须是publicConstructor的ne…