机器学习术语表:机器学习基础知识

本页面包含“机器学习基础知识”术语表术语。如需查看所有术语表,请点击此处

准确性

#fundamentals

正确分类预测的数量除以预测总数。具体来说:

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

例如,如果某个模型做出 40 次正确预测和 10 次错误预测,则准确率为:

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

二元分类为不同类别的正确预测错误预测提供特定名称。因此,二元分类的准确率公式如下所示:

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

其中:

通过精确率召回率比较和对比准确率。

激活函数

#fundamentals

一种功能,可以让神经网络学习非线性(复杂)特征之间的关系。

常用激活函数包括:

激活函数的图从来都不是一条直线。例如,ReLU 激活函数的图由两条直线组成:

两条线的笛卡尔图。第一行的 y 常量值为 0,沿 x 轴从 -无穷大,0 到 0,-0 运行。第二行从 0,0 开始。这条线的斜度为 +1,因此它的范围为 0,0 到 +无穷大,+无穷大。

S 型激活函数的曲线图如下所示:

二维曲线图,x 值跨越域-无穷大到正正数,而 y 值跨度几乎介于 0 到 1 之间。当 x 为 0 时,y 为 0.5。曲线的斜率始终为正,最高斜率为 0,0.5,并且随着 x 的绝对值的增加而逐渐减小。

有一个常见的误解,

#fundamentals

一种可处理复杂任务的非人类程序或模型model 例如,用于翻译文本、能够从放射影像中识别疾病的程序或模型都具备人工智能。

正式地说,机器学习是人工智能的一个子领域。但是,近年来,一些组织开始将人工智能和机器学习互换使用。

AUC(ROC 曲线下面积)

#fundamentals

介于 0.0 和 1.0 之间的数字,表示二元分类模型将正类别负类别分开的能力。曲线下面积越接近 1.0,模型将类别彼此分离的能力就越好。

例如,下图所示的分类器模型可将正类别(绿色椭圆形)与负类别(紫色矩形)完美区分开。这个不切实际的完美模型的 AUC 为 1.0:

一条数线,一侧包含 8 个正例,另一侧有 9 个负例。

相反,下图显示了生成随机结果的分类器模型的结果。此模型的 AUC 为 0.5:

包含 6 个正例和 6 个负例的数线。
          示例序列为正、负、正、负、正、负、正、负、正负、正、负。

是,上述模型的 AUC 为 0.5,而不是 0.0。

大多数模型都处于这两种极端情况之间。例如,以下模型在一定程度上将正例与负例分隔开来,因此其 AUC 介于 0.5 到 1.0 之间:

包含 6 个正例和 6 个负例的数线。
          示例序列为负、负、负、负、正、负、正、正、负、正、正、正。

AUC 会忽略您为分类阈值设置的任何值。而是会考虑所有可能的分类阈值。

B

反向传播算法

#fundamentals

神经网络中实现梯度下降法的算法。

训练神经网络涉及以下两步循环的多次迭代

  1. 前向传播期间,系统会处理一样本以生成预测结果。系统会将每个预测与每个标签值进行比较。预测结果与标签值之间的差值就是该样本的损失。系统会汇总所有样本的损失以计算当前批次的总损失。
  2. 在向后传递(反向传播)期间,系统会通过调整所有隐藏层中所有神经元的权重来减少损失。

神经网络通常包含跨多个隐藏层的多个神经元。其中每个神经元都会以不同的方式影响整体损失。 反向传播算法决定是增加还是减少应用于特定神经元的权重。

学习速率是一个调节系数,用于控制每个反向传播增加或减少每个权重的程度。较大的学习速率会增加或减少每个权重,且学习速率不会超过较小的学习速率。

从微积分的角度来说,反向传播实现的是微积分的链式法则。也就是说,反向传播会针对每个参数计算误差的偏导数。如需了解详情,请参阅机器学习速成课程中的教程

几年前,机器学习从业者必须编写代码才能实现反向传播。现在,TensorFlow 等现代机器学习 API 会为您实现反向传播算法。哎呀!

批处理

#fundamentals

一次训练迭代中使用的一组样本批次大小决定了一个批次中的样本数量。

如需了解批处理与周期之间的关系,请参阅周期

批次大小

#fundamentals

批量中的样本数量。 例如,如果批次大小为 100,则模型每次迭代可处理 100 个样本。

以下是常见的批量大小策略:

  • 随机梯度下降法 (SGD),其中批次大小为 1。
  • 全批次,其中批次大小是整个训练集中的样本数量。例如,如果训练集包含 100 万个样本,则批次大小将为 100 万个样本。全批量策略通常是一种低效的策略。
  • 小批次,其中批次大小通常介于 10 到 1000 之间。小批次通常是最有效的策略。

偏差(道德/公平性)

#fairness
#fundamentals

1. 对某些事物、人或群体形成成见、偏见或偏爱。这些偏差可能会影响数据的收集和解读、系统设计以及用户与系统的互动方式。此类偏差的形式包括:

2. 抽样或报告程序引入的系统错误。 此类偏差的形式包括:

请勿与机器学习模型中的偏差项预测偏差混淆。

偏差(数学)或偏差项

#fundamentals

相对于原点的截距或偏移量。偏差是机器学习模型中的参数,用以下符号表示:

  • b
  • w0

例如,在以下公式中,偏差为 b:b

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

在简单的二维线中,偏差仅仅表示“y 轴截距”。例如,下图中线条的偏差为 2。

斜率为 0.5 且偏差(y 轴截距)为 2 的线条的曲线图。

之所以存在偏差,是因为并非所有模型都从原点 (0,0) 开始。例如,假设一个游乐园的门票价格为 2 欧元,并且客户每入住一小时的费用为 0.5 欧元。因此,映射总费用的模型的偏差为 2,因为最低费用为 2 欧元。

请勿将偏差与道德和公平性偏差预测偏差混淆。

二元分类

#fundamentals

一种分类任务,用于预测两个互斥的类别之一:

例如,以下两个机器学习模型分别执行二元分类:

  • 一种模型,用于确定电子邮件是垃圾邮件(正类别)还是非垃圾邮件(负类别)。
  • 一种评估医学症状以确定某人是患有特定疾病(正类别)还是没有该疾病(负类别)的模型。

多类别分类相对。

另请参阅逻辑回归分类阈值

分桶

#fundamentals

将单个特征转换为多个称为“分桶”或“分箱”的二元特征(通常基于值范围)。切割特征通常是连续特征

例如,您可以将温度范围分割为离散存储分区,而不是将温度表示为单个连续的浮点特征,例如:

  • <= 10 摄氏度将是“冷”存储分区。
  • 11 到 24 摄氏度代表“温带”范围。
  • >= 25 摄氏度将是“温”范围。

模型将对同一存储分区中的每个值一视同仁。例如,值 1322 都位于温带分区中,因此模型对这两个值的处理方式相同。

C

分类数据

#fundamentals

具有一组特定可能值的特征。以一个名为 traffic-light-state 的分类特征为例,该特征只能具有以下三个可能的值之一:

  • red
  • yellow
  • green

通过将 traffic-light-state 表示为分类特征,模型可以了解 redgreenyellow 对驱动程序行为的不同影响。

分类特征有时称为离散特征

