机器学习4:基本术语

news2024/11/23 11:45:15

机器学习涉及很多专业术语,为了避免混淆概念,我们在学习中,首先必须统一语言:即充分理解专业术语,并采用专业术语来描述机器学习相关的内容。本节将介绍几种基本的机器学习术语。

目录

1.标签

2.特征

3.示例

4.模型

5.回归与分类

6.损失

6.2 损失低,也可能是一个糟糕的模型

7.数据分割

7.1 分割方式一

7.2 分割方式二


1.标签

标签是输出结果,即我们要预测的东西——如线性回归(y=b+mx)中的 y。标签可以是小麦的未来价格、图片中显示的动物种类、音频剪辑的含义,或者任何东西。

2.特征

特征是输入变量——如线性回归中的变量 x一个简单的机器学习项目可能只需使用单一特征,而更复杂的机器学习项目可能使用数百万个特征,指定为:

x_{1},x_{2},x_{3},...,x_{N},

在垃圾邮件检测器示例中,特征可能包括以下内容:

  • 电子邮件文本中的单词
  • 寄件人地址
  • 发送电子邮件的时间
  • 电子邮件包含短语“一个奇怪的技巧”。

3.示例

一个示例是数据 \mathbf{x} 的特定实例。(我们将 \mathbf{x} 加粗以表明它是一个向量。)我们将示例分为两类:

  • 标记示例
  • 未标记的示例

带标签的示例——包括特征和标签,例如:

  带标签的示例: {features, label}: (x, y)

使用带标签的示例来训练模型。在我们的垃圾邮件检测器示例中,标记的示例将是用户明确标记为“垃圾邮件”或“非垃圾邮件”的单个电子邮件。举个例子,下表显示了包含加利福尼亚州房价信息的数据集中的 5 个标记示例:

住房中位年龄(特征)客房总数(特征)卧室总数(特征)房屋价值中位数(标签)
155612128366900
197650190180100
17 72017485700
14150133773400
20145432665500

未标记的示例——包含特征但不包含标签,例如:

  未标记的示例: {features, ?}: (x, ?)

以下是来自同一住房数据集的 3 个未标记示例,其中不包括【房屋价值中位数】:

住房中位年龄(特征)客房总数(特征)卧室总数(特征)
421686361
341226180
331077271

一旦我们用带标签的示例训练了我们的模型,我们就使用该模型来预测未标记示例的标签。在垃圾邮件检测器中,未标记的示例是人类尚未标记的新电子邮件。

4.模型

模型定义了特征和标签之间的关系。例如,垃圾邮件检测模型可能会将某些特征与“垃圾邮件”密切相关。让我们重点介绍模型生命周期的两个阶段:

  • 训练——即创建或学习模型。向模型输入带标签的示例,并使模型逐渐学习特征和标签之间的关系。

  • 推理——即将训练好的模型应用于未标记的示例。使用经过训练的模型来做出有用的预测 。例如,在推理过程中,您可以预测未标记 “房屋价值中位数 的示例。

5.回归与分类

回归模型预测连续值。例如,回归模型做出的预测可以回答如下问题:

  • 加州的房子值多少钱?

  • 用户点击此广告的概率是多少?

分类模型预测离散值。例如,分类模型做出的预测可以回答如下问题:

  • 给定的电子邮件是垃圾邮件还是非垃圾邮件?

  • 这是狗、猫还是仓鼠的图像?

6.损失

训练模型仅仅意味着学习(确定)所有权重的良好值以及来自标记示例的偏差。在监督学习中,机器学习算法通过检查许多示例并尝试找到最小化损失的模型来构建模型;这个过程称为经验风险最小化

损失是对错误预测的惩罚。也就是说, 损失是一个数字,表明模型对单个示例的预测有多糟糕。如果模型的预测是完美的,则损失为零;否则,损失更大。训练模型的目标是找到一组在所有示例中平均损失较低的权重和偏差。例如,图 1 左侧显示高损失模型,右侧显示低损失模型。请注意该图的以下几点:

  • 箭头代表损失
  • 蓝线代表预测
  • 圆圈代表实际值

图 1 左侧模型中的高损失;正确模型的低损耗

 