数值数据相对。

#fundamentals

标签可能所属的类别。例如:

  • 在检测垃圾内容的二元分类模型中,两类可能是垃圾内容和非垃圾内容。
  • 在识别犬种的多类别分类模型中,类别可能是贵宾犬小猎犬哈巴狗等。

分类模型可预测类别。相比之下,回归模型预测的是数字而不是类别。

分类模型

#fundamentals

预测为模型modelmodel例如,以下是所有分类模型:

  • 一个预测输入句子的语言(法语?西班牙语? 意大利语?)。
  • 一个预测树种(枫树?橡树?猴面包树?)。
  • 一种模型,可预测特定疾病的正类别或负类别。

相比之下,回归模型是预测数字而不是类别。

两种常见的分类模型是:

分类阈值

#fundamentals

二元分类中,介于 0 到 1 之间的数字,用于将逻辑回归模型的原始输出转换为正类别负类别的预测值。请注意,分类阈值是人类选择的值,而不是模型训练选择的值。

逻辑回归模型会输出 0 到 1 之间的原始值。然后,执行以下操作:

  • 如果此原始值大于分类阈值,则预测正类别。
  • 如果此原始值小于分类阈值,则预测负类别。

例如,假设分类阈值为 0.8。如果原始值为 0.9,则模型预测正类别。如果原始值为 0.7,则模型会预测负类别。

分类阈值的选择对假正例假负例的数量有很大影响。

分类不平衡数据集 (class-imbalanced data)

#fundamentals

用于分类问题的数据集,其中每个类的标签总数差异很大。 例如,假设一个二元分类数据集,其两个标签按如下方式划分:

  • 100 万个排除标签
  • 10 个正向标签

负标签与正标签的比率为 100,000:1,因此这是一个分类不平衡的数据集。

相比之下,以下数据集分类不平衡,因为负标签与正标签的比率相对接近于 1:

  • 517 个排除标签
  • 483 个肯定标签

多类别数据集也可能是分类不平衡的。例如,下面的多类别分类数据集也不平衡,因为一个标签的示例远远多于另外两个标签:

  • 100 万个类别为“green”的标签
  • 200 个类别为“紫色”的标签
  • 350 个类别为“orange”的标签

另请参阅多数类少数类

裁剪

#fundamentals

通过执行以下任一或两项操作来处理离群值

  • 将大于最大阈值的 feature 值减少到该最大阈值。
  • 将小于最小阈值的特征值增加到该最小阈值。

例如,假设特定特征的值小于 0.5% 不在 40-60 的范围内。在这种情况下,您可以执行以下操作:

  • 将超过 60(最大阈值)的所有值裁剪为正好 60。
  • 将低于 40(最低阈值)的所有值裁剪为正好 40。

离群值可能会损坏模型,有时会导致权重在训练期间溢出。一些离群值还会严重破坏准确率等指标。裁剪是一种限制损害的常见技术。

梯度裁剪可在训练期间强制使梯度值位于指定范围内。

混淆矩阵

#fundamentals

一个 NxN 表,汇总了分类模型所做的正确预测和错误预测的数量。以二元分类模型的以下混淆矩阵为例:

肿瘤(预测) 非肿瘤(预测)
肿瘤(标准答案) 18 (TP) 1(FN)
非肿瘤(标准答案) 6(指纹) 452(田纳西州)

上述混淆矩阵显示以下内容:

  • 标准答案为“Tumor”的 19 个预测中,模型正确分类了 18 个,错误分类为 1 个。
  • 在标准答案为非肿瘤的 458 个预测中,模型正确分类为 452 个,错误分类为 6 个。

多类别分类问题的混淆矩阵可帮助您识别错误的模式。例如,考虑以下混淆矩阵的 3 类多类别分类模型,该模型对三种不同的虹膜类型(维吉尼亚、Versicolor 和山叶花)进行分类。当标准答案为 Virginica 时,混淆矩阵显示,与 Setosa 相比,模型错误地预测 Versicolor 的可能性要高得多:

  山鹿(预测) Versicolor(预测) 维吉尼亚州(预测)
山鹿(标准答案) 88 12 0
Versicolor(标准答案) 6 141 7
弗吉尼亚州(标准答案) 2 27 109

另一个示例是,混淆矩阵可以揭示,经过训练以识别手写数字的模型往往会将 4 错误地预测为 9,或者错误地预测 1 而不是 7。

混淆矩阵包含足够的信息来计算各种性能指标,包括精确率召回率

连续特征

#fundamentals

一个浮点特征,可能值的范围不受限制,例如温度或重量。

离散特征相对。

收敛

#fundamentals

损失值随着每次迭代而变化很小或根本没有变化时,达到这种状态。例如,下面的损失曲线表明,在大约 700 次迭代时收敛:

笛卡尔图。X 轴表示损失。Y 轴是训练迭代次数。损失在前几次迭代中非常高,但会急剧下降。经过大约 100 次迭代后,损失仍呈下降趋势,但更为缓慢。大约 700 次迭代后,损失会保持不变。

如果额外的训练无法改善模型,模型将收敛

深度学习中,损失值有时会在多次迭代中保持不变或几乎保持如此,最终才会下降。在长时间不变的损失值期间,您可能会暂时产生虚假的收敛感。

另请参阅早停法

D

DataFrame

#fundamentals

一种常见的 Pandas 数据类型,用于表示内存中的数据集

DataFrame 类似于表格或电子表格。DataFrame 的每一列都有一个名称(标题),并且每一行都由唯一的数字标识。

DataFrame 中的每一列的结构类似于二维数组,只不过可以为每列分配其自己的数据类型。

另请参阅官方 pandas.DataFrame 参考页面

数据集或数据集

#fundamentals

原始数据的集合,通常(但并非专门)按以下某种格式进行组织:

  • 电子表格
  • 一个 CSV(逗号分隔值)格式的文件

深度模型

#fundamentals

包含多个隐藏层神经网络

深度模型也称为深度神经网络

广度模型相对。

密集特征

#fundamentals

大多数或所有值均为非零值的特征,通常是浮点值的张量。例如,以下 10 元素张量是密集的,因为它有 9 个值是非零值:

8 3 7 5 2 4 0 4 9 6

稀疏特征相对。

depth

#fundamentals

神经网络中的以下各项的总和:

例如,具有 5 个隐藏层和一个输出层的神经网络的深度为 6。

请注意,输入层不会影响深度。

离散特征

#fundamentals

一种特征,具有一组有限的可能值。例如,某个值只能是动物、蔬菜或矿物的特征就是离散(或分类)特征。

连续特征相对。

动态

#fundamentals

频繁或持续执行的某些操作。 术语“动态”和“在线”是机器学习中的同义词。以下是在机器学习中使用动态和在线操作的常见用途:

  • 动态模型(即在线模型)是一种频繁或持续地重新训练的模型。
  • 动态训练(即在线训练)是频繁或持续训练的过程。
  • 动态推断是按需生成预测的过程。

动态模型

#fundamentals

频繁(甚至不断地)重新训练的model。动态模型是一种“生命周期”的学习器,可以不断适应不断演变的数据。动态模型也称为在线模型

静态模型相对。

E

早停法

#fundamentals

正则化方法,包括在训练损失减少之前结束训练。在早停法中,当验证数据集上的损失开始增加时(即泛化性能变差时),您会故意停止训练模型。

嵌入层

#language
#fundamentals

一个特殊的隐藏层,可基于高维分类特征进行训练,以逐步学习低维度嵌入向量。与仅基于高维分类特征进行训练相比,嵌入层可让神经网络更高效地进行训练。

例如,Google 地球目前支持约 73,000 种树。假设树种是模型中的特征,因此模型的输入层包含一个长度为 73,000 个元素的独热矢量例如,baobab 也许可以这样表示:

一个包含 73,000 个元素的数组。前 6232 个元素的值是 0。下一个元素的值是 1。最后的 66,767 个元素使值为零。

一个包含 73,000 个元素的数组非常长。如果您不向模型添加嵌入层,由于需要将 72,999 个零相乘,训练将会非常耗时。也许,您挑选的嵌入层 由 12 个维度组成因此,嵌入层会逐渐学习每个树种类的新嵌入向量。

在某些情况下,哈希处理是嵌入层的合理替代方案。

周期数

#fundamentals

整个训练集的一次完整训练遍历,以便每个样本都被处理一次。

一个周期表示 N/批次大小训练迭代次数,其中 N 是样本的总数。

例如,假设存在以下情况:

  • 数据集包含 1000 个样本。
  • 批次大小为 50 个样本。

因此,单个周期需要 20 次迭代:

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

示例

#fundamentals

一行特征的值,也可能是标签监督式学习中的示例可分为两大类:

  • 有标签样本由一个或多个特征和一个标签组成。有标签样本在训练期间使用。
  • 无标签样本包含一个或多个特征,但没有标签。在推断过程中使用无标签样本。

例如,假设您要训练模型来确定天气条件对学生测试分数的影响。以下是三个有标签示例:

功能 标签
温度 湿度 压力 测试分数
15 47 998 不错
19 34 1020 极佳
18 92 1012

以下是三个无标签样本:

温度 湿度 压力  
12 62 1014  
21 47 1017  
19 41 1021  

数据集的行通常是样本的原始来源。也就是说,样本通常包含数据集中的一部分列。此外,示例中的特征还可以包含合成特征,例如特征组合

F

假负例 (FN)

#fundamentals

模型错误地预测了负类别的样本。例如,模型预测某封电子邮件不是垃圾邮件(负类别),但该电子邮件实际上是垃圾邮件。

假正例 (FP)

#fundamentals

模型错误地预测正类别的示例。例如,模型预测某封电子邮件是垃圾邮件(正类别),但该电子邮件实际上不是垃圾邮件

假正例率 (FPR)

#fundamentals

模型错误地预测正类别的实际负分类样本所占的比例。以下公式会计算假正例率:

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

假正例率是 ROC 曲线中的 x 轴。

功能

#fundamentals

机器学习模型的输入变量。样本由一个或多个特征组成。例如,假设您要训练模型来确定天气条件对学生考试分数的影响。下表显示了三个示例,每个示例包含三个特征和一个标签:

功能 标签
温度 湿度 压力 测试分数
15 47 998 92
19 34 1020 84
18 92 1012 87

标签相对。

特征组合

#fundamentals

通过“组合”分类分桶特征而形成的合成特征。

例如,假设有一个“情绪预测”模型,它表示以下四个类别之一的温度:

  • freezing
  • chilly
  • temperate
  • warm

并且表示以下三个分段之一的风速:

  • still
  • light
  • windy

如果没有特征组合,线性模型会针对上述七个不同的存储分区分别进行训练。举例来说,模型会根据 freezing 进行训练,与训练无关,例如在 windy 上训练。

或者,您也可以创建一个温度与风速的特征组合。此合成特征将具有以下 12 个可能的值:

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

得益于特征组合,模型可以学习 freezing-windy 天与 freezing-still 天之间的情绪差异。

如果使用两个特征(每个特征具有许多不同的分区)创建合成特征,则生成的特征组合将具有大量可能的组合。例如,如果一个特征有 1,000 个分区,另一个特征有 2,000 个分区,则生成的特征组合有 2,000,000 个分区。

正式来说,叉号是笛卡尔积

特征组合主要用于线性模型,很少用于神经网络。

特征工程

#fundamentals
#TensorFlow

一个过程涉及以下步骤:

  1. 确定哪些特征可能有助于训练模型。
  2. 将数据集中的原始数据转换为这些特征的高效版本。

例如,您可以确定 temperature 可能是一项实用功能。然后,您可以尝试分桶,以优化模型可以从不同 temperature 范围中学习的内容。

特征工程有时称为特征提取

特征集

#fundamentals

用于训练机器学习模型特征组。 例如,对于用于预测房价的模型,邮政编码、房产大小和房产状况可能构成一个简单的特征集。

特征向量

#fundamentals

组成示例feature 值数组。特征向量在训练推断期间输入。 例如,对于具有两个离散特征的模型,其特征向量可能是:

[0.92, 0.56]

四个层:一个输入层、两个隐藏层和一个输出层。
          输入层包含两个节点,一个节点包含值 0.92,另一个节点包含值 0.56。

每个示例都为特征向量提供不同的值,因此下一个示例的特征向量可能如下所示:

[0.73, 0.49]

特征工程决定了如何表示特征向量中的特征。例如,具有五个可能值的二元分类特征可以使用独热编码表示。在这种情况下,特定样本的特征向量部分将包含四个零,在第三个位置包含一个 1.0,如下所示:

[0.0, 0.0, 1.0, 0.0, 0.0]

再举一个例子,假设您的模型包含三个特征:

  • 二元分类特征,具有五个可能值,采用独热编码表示;例如:[0.0, 1.0, 0.0, 0.0, 0.0]
  • 另一个二元分类特征,具有三个可能值,用独热编码表示;例如:[0.0, 0.0, 1.0]
  • 浮点特征;例如:8.3

在这种情况下,每个样本的特征向量将由 9 个值表示。根据上述列表中的示例值,特征向量将是:

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

反馈环

#fundamentals

在机器学习中,模型预测会影响同一模型或其他模型的训练数据。例如,推荐电影的模型会影响人们观看的电影,进而影响后续的电影推荐模型。

G

泛化

#fundamentals

模型对以前未见过的新数据做出正确预测的能力。可以泛化的模型与过拟合模型相反。

泛化曲线

#fundamentals

训练损失验证损失作为迭代次数的函数图。

泛化曲线可以帮助您检测可能的过拟合。例如,以下泛化曲线表明出现过拟合,因为验证损失最终会显著高于训练损失。

笛卡尔图,其中 y 轴标记为“损失”,x 轴标记为“迭代次数”。系统会显示两个图表。一个图显示的是训练损失,另一个图显示验证损失。
这两个曲线图开始时类似,但训练损失最终下降,远低于验证损失。

梯度下降法

#fundamentals

一种用于最大限度降低损失的数学技巧。梯度下降法以迭代方式调整权重偏差,逐渐找到最佳组合以将损失降至最低。

梯度下降法比机器学习要古老得多。

标准答案

#fundamentals

真人秀。

实际发生的事件。

例如,假设某个二元分类模型可预测大学一年级的学生是否会在六年内毕业。此模型的基本事实是该学生是否真的在 6 年内毕业。