请注意,左图中的箭头比右图中的箭头长得多。显然,右图中的线是比左图中的线更好的预测模型。您可能想知道是否可以创建一个数学函数(损失函数),以有意义的方式汇总各个损失。

我们将在此处检查的线性回归模型使用称为平方损失(也称为 \mathbf{L2} 损失)的损失函数 。单个示例的平方损失如下:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

均方误差MSE ) 是整个数据集中每个示例的平均平方损失。要计算 MSE,请将各个示例的所有平方损失相加,然后除以示例数量:

MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2

在哪里:

  • (x,y) 是一个例子,其中
    • x 是模型用于进行预测的一组特征(例如,学历、年龄、性别)。
    • y 是示例的标签(例如温度、购物偏好)。
  • prediction(x) 是权重和偏差与特征集相结合的函数。
  • D 是一个包含许多标记示例的数据集,这些示例是 (x,y) 对。
  •  N 是数据集 D 中的示例的数量。

尽管 MSE 在机器学习中很常用,但它既不是唯一实用的损失函数,也不是适合所有情况的最佳损失函数。

6.2 损失低,也可能是一个糟糕的模型

如图 2 所示,假设这些图中的每个点代表一棵树在森林中的位置。两种颜色的含义如下:

  • 蓝点代表生病的树。
  • 橙色点代表健康的树木。

图 2 生病的(蓝色)树和健康的(橙色)树

您能想象一个好的模型来预测随后患病或健康的树木吗?花点时间在心里画一条弧线,将蓝色和橙色分开,或者在心里套住一批橙色或蓝色。然后,看图 3,它显示了某种机器学习模型如何将病树与健康树分开。请注意,该模型产生的损失非常低。

图 3 用于区分病树和健康树的复杂模型

乍一看,图 3 所示的模型似乎在区分健康树木和患病树木方面表现出色,或者做到了极地的损失。但是,它的泛华能力非常差。图 4 显示了我们向模型添加新数据时发生的情况。事实证明,该模型对新数据的适应能力非常差。请注意,该模型对许多新数据进行了错误分类。

图 4 该模型在预测新数据方面表现不佳

图 3 中所示的模型过度拟合了其训练数据的特殊性。过度拟合模型在训练过程中损失较低,但在预测新数据方面表现不佳。如果一个模型能够很好地拟合当前样本,我们如何相信它能够对新数据做出良好的预测?过度拟合是由于模型变得过于复杂而导致的。机器学习的基本张力在于很好地拟合我们的数据,但又尽可能简单地拟合数据。

机器学习的目标是对从(隐藏的)真实概率分布中提取的新数据进行良好预测。不幸的是,模型无法看到全部真相;该模型只能从训练数据集中进行采样。如果一个模型很好地适合当前的示例,你如何相信该模型也能对从未见过的示例做出良好的预测? 

7.数据分割

7.1 分割方式一

一种最朴素的思路,是将数据集分为两个子集——即训练集+测试集。

  • 训练集——训练模型的子集。
  • 测试集——测试训练模型的子集。

如图 5 所示,对单个数据集进行切片:

图 5 将单个数据集分割为训练集和测试集

确保您的测试集满足以下两个条件:

  • 足够大以产生具有统计意义的结果。
  • 代表整个数据集。换句话说,不要选择与训练集具有不同特征的测试集。

假设测试集满足上述的两个条件,目标是创建一个能够很好地推广到新数据的模型。我们的测试集充当新数据的代理。如图 6 所示,请注意,基于训练数据学习的模型非常简单,这个模型并不完美——一些预测是错误的。然而,该模型在测试数据上的表现与在训练数据上的表现一样好。换句话说,这个简单的模型不会过度拟合训练数据。

 

图 6 根据测试数据验证训练模型

切勿根据测试数据进行训练。 如果在评估指标上看到令人惊讶的良好结果,则可能表明我们不小心在测试集上进行了训练,或者测试数据已泄漏到训练集中(很好理解,相当于你提前拿到了考试卷和参考答案,考试当然可以取得好成绩,但这并非你真正掌握了知识,而是一种“作弊”行为)。