H

隐藏层

#fundamentals

神经网络中的输入层(特征)和输出层(预测层)之间的层。每个隐藏层都包含一个或多个神经元。例如,以下神经网络包含两个隐藏层,第一个隐藏层包含三个神经元,第二个隐藏层包含两个神经元:

四层。第一层是包含两个特征的输入层。第二层是包含三个神经元的隐藏层。第三层是包含两个神经元的隐藏层。第四层是输出层。每个特征包含三条边,每条边指向第二层中的一个不同的神经元。第二层中的每个神经元都有两条边,每条边指向第三层中的一个不同的神经元。第三层中的每个神经元都包含一条边缘,每个边缘都指向输出层。

深度神经网络包含多个隐藏层。例如,上图是一个深度神经网络,因为模型包含两个隐藏层。

超参数

#fundamentals

您或超参数调节服务在训练模型的连续运行期间调整的变量。例如,学习速率就是一个超参数。您可以在一次培训课程之前将学习速率设置为 0.01。如果您确定 0.01 过高,则可以为下一个训练课将学习速率设置为 0.003。

相比之下,参数是模型在训练期间学习的各种权重偏差

I

独立同分布 (i.i.d)

#fundamentals

从不会改变的分布中绘制的数据,其中绘制的每个值并不依赖于之前绘制的值。i.i.d. 是机器学习的理想气体 - 一种实用的数学结构,但在现实世界中几乎从未发现过。例如,某个网页的访问者在短时间内的分布可能为 i.i.d.;也就是说,该分布在这段时间内不会发生变化,并且一个用户的访问通常独立于另一个用户的访问。但是,如果您延长该时间范围,网页访问者的季节性差异可能就会体现出来。

另请参阅非平稳性

推断

#fundamentals

在机器学习中,通过将经过训练的模型应用于无标签样本进行预测的过程。

推断在统计中的含义略有不同。如需了解详情,请参阅 关于统计推断的维基百科文章

输入层

#fundamentals

包含特征向量神经网络也就是说,输入层提供用于训练推断示例例如,以下神经网络中的输入层包含两个特征:

四个层:一个输入层、两个隐藏层和一个输出层。

可解释性

#fundamentals

能够以可理解的方式向人类解释或呈现机器学习模型的推理

例如,大多数线性回归模型都具有高度可解释性。(您只需查看每个特征的经过训练的权重。)决策森林也具有高度可解释性。但是,一些模型需要复杂的可视化才能变得可解释。

您可以使用学习可解释性工具 (LIT) 来解释机器学习模型。

迭代

#fundamentals

训练期间对模型参数(模型的权重偏差)进行的单次更新。批次大小决定了模型在单次迭代中处理的样本数量。例如,如果批次大小为 20,则模型在调整参数之前会处理 20 个样本。

训练神经网络时,单次迭代包括以下两个过程:

  1. 前向传播用于评估单个批次的损失。
  2. 一种反向传播(反向传播),用于根据损失和学习速率调整模型的参数。

L

L0 正则化

#fundamentals

一种正则化,用于处罚模型中非零权重的总数。例如,与具有 10 个非零权重的类似模型相比,具有 11 个非零权重的模型的惩罚机制会更大。

L0 正则化有时称为 L0 范式正则化

L1 损失

#fundamentals

一个损失函数,用于计算实际 label 值与 模型预测的值之间差值的绝对值。例如,对于包含 5 个样本批量,计算 L1 损失:

示例的实际值 模型的预测值 增量的绝对值
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = L1 损失

L2 损失相比,L1 损失对离群值不太敏感。

平均绝对误差是指每个样本的平均 L1 损失。

L1 正则化

#fundamentals

一种正则化,可根据权重的绝对值总和按比例惩罚权重L1 正则化有助于将无关或几乎不相关的特征的权重提高到正好为 0。权重为 0 的特征实际上会从模型中移除。

L2 正则化相对。

L2 损失

#fundamentals

一个损失函数,用于计算实际 label 值与 模型预测的值之间差值的平方。例如,下面针对包含 5 个样本批量计算 L2 损失:

示例的实际值 模型的预测值 增量平方
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = L2 损失

由于取平方,L2 损失会放大离群值的影响。也就是说,与 L1 损失相比,L2 损失对不良预测的反应更强烈。例如,前一批的 L1 损失将为 8,而不是 16。请注意,16 个离群值中有 9 个就是一个离群值。

回归模型通常使用 L2 损失作为损失函数。

均方误差是指每个样本的平均 L2 损失。平方损失函数是 L2 损失的别名。

L2 正则化

#fundamentals

一种正则化,可根据权重的平方和总和按比例惩罚权重L2 正则化有助于使离群值权重(具有较高正值或较低负值)的权重接近 0,但不正好为 0值非常接近 0 的特征会保留在模型中,但对模型的预测影响不大。

线性模型中,L2 正则化始终可以改进泛化。

L1 正则化相对。

标签

#fundamentals

监督式机器学习中,这是指样本的“答案”或“结果”部分。

每个有标签样本由一个或多个特征和一个标签组成。例如,在垃圾内容检测数据集中,标签可能是“垃圾内容”或“非垃圾内容”。在降雨数据集中,标签可能是特定时间段内的降雨量。

有标签样本 (labeled example)

#fundamentals

包含一个或多个特征和一个标签的示例。例如,下表显示了某个房屋评估模型的三个有标签样本,每个样本具有三个特征和一个标签:

卧室数量 浴室数量 住宅存在时间 房价(标签)
3 2 15 345,000 美元
2 1 72 179000 美元
4 2 34 392,000 美元

监督式机器学习中,模型使用有标签样本进行训练,并根据无标签样本进行预测。

对有标签样本与无标签样本进行对比。

Lambda

#fundamentals

正则化率的含义相同。

Lambda 是一个重载术语。我们在此关注的是该术语在正则化中的定义。

图层

#fundamentals

神经网络中的一组神经元下面介绍了三种常见的层:

例如,下图显示了一个神经网络,其中包含一个输入层、两个隐藏层和一个输出层:

具有一个输入层、两个隐藏层和一个输出层的神经网络。输入层包含两个特征。第一个隐藏层由三个神经元组成,第二个隐藏层由两个神经元组成。输出层由单个节点组成。

TensorFlow 中,也是 Python 函数,它们将张量和配置选项作为输入,并生成其他张量作为输出。

学习速率

#fundamentals

一个浮点数,用于告知梯度下降法算法在每次迭代中调整权重和偏差的力度。例如,学习速率为 0.3 时,调整权重和偏差的力度是学习速率为 0.1 的三倍。

学习速率是一个关键的超参数。如果设置的学习速率过低,则训练将花费太长时间。如果将学习速率设置得过高,梯度下降法通常难以达到收敛

线性

#fundamentals

两个或多个变量之间的关系,可以单独通过加法和乘法表示。

线性关系的曲线图是一条线。

非线性相对。

线性模型

#fundamentals

一种模型,为每个特征分配一个权重model以执行modelmodelmodel (线性模型还会纳入偏差。)相比之下,在深度模型中,特征与预测之间的关系通常是非线性的。

与深度模型相比,线性模型通常更易于训练,并且可解释性。但是,深度模型可以学习特征之间的复杂关系。