例如,一个使用主题行、电子邮件正文和发件人电子邮件地址作为特征来预测电子邮件是否为垃圾邮件的模型。我们将数据分割为训练集和测试集,比例为 80%,20%。训练后,模型在训练集和测试集上均达到 99% 的精度。我们预计测试集的精度较低,因此我们再次查看数据,发现测试集中的许多示例都是训练集中示例的重复项(我们忽略了删除相同垃圾邮件的重复条目)在分割数据之前来自我们输入数据库的电子邮件)。我们无意中对一些测试数据进行了训练,因此,我们不能准确地衡量我们的模型对新数据的泛化程度。

7.2 分割方式二

上面介绍了将数据集划分为训练集和测试集。这种分区使我们能够在一组示例上进行训练,然后针对另一组示例测试模型。对于两个分区,工作流程可能如图 7 所示:

图 7 可能的工作流程

在图 7 中,“调整模型” 意味着调整你可以想象的模型的任何内容——从改变学习率,到添加或删除特征,再到从头开始设计一个全新的模型。在此工作流程结束时,您选择在测试集上表现最好的模型。

将数据集分为两组是一个好主意,但不是万能的。通过将数据集划分为图 8 所示的三个子集,可以大大减少过度拟合的机会:

图 8. 将单个数据集分割成三个子集

使用验证集来评估训练集的结果。然后,在模型 “通过” 验证集后,使用测试集再次评估 。图 9 显示了这个新的工作流程:

图 9 更好的工作流程

在这个改进的工作流程中:

  1. 选择在验证集上表现最好的模型。
  2. 根据测试集仔细检查该模型。

这是一个更好的工作流程,因为它减少了测试集的暴露。

8.参考文献

本文部分内容翻译自 英文资料(链接-https://developers.google.cn/machine-learning/crash-course/descending-into-ml/training-and-loss),感兴趣的读者可以查看原文。

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

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

相关文章

shardingjdbc入门-自问自答

1:shardingjdbc 是什么,它能做什么,解决了什么问题? 现实的问题是mysql单表存储是有上线的,因为mysql采用的是 B 树类型的索引,在数据量超过阈值的时候,索引的持续变大,会导致访问磁盘的IO次数增…

【永久服务器】EUserv

1. 请先自行准备网络(我用的伦敦还可以)、以及visa卡,淘宝可以代付,我总共花了97人民币(10.94欧代付费) 现在只能申请一台,多了会被删除,也就是两欧元,然后选择visa卡 选…

正版软件 | RadiAnt DICOM Viewer - 医学图像的PACS DICOM浏览器

辐射蚂蚁DICOM查看器 2023.1 最新版。 新增功能: 长度比计算。椭球体/子弹体积计算。添加了在 DICOM 标记窗口中将特定项目着色和/或固定到顶部的选项。 改进和错误修复: 使用多个关键字(用 |) 分隔)搜索本地存档。…

0基础学习VR全景平台篇第49篇:高级功能-自定义LOGO

功能位置示意 一、本功能将用在哪里? 自定义logo功能,可以在全景作品中自定义植入商企logo,让全景自带推广属性,使宣传效果事半功倍。 备注:不同皮肤自定义logo显示位置不同。 点击这里 查看案例 二、如何使用本功能…

智云通CRM:引领企业数字化转型的利器

在如今的商业竞争中,客户管理是企业成功的关键因素之一。然而,传统的客户管理方式已经无法满足企业日益增长的需求,企业需要一个强大的工具来帮助他们更好地管理客户关系,并实现数字化转型。智云通CRM系统作为最佳解决方案&#x…

Spring Boot 如何防止重复请求?| 超级详细,建议收藏

1. 前言🔥 在日常业务开发中,处理重复请求应该是我们需要经常注意的,在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些请求是涉及写入操作的,一旦重复了,很可能会导致很严重的后果&#…

【Python】模块导入 ② ( 模块导入语法 | 导入完整模块 | import 导入完整模块 | from 导入完整模块 )

文章目录 一、导入完整模块 - import 导入完整模块1、import 导入完整模块2、代码示例 - 导入 time 时间模块 二、导入完整模块 - from 导入完整模块1、from 导入完整模块2、代码示例 - from 导入完整模块 一、导入完整模块 - import 导入完整模块 1、import 导入完整模块 使用…

Mybatis背景简介及其优缺点