线性回归逻辑回归是两种类型的线性模型。

线性回归

#fundamentals

一种机器学习模型,同时满足以下两个条件:

  • 该模型为线性模型
  • 预测结果为浮点值。(这是线性回归回归部分。)

对比线性回归与逻辑回归此外,您还可以使用分类来对比回归。

逻辑回归

#fundamentals

一种用于预测概率的回归模型。逻辑回归模型具有以下特征:

  • 标签为分类标签。术语逻辑回归通常是指二元逻辑回归,即计算具有两个可能值的标签的概率的模型。一种不太常见的变体,即多项逻辑回归,用于计算具有两个以上可能值的标签的概率。
  • 训练期间的损失函数为对数损失函数(对于具有两个以上可能值的标签,可以并行放置多个对数损失单元。)
  • 模型采用线性架构,而非深度神经网络。但是,该定义的其余部分也适用于可预测分类标签的概率的深度模型

例如,假设有一个逻辑回归模型,该模型计算输入电子邮件是垃圾邮件或非垃圾邮件的概率。在推断期间,假设模型预测为 0.72。因此,模型会估算:

  • 该电子邮件是垃圾邮件的概率为 72%。
  • 相应电子邮件不是垃圾邮件的概率为 28%。

逻辑回归模型使用以下两步架构:

  1. 模型通过应用输入特征的线性函数来生成原始预测 (y')。
  2. 该模型使用该原始预测结果作为 S 型函数的输入数据,该函数会将原始预测结果转换为 0 到 1 之间的值(不含 0 和 1)。

与任何回归模型一样,逻辑回归模型可以预测数字。但是,此数字通常会成为二元分类模型的一部分,如下所示:

  • 如果预测数大于分类阈值,则二元分类模型会预测正类别。
  • 如果预测数量小于分类阈值,则二元分类模型会预测负类别。

对数损失

#fundamentals

在二元逻辑回归中使用的损失函数

对数几率

#fundamentals

某些事件几率的对数。

#fundamentals

监督模型训练期间,该指标用于衡量模型的预测与其标签的差距。

损失函数,用于计算损失。

损失曲线

#fundamentals

损失与训练迭代次数的关系图。下图显示了一个典型的损失曲线:

损失与训练迭代的笛卡尔图,显示初始迭代的损失快速下降,然后逐渐下降,然后在最终迭代中逐渐下降。

损失曲线可以帮助您确定模型何时收敛过拟合

损失曲线可以绘制以下所有类型的损失:

另请参阅泛化曲线

损失函数

#fundamentals

训练或测试期间,用于计算批量样本的损失的数学函数。对于预测效果较好的模型,损失函数返回的损失要低于预测效果不佳的模型。

训练的目标通常是最大限度地降低损失函数返回的损失。

存在许多不同类型的损失函数。请为您正在构建的模型类型选择合适的损失函数。例如:

M

机器学习

#fundamentals

一种程序或系统,用于根据输入数据训练模型。经过训练的模型可以根据从与训练模型所用分布相同的分布中抽取的新数据(以前从未见过)数据做出有用的预测。

机器学习也指与这些程序或系统相关的研究领域。

多数类

#fundamentals

分类不平衡数据集中更为常见的标签。例如,假设某个数据集包含 99% 的负例标签和 1% 的正例标签,则负例标签是多数类别。

少数类相对。

小批量

#fundamentals

在一个迭代中处理的批量中随机选择的一小部分子集。小批量的批量大小通常介于 10 到 1,000 个样本之间。

例如,假设整个训练集(全批量)包含 1000 个样本。进一步假设您将每个小批次的批次大小设置为 20。因此,每次迭代都会从 1000 个样本中随机抽取 20 个样本确定损失,然后相应地调整权重偏差

计算小批量上的损失比计算全批量中所有样本的损失效率高得多。

少数类

#fundamentals

分类不平衡数据集中不太常见的标签。例如,假设一个数据集包含 99% 的负例标签和 1% 的正例标签,正例标签是少数类别。

多数类相对。

model

#fundamentals

一般来说,是指处理输入数据并返回输出的任何数学结构。模型的含义是,模型是系统进行预测所需的一组参数和结构。在监督式机器学习中,模型将样本作为输入,并推断预测作为输出。在监督式机器学习中,模型略有不同。例如:

  • 线性回归模型由一组权重偏差组成。
  • 神经网络模型由以下部分组成:
    • 一组隐藏层,每个隐藏层包含一个或多个神经元
    • 与每个神经元关联的权重和偏差。
  • 决策树模型由以下几个部分组成:
    • 树的形状,即条件和树叶相互连接的模式。
    • 条件和叶子。

您可以保存、恢复模型或复制模型。

非监督式机器学习还会生成模型,通常是一个可以将输入样本映射到最合适的集群的函数。

多类别分类

#fundamentals

在监督式学习中,一种分类问题,其中数据集包含两个以上的标签。例如,Iris 数据集中的标签必须是以下三个类之一:

  • 山鸢尾
  • 维吉尼亚鸢尾
  • 变色鸢尾

使用 Iris 数据集训练的模型可针对新样本预测虹膜类型,该模型正在执行多类别分类。

相比之下,区分两个类别的分类问题是二元分类模型。例如,预测“垃圾邮件”或“不是垃圾邮件”的电子邮件模型就是一种二元分类模型。

在聚类问题中,多类别分类是指两个以上的集群。

负类别

#fundamentals

二元分类中,一类称为“正”,另一种称为“负”。正类别是模型测试的事物或事件,负类别是另一种可能性。例如:

  • 在医学检查中,负类别可以是“非肿瘤”。
  • 在电子邮件分类器中,负类别可以是“非垃圾邮件”。

正类别相对。

输出表示

#fundamentals

至少包含一个隐藏层model模型model深度神经网络是一种包含多个隐藏层的神经网络。例如,下图显示了一个包含两个隐藏层的深度神经网络。

具有一个输入层、两个隐藏层和一个输出层的神经网络。

神经网络中的每个神经元都会连接到下一层中的所有节点。 例如,在上图中,请注意第一个隐藏层中的三个神经元分别连接到第二个隐藏层中的两个神经元。

在计算机上实现的神经网络有时称为人工神经网络,以便与大脑和其他神经系统中的神经网络区分开来。

一些神经网络可以模仿不同特征与标签之间极其复杂的非线性关系。

另请参阅卷积神经网络循环神经网络

神经元

#fundamentals

在机器学习中,神经网络隐藏层中的一个不同单元。每个神经元执行以下两步操作:

  1. 计算输入值的加权总与对应权重的乘积。
  2. 将加权和作为输入传递给激活函数

第一个隐藏层中的神经元接受来自输入层中的特征值的输入。除第一个隐藏层之外,任何隐藏层中的神经元都会接受来自前一个隐藏层中的神经元的输入。例如,第二个隐藏层中的神经元接受来自第一个隐藏层中的神经元的输入。

下图突出显示了两个神经元及其输入。

具有一个输入层、两个隐藏层和一个输出层的神经网络。两个神经元突出显示:一个位于第一个隐藏层,一个位于第二个隐藏层。第一个隐藏层中突出显示的神经元会从输入层中的两个特征接收输入。第二个隐藏层中突出显示的神经元会从第一个隐藏层中的三个神经元每个接收输入。

神经网络中的神经元可模仿大脑和神经系统其他部分神经元的行为。

节点(神经网络)

#fundamentals

隐藏层中的神经元

非线性

#fundamentals

两个或多个变量之间的关系,无法仅通过加法和乘法来表示。线性关系可以表示为线条;非线性关系不能表示为线条。例如,假设有两个模型,每个模型都与单个特征与单个标签相关联。左侧的模型是线性模型,右侧的模型是非线性模型:

两个曲线图。其中一个曲线图是一条线,所以这是线性关系。
          另一个曲线图是曲线,所以这是非线性关系。

非平稳性

#fundamentals

其值在一个或多个维度(通常是时间)上发生变化的特征。以下面的非平稳性示例为例:

  • 特定商店销售的泳衣数量因季节而异。
  • 在特定地区,在一年中的大部分时间里,特定水果的收获量都是零,但在短期内会丰厚。
  • 由于气候变化,每年的平均气温也在发生变化。

平稳性相对。

归一化

#fundamentals

从广义上来讲,将变量的实际值范围转换为标准值范围的过程,例如:

  • -1 到 +1
  • 0 至 1
  • 正态分布

例如,假设某个特征的值的实际范围是 800 到 2,400。作为特征工程的一部分,您可以将实际值归一化为标准范围,例如 -1 到 +1。

归一化是特征工程中的一项常见任务。如果特征向量中的每个数值特征的范围大致相同,则模型的训练速度更快(并生成更好的预测)。

数值数据

#fundamentals

用整数或实数表示的特征 例如,房屋估价模型可能会以数值数据表示房屋大小(以平方英尺或平方米为单位)。如果将特征表示为数值数据,则表示特征的值与标签具有数学关系。也就是说,房屋的平方米数可能与房屋价值存在一定的数学关系。

并非所有整数数据都应表示为数值数据。例如,世界上某些地区的邮政编码是整数;但是,整数邮政编码在模型中不应表示为数值数据。这是因为邮政编码 20000 的有效性不是邮政编码 10000 的两倍(或一半)。此外,虽然不同的邮政编码确实与不同的房地产价值相关,但我们不能假设邮政编码 20000 的房地产价值是邮政编码 10000 的房地产的两倍。邮政编码应表示为分类数据

数值特征有时称为连续特征

O

离线

#fundamentals

静态的含义相同。

离线推断

#fundamentals

模型生成一批预测然后缓存(保存)这些预测的过程。然后,应用可以从缓存访问所需的预测结果,而无需重新运行模型。

例如,假设某个模型每 4 小时生成一次本地天气预报(预测)。每个模型运行后,系统会缓存所有本地天气预报。天气应用会从缓存中检索天气预报。

离线推断也称为静态推断

在线推断相对。

独热编码

#fundamentals

将分类数据表示为向量,其中:

  • 1 个元素设为 1。
  • 所有其他元素均设置为 0。

独热编码通常用于表示具有有限可能值集的字符串或标识符。例如,假设名为 Scandinavia 的特定分类特征有五个可能的值:

  • “丹麦”
  • “瑞典”
  • “挪威”
  • “芬兰”
  • “冰岛”

独热编码可以表示五个值,如下所示:

country 矢量
“丹麦” 1 0 0 0 0
“瑞典” 0 1 0 0 0
“挪威” 0 0 1 0 0
“芬兰” 0 0 0 1 0
“冰岛” 0 0 0 0 1

通过独热编码,模型可以根据五个国家/地区分别学习不同的连接。

将特征表示为数值数据是独热编码的替代方案。遗憾的是,以数字形式表示斯堪的纳维亚国家并不是一个不错的选择。例如,请考虑以下数字表示形式:

  • “丹麦”为 0
  • “瑞典”为 1
  • “挪威”为 2
  • “芬兰”为 3
  • “冰岛”是 4

使用数字编码时,模型将通过数学方法来解读原始数字,并尝试根据这些数字进行训练。不过,冰岛的面积实际上并没有挪威的两倍(或一半),因此模型得出了一些奇怪的结论。

一对多

#fundamentals

假设有一个有 N 个类别的分类问题,一个由 N 个单独的二元分类器组成的解决方案 - 一个二元分类器对应每个可能的结果。例如,假设有一个将样本归类为动物、蔬菜或矿物的模型,一对多解决方案将提供以下三个单独的二元分类器:

  • 动物和非动物
  • 蔬菜与非蔬菜
  • 矿物和非矿物

online

#fundamentals

动态的含义相同。

在线推断

#fundamentals

按需生成预测。例如,假设某个应用将输入传递给模型并发出预测请求。使用在线推断的系统通过运行模型(并将预测结果返回给应用)来响应请求。

离线推断相对。

输出层

#fundamentals

神经网络的“最后一层”。输出层包含预测结果。

下图展示了一个小型深度神经网络,其中包含一个输入层、两个隐藏层和一个输出层:

具有一个输入层、两个隐藏层和一个输出层的神经网络。输入层包含两个特征。第一个隐藏层由三个神经元组成,第二个隐藏层由两个神经元组成。输出层由单个节点组成。

过拟合

#fundamentals

创建一个与训练数据model高度匹配的模型model,以致于模型无法对新数据做出正确的预测。

正则化可以减少过拟合。使用庞大且多样化的训练集进行训练也可以降低过拟合。

P

pandas

#fundamentals

基于 numpy 构建的面向列的数据分析 API。 包括 TensorFlow 在内的许多机器学习框架都支持将 Pandas 数据结构作为输入。如需了解详情,请参阅 Pandas 文档

参数

#fundamentals

模型在训练期间学习的权重偏差。例如,在线性回归模型中,参数包含以下公式中的偏差 (b) 和所有权重(w1w2 等):

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

相比之下,超参数是您(或超参数翻转服务)为模型提供的值。例如,学习速率就是一种超参数。

正类别

#fundamentals

您要测试的类。

例如,癌症模型中的正类别可以是“肿瘤”。在电子邮件分类器中,正类别可以是“垃圾邮件”。

负类别相对。

后期处理

#fairness
#fundamentals

在运行模型后调整模型的输出。 后处理可用于强制执行公平性约束,而无需修改模型本身。

例如,您可以对二元分类器应用后处理,方法是设置分类阈值,以便通过检查某个特性的所有值的真正例率是否相同,使该特性保持机会相等

预测

#fundamentals

模型的输出。例如:

  • 二元分类模型的预测结果是正类别或负类别。
  • 多类别分类模型的预测是一个类别。
  • 线性回归模型的预测结果是一个数字。

代理标签

#fundamentals

用于近似处理数据集中无法直接提供的标签的数据。

例如,假设您必须训练模型来预测员工的压力水平。您的数据集包含大量预测特征,但不包含名为“压力水平”的标签。您也勇于选择“工作场所事故”作为压力水平的代表性标签。毕竟,压力最大的员工会比冷静的员工遇到更多事故。或者,他们会怎样呢?工作场所事故实际上会因为多种原因而上下波动。

再举一个例子,假设您希望将 is it raining? 设置为数据集的布尔值标签,但数据集不包含雨数据。如果有照片,您能够以人们带伞的照片作为“在下雨吗?”的代理标签。这是一个合适的代理标签吗?或许是有可能的,但某些文化的人可能比雨天更可能带伞来防晒。

代理标签通常并不完美。如有可能,请选择实际标签,而不是代理标签。也就是说,当实际标签不存在时,请非常谨慎地选择代理标签,选择最糟糕的代理标签候选版本。

R

评分者

#fundamentals

样本提供标签的人员。“标注者”是标注者的另一个名称。

修正线性单元 (ReLU)

#fundamentals

行为如下的激活函数

  • 如果输入为负或零,则输出为 0。
  • 如果输入为正数,则输出等于输入。

例如:

  • 如果输入为 -3,则输出为 0。
  • 如果输入为 +3,则输出为 3.0。

下图展示了 ReLU 的图示:

两条线的笛卡尔图。第一行的 y 常量值为 0,沿 x 轴从 -无穷大,0 到 0,-0 运行。第二行从 0,0 开始。这条线的斜度为 +1,因此它的范围为 0,0 到 +无穷大,+无穷大。

ReLU 是一个非常受欢迎的激活函数。尽管行为简单,但 ReLU 仍能够让神经网络学习特征标签之间的非线性关系

回归模型

#fundamentals

通俗来说,就是生成数值预测的模型。(相比之下,分类模型会生成类别预测)。例如,以下都是回归模型:

  • 用于预测特定房屋价值(如 423,000 欧元)的模型。
  • 可预测特定树木的预期寿命(例如 23.2 年)的模型。
  • 预测未来六小时内特定城市将降雨量(例如 0.18 英寸)的模型。

两种常见的回归模型是:

  • 线性回归:用于找到使标签值与特征最匹配的线条。
  • 逻辑回归:生成系统通常映射到类预测的概率(介于 0.0 到 1.0 之间)。

并非所有输出数值预测的模型都是回归模型。在某些情况下,数值预测实际上只是恰好具有数字类名称的分类模型。例如,预测数字邮政编码的模型是分类模型,而不是回归模型。

正则化

#fundamentals

任何可减少过拟合的机制。 正则化的常见类型包括:

正则化也可以定义为对模型复杂度的惩罚。

正则化率

#fundamentals

一个数字,用于指定训练期间正则化的相对重要性。提高正则化率可以减少过拟合,但可能会降低模型的预测能力。相反,降低或省略正则化率会增加过拟合。

ReLU

#fundamentals

修正线性单位的缩写。

检索增强生成

#fundamentals

一种软件架构,通常用于大型语言模型 (LLM) 应用。使用检索增强生成的常见动机包括:

  • 提高模型所生成回复的事实准确性
  • 赋予模型访问未进行训练的知识
  • 更改模型使用的知识
  • 启用模型以引用来源

例如,假设化学应用使用 PaLM API 生成与用户查询相关的摘要。当应用后端收到查询时,后端会首先搜索(“检索”)与用户查询相关的数据,将相关化学数据附加到用户的查询中(“增强”),并指示 LLM 根据附加的数据创建摘要。

ROC(接收者操作特征)曲线

#fundamentals

二元分类中不同分类阈值真正例率假正例率的图表。

ROC 曲线的形状表明二元分类模型能够将正类别与负类别区分开。例如,假设二元分类模型可将所有负类别与所有正类别完美区分开:

一条数线,右侧为 8 个正例,左侧为 7 个负例。

上述模型的 ROC 曲线如下所示:

ROC 曲线。x 轴为假正例率,y 轴为真正例率。该曲线具有反转的 L 形状。该曲线从 (0.0,0.0) 开始,然后直线上升到 (0.0,1.0)。然后,曲线从 (0.0,1.0) 到 (1.0,1.0)。

相比之下,下图则展示了一个糟糕的模型的原始逻辑回归值,该模型根本无法区分负类别和正类别:

正类别样本和负类别完全混合在一起的数线。

此模型的 ROC 曲线如下所示:

ROC 曲线,实际为从 (0.0,0.0) 到 (1.0,1.0) 的直线。

同时,在现实世界中,大多数二元分类模型在一定程度上将正类别和负类别分离,但通常并非完美。因此,典型的 ROC 曲线介于以下两个极端之间:

ROC 曲线。x 轴为假正例率,y 轴为真正例率。ROC 曲线接近于横跨罗盘点从西向北的摇动弧线。

理论上最接近 (0.0,1.0) 的 ROC 曲线上的点可确定理想分类阈值。不过,理想分类阈值的选择还会受到其他一些实际问题的影响。例如,假负例带来的痛苦可能远远超过假正例。

名为 AUC 的数值指标将 ROC 曲线汇总为单个浮点值。

均方根误差 (RMSE)

#fundamentals

均方误差的平方根。

S 型函数

#fundamentals

一种数学函数,用于将输入值“挤压”到受限范围(通常为 0 到 1 或 -1 到 +1)。也就是说,您可以将任意数字(2、100 万、负十亿等)传递给 S 型函数,输出仍在有限范围内。S 型激活函数的曲线图如下所示:

二维曲线图,x 值跨越域-无穷大到正正数,而 y 值跨度几乎介于 0 到 1 之间。当 x 为 0 时,y 为 0.5。曲线的斜率始终为正,最高斜率为 0,0.5,并且随着 x 的绝对值的增加而逐渐减小。

S 型函数在机器学习中有几个用途,包括:

Softmax

#fundamentals

用于确定多类别分类模型中每个可能类别的概率的函数。这些概率的总和正好为 1.0。例如,下表显示了 Softmax 如何分布各种概率:

图片是... Probability
.85
Cat .13
0.02

Softmax 也称为完整 softmax

候选采样相对。

稀疏特征

#language
#fundamentals

一种特征,其值主要为零或为空。例如,如果某个特征包含一个 1 值和一百万个 0 值,则该特征是稀疏的。相比之下,密集特征的值主要不为零或为空。

在机器学习中,稀疏特征是数量令人惊讶的特征。分类特征通常是稀疏特征。 例如,在森林中有 300 种可能的树种中,一个示例可能仅标识一棵枫树。或者,在视频库中的数百万个视频中,一个示例可能只是标识“卡萨布兰卡”。

在模型中,您通常使用独热编码表示稀疏特征。如果独热编码很大,您可以在独热编码之上放置一个嵌入层,以提高效率。

稀疏表示法

#language
#fundamentals

仅存储稀疏特征中非零元素的 position(s)

例如,假设名为 species 的分类特征识别了特定森林中的 36 种树种。并进一步假设每个样本仅标识一个物种。

您可以使用独热矢量来表示每个示例中的树种。独热矢量将包含一个 1(代表示例中的特定树种)和 35 个 0(代表示例中不涵盖的 35 个树种)。因此,maple 的独热表示法可能如下所示:

一个向量,位置 0 到 23 存储值 0,位置 24 存储值 1,位置 25 到 35 存储值 0。

或者,稀疏表示法将仅标识特定物种的位置。如果 maple 位于位置 24,则 maple 的稀疏表示法将直接变为:

24

请注意,稀疏表示法比独热表示法更紧凑。

稀疏向量

#fundamentals

值大部分为零的向量。另请参阅稀疏特征稀疏性

平方损失

#fundamentals

L2 损失的含义相同。

静态

#fundamentals

操作一次完成,而不是持续完成。 术语“静态”和“离线”是同义词。以下是机器学习中的静态和离线的常见用法:

  • 静态模型(即离线模型)是指训练一次然后在一段时间内使用的模型。
  • 静态训练(即离线训练)是训练静态模型的过程。
  • 静态推断(即离线推断)是模型一次生成一批预测的过程。

动态对比。

静态推断

#fundamentals

离线推断的同义词。

平稳性

#fundamentals

其值在一个或多个维度(通常是时间)上不会发生变化的特征。例如,如果某个特征的值在 2021 年和 2023 年看起来大致相同,则该特征表现出平稳性。

在现实世界中,很少有特征表现出平稳性。即使是与稳定性同名的特征(如海平面)也会随时间而变化。

非平稳性相对。

随机梯度下降法 (SGD)

#fundamentals

一种梯度下降法,其中批量大小为 1。换言之,SGD 会针对从训练集中均匀随机选择的单个样本进行训练。

监督式机器学习

#fundamentals

根据特征model及其对应的model训练模型model。监督式机器学习类似于通过研究一组问题及其相应答案来学习一个主题。在掌握问题与答案之间的对应关系后,学生可以针对同一主题的新(从未见过)问题提供答案。

非监督式机器学习进行比较。

合成特征

#fundamentals

一种特征,不存在于输入特征中,而是由输入特征中的一个或多个组合而成。创建合成特征的方法包括:

  • 将连续特征分桶到范围分箱中。
  • 创建一个特征组合
  • 将一个特征值与其他特征值或其本身相乘(或除以)。例如,如果 ab 是输入特征,则以下是合成特征的示例:
    • ab
    • a2
  • 对特征值应用超越函数。例如,如果 c 是输入特征,则以下是合成特征的示例:
    • sin(c)
    • ln(c)

仅通过归一化缩放创建的特征不属于合成特征。

T

测试损失

#fundamentals

一个指标,表示模型相对于测试集的损失构建model时,您通常会尝试最大限度地降低测试损失。这是因为,与较低的训练损失或较低的验证损失相比,较低的测试损失表示质量信号更强。

如果测试损失与训练损失或验证损失之间存在较大差距,则有时表明您需要提高正则化率

训练

#fundamentals

确定理想参数(权重和偏差)的过程,从而构成模型。在训练期间,系统会读取样本,并逐步调整参数。训练会使用每个示例从几次到数十亿次不等。

训练损失

#fundamentals

表示模型在特定训练迭代期间的损失指标例如,假设损失函数为均方误差或许第 10 次迭代的训练损失(均方误差)为 2.2,第 100 次迭代的训练损失为 1.9。

损失曲线绘制训练损失与迭代次数的关系。损失曲线提供了有关训练的以下提示:

  • 向下斜坡表示模型正在改善。
  • 斜坡表示模型逐渐变差。
  • 平缓意味着模型已收敛

例如,下面是较为理想的损失曲线,其中展示了:

  • 在初始迭代期间出现陡峭的向下斜坡,这意味着模型可以快速得到改进。
  • 一种逐渐扁平化(但仍在下降)的斜率,直至接近训练结束时,这表示在初始迭代期间,以稍微慢一点的速度继续改进模型。
  • 接近训练结束时的平缓斜率,表明收敛。

训练损失与迭代次数的图表。此损失曲线以陡峭的向下斜率开始。斜率逐渐平缓,直到斜率变为 0。

虽然训练损失很重要,但另请参阅泛化

训练-应用偏差

#fundamentals

模型在训练期间的性能与同一模型在服务期间的性能之间的差异。

训练集

#fundamentals

用于训练模型数据集的子集。

按照传统,数据集中的样本会分为以下三个不同的子集:

理想情况下,数据集中的每个样本应仅属于前一个子集之一。例如,一个样本不应同时属于训练集和验证集。

真负例 (TN)

#fundamentals

模型正确预测负类别的示例。例如,模型推断出某封电子邮件不是垃圾邮件,而该电子邮件确实不是垃圾邮件。

正例 (TP)

#fundamentals

模型正确预测正类别的示例。例如,模型推断出某封电子邮件是垃圾邮件,而该电子邮件确实是垃圾邮件。

真正例率 (TPR)

#fundamentals

召回率的含义相同。具体来说:

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

真正例率是 ROC 曲线中的 y 轴。

U

欠拟合

#fundamentals

生成预测能力较差的模型model,因为模型尚未完全捕获训练数据的复杂性。许多问题都会导致欠拟合,包括:

无标签样本

#fundamentals

包含特征但没有标签的示例。例如,下表显示了某个房屋评估模型中的三个无标签样本,每个样本都有三个特征,但没有房屋价值:

卧室数量 浴室数量 住宅存在时间
3 2 15
2 1 72
4 2 34

监督式机器学习中,模型使用有标签样本进行训练,并根据无标签样本进行预测。

半监督非监督学习中,无标签样本在训练期间使用。

将无标签样本与有标签样本进行对比。

非监督式机器学习

#clustering
#fundamentals

训练模型model,以找出数据集(通常是无标签数据集)中的模式。

非监督式机器学习的最常见用途是将数据聚类为相似样本组。例如,非监督式机器学习算法可以根据音乐的各种属性对歌曲进行聚类。生成的聚类可以作为其他机器学习算法(例如音乐推荐服务的输入)的输入。在缺少或没有有用标签时,聚类可以有所帮助。例如,在反滥用和反欺诈等领域,聚类有助于人们更好地了解数据。

监督式机器学习相对。

V

validation

#fundamentals

对模型质量的初始评估。 验证根据验证集检查模型预测的质量。

由于验证集与训练集不同,因此验证有助于防止过拟合

您可以将根据验证集评估模型视为第一轮测试,而根据测试集评估模型,以此作为第二轮测试。

验证损失

#fundamentals

一个指标,表示模型在特定训练迭代期间在验证集上的损失

另请参阅泛化曲线

验证集

#fundamentals

对经过训练的模型执行初始评估的数据集的子集。通常,您会根据验证集多次评估经过训练的模型,然后再根据测试集评估模型。

按照传统,您可以将数据集中的示例划分为以下三个不同的子集:

理想情况下,数据集中的每个样本应仅属于前一个子集之一。例如,一个样本不应同时属于训练集和验证集。

西

weight

#fundamentals

模型与另一个值相乘的值。 训练是确定模型的理想权重的过程;推断是使用这些学到的权重进行预测的过程。

加权和

#fundamentals

所有相关输入值的总和乘以其相应权重。例如,假设相关输入包含以下内容:

输入值 输入权重
2 -1.3
-1 0.6
3 0.4

因此,加权和为:

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

加权和是激活函数的输入参数。

Z

Z-score 标准化

#fundamentals

一种缩放技术,该技术将原始特征值替换为浮点值,该值表示相对于该特征平均值的标准偏差数。 例如,假设某个特征的平均值为 800,标准差为 100。下表显示了 Z-score 标准化如何将原始值映射到其 Z-score:

原始值 Z 评分
800 0
950 +1.5
575 -2.25

然后,机器学习模型会根据该特征的 Z 得分(而不是原始值)进行训练。