文章目录 1. JDBC简介1.1 jdbc架构图1.2 jdbc例子1.3 jdbc缺点 2. Mybatis2.1 iBATIS是什么2.2 Mybatis是什么2.3 和其他持久层框架的本质区别2.4 Mybatis和Hibernate的共同点2.5 Mybatis的优缺点2.5.1 Mybatis的优点2.5.2 Mybatis的缺点 2.6 Hibernate的优缺点2.6.1 Hibernate…

工作流引擎技术选型

一、主流开源框架介绍 1、工作流相关文档 1.Camunda 官方文档:https://camunda.com/ 中文文档:介绍 | docs.camunda.org 2.Activiti 官方文档:https://www.activiti.org/ 中文文档:[activiti6用户手册 3.Snaker 官方文档&…

【PCIE体系结构十四】电气物理层之发送端FFE

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《PCI.EXPRESS系统体系结构标准教材 Mindshare》 参考文章&…

Docker 安装 Nginx,并实现负载均衡

1、获取 nginx 的镜像 # 默认是latest版本docker pull nginx 2、运行 nginx 容器 docker run --name nginx-80 -p 80:80 --rm -d nginx# --name nginx-80 设定容器的名称# -p 80:80 端口进行映射,将本地的80端口映射到容器内部的80端口# --rm 表示容器退出后直接…

云安全技术——Hyper-V虚拟化技术

目录 5-1 了解Hyper-V 5-2 安装Hyper-V 5-3创建虚拟机 Hyper-V虚拟化技术 实验目的 了解 Windows 虚拟化的概念 了解 Hyper-V的背景及发展 了解 Hyper-V 的功能特性 了解 Hyper-V的体系架构 实验要求 能描述 Hyper-V 的功能特性 能在 Windows 2012 R2系统下部署 Hyper-V 能使…

SpringBoot整合MyBatis分页

SpringBoot整合MyBatis分页 一、pagehelper分页1、添加相关依赖2、添加相关配置3、添加分页配置4、添加代码5、测试 二、拦截器分页1、添加相关配置2、添加拦截器代码和配置3、添加代码4、测试4、测试 本文目标: SpringBoot整合Mybatis分页的两种方式,一…

Python基础八

目录 一、Python条件控制语句 1.执行过程 2.if 语句 if中常用的操作运算符: if 嵌套 3.match...case语句 二、Python循环控制语句 1.while循环 while无限循环 while 循环使用 else 语句 2.for 循环语句 for...in...循环 for循环使用else语句 for...in range()…

2023年3季度DAMA-CDGA/CDGP数据治理认证即将开班

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

你知道ai绘画生成器怎么弄吗

在数字时代,艺术也开始走向了自动化。随着人工智能技术的进步,ai绘画软件已经开始逐渐普及。它们可以利用先进的神经网络算法,学习人类艺术家的风格和技巧,从而生成出高度逼真的艺术作品。这些作品虽然没有人类艺术家的创意和灵魂…

Linux系统编程(终端和进程的关系)

文章目录 前言一、终端和控制台二、TTY和PTY三、终端的类型四、Gnome Terminal伪终端总结 前言 本篇文章带大家学习终端和进程的关系,终端相信大家都听过,那么真的理解终端是什么吗?应该有很多同学对于终端只是有一个模糊的概念。那么这篇文…

【算法题】合并两个有序链表、删除字符串 s1 中在字符串 s2 中出现的字符、求一个论坛一天的在线人数分布

合并两个有序链表、删除字符串 s1 中在字符串 s2 中出现的字符、求一个论坛一天的在线人数分布 一、合并两个有序链表1.1、题目描述1.2、思路1.3、代码实现1.4、小结 二、删除字符串 s1 中在字符串 s2 中出现的字符2.1、题目描述2.2、思路2.3、代码实现2.4、小结 三、求一个论坛…

项目进度类知识要点

单代号网络图 六标时法正推法逆推法 六标时法最早开始时间(ES)工期最早完成时间(EF)活动名称/活动编号最迟开始时间(LS)浮动时间(总时差)最迟完成时间(LF) 关键路径、计算项目的总工期 关键路径是最大长度关键路径上的活动是关键活动关键活动之和为总工期 关键路径变化问题…

华为18级工程师三年心血终成趣谈网络协议文档(附大牛讲解)

前言 虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ,非常复杂。学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基本没有…