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

本页面包含《机器学习基础知识》术语表。如需了解所有术语表,请点击此处

A

准确性

#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}}$$

其中:

  • TP 是真正例的数量(正确的预测结果)。
  • TN 是真负例(正确预测)的数量。
  • FP 是指误报的数量(错误预测)。
  • FN 是假负例数量(预测错误)。

将准确率与精确率召回率进行比较和对比。

激活函数

#fundamentals

可让神经网络学习特征与标签之间的非线性(复杂)关系的函数。

常用的激活函数包括:

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

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

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

一个 2 维曲线图,其中 x 值跨越域 - 无穷大到 +正数,而 y 值跨越几乎 0 到几乎 1 个范围。当 x 为 0 时,y 为 0.5。该曲线的斜率始终为正,其中最大斜率为 0.0.5,随着 x 的绝对值增加,斜率逐渐减小。

人工智能

#fundamentals

可完成复杂任务的非人为程序或模型。例如,翻译文本的程序或模型,或者放射科图像识别疾病的程序或模型都实现了人工智能。

正式上,机器学习是人工智能的一个子领域。不过,近年来,一些组织已经开始在“人工智能”和“机器学习”这两个术语中使用互换术语。

曲线下面积(ROC 曲线下的面积)

#fundamentals

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

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

一个数字行,一侧为 8 个正例,另一侧为 9 个负例。

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

一个数字行,包含 6 个正例和 6 个负例。
          样本序列为正、负、正、负、正、负、正、负、正负、正、负。

是的,上述模型的曲线下面积为 0.5,而不是 0.0。

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

一个数字行,包含 6 个正例和 6 个负例。
          示例序列为负、负、负、负、正、负、正、正、负、正、正、正。

曲线下面积会忽略您为分类阈值设置的任何值。曲线下面积会考虑所有可能的分类阈值。

B

反向传播算法

#fundamentals

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

训练神经网络涉及以下两遍周期的许多迭代

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

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

学习速率是一个乘数,用于控制每个反向传播的增减程度。较大的学习速率会比较小的学习速率增加或减少每个权重。

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

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

批处理

#fundamentals

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

如需了解批次与周期的关系,请参阅周期

批次大小

#fundamentals

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

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

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

偏差(道德/公平性)

#fairness
#fundamentals

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

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

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

偏差(数学)或偏差术语

#fundamentals

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

  • b
  • w0

例如,在下面的公式中,偏差为 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

将一个特征转换为多个称为存储分区bin的二元特征,通常基于一个值范围。切断的特征通常是连续特征

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

  • <= 10 摄氏度为“冷”桶。
  • 11 - 24 摄氏度就是“温带”桶。
  • >= 25 摄氏度就属于“温”桶。

该模型会以相同的方式处理同一桶中的每个值。例如,值 1322 均在温带存储分区中,因此模型以相同的方式处理这两个值。

C

分类数据

#fundamentals

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

  • red
  • yellow
  • green

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

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

数值数据相对。

#fundamentals

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

  • 在用于检测垃圾内容的二元分类模型中,这两个类可能是“垃圾邮件”和“非垃圾邮件”。
  • 在标识狗品种的多类别分类模型中,这些类可能是 poodlebeaglepug 等。

分类模型用于预测类别。相反,回归模型则会预测数字,而不是类别。

分类模型

#fundamentals

一种模型,其预测是一个。例如,以下是所有分类模型:

  • 预测输入句子的语言的模型(法语?西班牙语? 意大利语?)。
  • 用于预测树种的模型(枫树?橡树?Baobab?)
  • 针对特定疾病情况预测正类别或负类别的模型。

相反,回归模型而不是数字。

两种常见的分类模型是:

分类阈值

#fundamentals

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

逻辑回归模型会输出 0 到 1 之间的原始值。那么:

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

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

分类阈值的选择会严重影响假正例假负例的数量。

分类不平衡的数据集

#fundamentals

一种分类问题的数据集,其中每个类别的标签总数有显著差异。例如,假设一个二元分类数据集包含两个标签,如下所示:

  • 100 万个否定标签
  • 10 个正标签

负标签与正标签的比率为 100000 至 1,因此这是一个类别不平衡的数据集。

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

  • 517 个否定标签
  • 483 个肯定标签

多类别数据集也可以进行类别不平衡。例如,以下多类别分类数据集也属于分类不平衡,因为一个标签具有比另外两个标签更多的示例:

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

另请参阅大多数类少数类

剪辑

#fundamentals

通过执行以下一项或两项操作来处理离群值的技术:

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

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

  • 将超过 60(最大阈值)的所有值裁剪到正好 60。
  • 将小于 40(最低阈值)的所有值都精确到 40。

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

在训练期间,渐变裁剪强制梯度范围之内。

混淆矩阵

#fundamentals

一种 NxN 表,用于总结分类模型的正确和错误预测数量。例如,对于二元分类模型,请参考以下混淆矩阵:

肿瘤(预测) 非肿瘤(预测)
肿瘤(标准答案) 18 (TP) 1 (FP)
非肿瘤(标准答案) 6 (FN) 452 (TN)

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

  • 在 19 个 评估依据为肿瘤的预测中,模型正确分类了 18 个分类,并将分类错误为 1。
  • 在 458 个评估结果为非肿瘤的预测中,模型正确分类了 452,分类错误为 6。

多类别分类问题的混淆矩阵可帮助您识别错误模式。例如,假设某个 3 类多类别分类模型对三种不同的鸢尾花类型(Virginica、Versicolor 和 Setosa)进行了分类,请参考以下混淆矩阵。当标准答案是弗吉尼亚州时,混淆矩阵表明,相较于 Setosa,模型预测错误 Vericolor 的可能性要高得多:

  山地(预测) Versicolor(预测值) 弗吉尼亚州(预测)
塞托萨(标准答案) 88 12 0
Versicolor(标准答案) 6 141 7
弗吉尼亚州(标准答案) 2 27 109

再举一个例子,混淆矩阵表明,经过训练以识别手写数字的模型往往会将 4 错误地预测为 9,而将 7 错误地预测为 1。

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

连续特征

#fundamentals

一个浮点特征,具有无限的可能值范围,例如温度或重量。

离散特征相对。

收敛

#fundamentals

每次迭代损失值变化很小或根本没有变化时的状态。例如,以下损失曲线表示在大约 700 次迭代时收敛:

笛卡尔图。X 轴损失。Y 轴表示训练迭代次数。前几次迭代的损失非常高,但急剧下降。大约 100 次迭代后,损失仍呈下降趋势,但变化幅度却要小得多。大约 700 次迭代后,损失保持不变。

当其他训练无法改进模型时,模型会收敛

深度学习中,损失值有时会保持恒定或接近近似值,因此在多次迭代之前会不断变化。在长期损失值的情况下,您可能会暂时对收敛产生误解。

另请参阅早停法

D

DataFrame

#fundamentals

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

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

DataFrame 中每一列的结构都像 2D 数组一样,只不过可以为每列分配自己的数据类型。

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

数据集或数据集

#fundamentals

原始数据集合,通常(但不限于)使用以下格式之一进行整理:

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

深度模型

#fundamentals

包含多个隐藏层神经网络

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

宽度模型相对。

密集特征

#fundamentals

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

8 3 7 5 2 4 0 4 9 6

稀疏特征相对。

depth

#fundamentals

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

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

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

离散特征

#fundamentals

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

连续功能相对。

动态

#fundamentals

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

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

动态模型

#fundamentals

频繁(甚至持续)重新训练的模型动态模型是一种“终身学习者”,会不断适应不断变化的数据。动态模型也称为在线模型

静态模型相对。

E

早停法

#fundamentals

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

嵌入层

#language
#fundamentals

一种特殊的隐藏层,它在高维度分类分类维度上逐级学习,以逐步降维。与仅使用高维分类特征进行训练相比,嵌入层能使神经网络更高效地进行训练。

例如,地球目前支持大约 73000 种树种。假设树种是模型中的特征,因此模型的输入层包含 73000 个元素的独热矢量例如,baobab 可能表示如下:

由 73000 个元素组成的数组。前 6232 个元素存储值 0。下一个元素包含值 1。最后 66767 个元素会将值设为 0。

一个包含 73000 个元素的数组非常长。如果您不向模型添加嵌入层,则训练会由于乘以 72999 个零而非常耗时。或许您会选择由 12 个维度组成的嵌入层。因此,嵌入层会逐渐为每个树种学习新的嵌入向量。

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

周期数

#fundamentals

整个训练集训练集的完整训练集,使每个示例仅处理一次。

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

例如,假设发生以下情况:

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

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

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

示例

#fundamentals

一行 features 的值,可能是一个标签监管学习中的示例分为两大类:

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

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

特性 标签
温度 湿度 压力 测试分数
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 天之间的情绪差异。

如果您通过两个特征(每个特征都有许多不同的分块)创建合成特征,则生成的特征组合将拥有大量可能的组合。例如,如果一个特征有 1000 个桶,而另一个特征有 2000 个桶,则生成的特征组合包含 200 万个桶。

正式地,叉型指的是笛卡尔积

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

特征工程

#fundamentals
#TensorFlow

包括以下步骤的流程:

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

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

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

特征集

#fundamentals

该组特征是您的机器学习模型进行训练。例如,对于预测房价的模型,邮政编码、房产规模和房产状况可能包含一个简单的特征集。

特征向量

#fundamentals

包含特征的数组。训练推断期间输入特征向量。例如,具有两个离散特征的模型的特征向量可能是:

[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 年内毕业。

隐藏层

#fundamentals

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

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

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

超参数

#fundamentals

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

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

I

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

#fundamentals

从保持不变且分布情况不变的分布中抽取的数据依赖于之前绘制的值。i.i.d. 是机器学习的理想气体,它是一种实用的数学结构,但在现实世界中几乎从未发现过。例如,某个网页的访问者在短时间内的分布情况可能为 i.i.i. d.,即在短时间内不会发生变化,且一个用户的访问通常与另一个用户的访问无关。但是,如果您延长该时间段,网页的访问者可能会出现季节性变化。

另请参阅非平稳性

推断

#fundamentals

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

在统计信息中,推断的含义略有不同。如需了解详情,请参阅有关统计学推断的 Wikipedia 文章

输入层

#fundamentals

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

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

可解释性

#fundamentals

能够用人类可理解的术语解释或演示机器学习模型的推理能力。

例如,大多数线性回归模型都易于解读。(您只需要查看每个特征的训练权重即可。)决策森林的可解释性也很高。不过,某些模型需要复杂的可视化才能解释。

迭代

#fundamentals

在模型训练期间,对模型(权重、模型和权重)进行一次更新。批次大小决定了模型在一次迭代中处理的样本数量。例如,如果批次大小为 20,则模型会先处理 20 个样本,然后再调整参数。

在训练神经网络时,一次迭代涉及以下两个过程:

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

L

L0 正则化

#fundamentals

一种正则化,用于惩罚模型中非零权重总数。例如,相较于具有 10 个非零权重的类似模型,具有 11 个非零权重的模型将受到更好的惩罚。

L0 正则化很少使用。

L1 损失

#fundamentals

损失函数,用于计算实际标签值与模型预测的值之间的差的绝对值。例如,下面是一个针对五个示例批次的 L1 损失的计算

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

L1 损失对离群值不如 L2 损失那么敏感。

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

L1 正则化

#fundamentals

一种正则化,根据权重的绝对值的总和惩罚权重。L1 正则化有助于使不相关或几乎不相关的特征的权重正好为 0。权重为 0 的特征会从模型中有效移除。

L2 正则化相对。

L2 损失

#fundamentals

损失函数,计算实际标签值与模型预测的值之间差值的平方。例如,下面是一个针对五个示例批次的 L2 损失的计算

示例的实际值 模型的预测值 三角洲
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = L2 损失

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

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

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

L2 正则化

#fundamentals

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

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

L1 正则化相对。

标签

#fundamentals

监督式机器学习中,示例的“答案”或“结果”部分。

每个有标签样本都包含一个或多个特征和一个标签。例如,在垃圾邮件检测数据集中,标签可能是“垃圾邮件”或“不是垃圾邮件”。在降雨数据集中,标签可能是特定时间段内下雨的量。

有标签样本

#fundamentals

包含一个或多个特征标签的示例。例如,下表显示了自家评估模型中的三个有标签样本,每个样本都有三个特征和一个标签:

卧室数量 浴室数量 房龄 房价(标签)
3 2 15 345000 美元
2 1 72 179000 美元
4 2 34 392000 元

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

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

lambda

#fundamentals

正则化率的含义相同。

lambda 是一个过载的字词。我们在此重点介绍正则化中的术语定义。

图层

#fundamentals

神经网络中的一组神经元。三种常见类型的图层如下所示:

例如,下图显示了具有一个输入层、两个隐藏层和一个输出层的神经网络:

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

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

学习速率

#fundamentals

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

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

线性模型

#fundamentals

一种模型,可为每个特征分配一个权重以做出预测。(线性模型还包含偏差)。相比之下,特征与深度模型中的预测之间的关系通常是非线性的。

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

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

线性

#fundamentals

两个或更多变量之间的关系,只能通过加法和乘法表示。

线性关系图是一条线。

非线性相对。

线性回归

#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 到 1000 个样本之间。

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

相比小批量的所有样本的损失,计算小批量的损失要高效得多。

少数类

#fundamentals

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

大多数类相对。

模型

#fundamentals

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

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

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

非监督式机器学习也会生成模型,这些函数通常是可以将输入样本映射到最合适的聚类的函数。

多类别分类

#fundamentals

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

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

基于新鸢尾花数据集预测新鸢尾花类型的模型正在执行多类别分类。

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

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

负类别

#fundamentals

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

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

正类别相对。

神经网络

#fundamentals

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

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

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

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

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

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

神经元

#fundamentals

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

  1. 计算输入值的总和乘以相应的权重。
  2. 将加权和作为输入传递到激活函数

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

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

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

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

节点(神经网络)

#fundamentals

一个隐藏层中的神经元

非线性

#fundamentals

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

两块地块。一条曲线是一条线,因此这是线性关系。另一个曲线图是曲线,所以这是一个非线性关系。

非平稳性

#fundamentals

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

  • 特定商店出售的泳衣数量因季节而异。
  • 在某个特定地区,收获的特定水果的数量在一年中的大部分时间为零,但在短时间内是大的。
  • 由于气候变化,年度平均气温正在发生变化。

平稳性相对。

归一化

#fundamentals

大体上讲,是将变量的实际值范围转换为标准值范围的过程,例如:

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

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

归一化是特征工程中的常见任务。当特征向量中的每个数值特征都具有大致相同的范围时,模型通常能更快地训练(并产生更好的预测)。

数值数据

#fundamentals

以整数或实数表示的特征例如,房屋评估模型可能会以数值数据的形式表示房子大小(以平方英尺或平方米为单位)。将数值表示为数值数据表示该特征的值与标签存在数学关系。也就是说,房子的平方米数可能与房子的价值存在某种数学关系。

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

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

O

离线

#fundamentals

静态的含义相同。

离线推断

#fundamentals

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

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

离线推断也称为静态推理

在线推断相对。

独热编码

#fundamentals

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

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

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

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

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

国家/地区 矢量
"丹麦” 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

借助独热编码,模型可以根据 5 个国家/地区中的每一个来学习不同的连接。

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

  • "丹麦{2}为 0
  • "瑞典{/2}为 1
  • "挪威”是 2
  • "芬兰" 3
  • "冰岛> 是 4

使用数字编码时,模型会从数学上解读原始数字,并尝试基于这些数字进行训练。但是,冰岛的实际数量是挪威的两倍(或一半),所以该模型会产生一些奇怪的结论。

一对多

#fundamentals

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

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

在线

#fundamentals

动态的含义相同。

在线推断

#fundamentals

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

离线推断相对。

输出层

#fundamentals

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

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

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

过拟合

#fundamentals

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

正则化可以减少过拟合。在大型多样化的训练集中进行训练也可以减少过拟合。

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

用于估算数据集中未直接可用的标签的数据。

例如,假设您必须训练模型才能预测员工压力水平。您的数据集包含大量预测特征,但不包含名为“压力级别”的标签。您并不害怕,您选择“工作场所事故”作为压力水平的代理标签。毕竟,压力很大的员工比平静的员工更多地遇到了意外。还是他们?实际上,工作场所事故是出于多种原因导致的。

再举一个例子,假设您想将下雨吗?作为数据集的布尔值标签,但数据集不包含下雨数据。如果有照片,您能够以人们带着雨伞的照片作为“在下雨吗?”的代理标签。这个代理标签好吗?也许,但在有些文化中,人们带着伞比防雨的可能性更高。

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

R

评分者

#fundamentals

示例提供标签的人员。 &notot;Annotator”是评分者的另一个名字。

修正线性单元 (ReLU)

#fundamentals

具有以下行为的激活函数

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

例如:

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

以下是 ReLU 图:

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

ReLU 是一种非常常用的激活函数。虽然 ReLU 操作简单,但它仍然能够让神经网络学习特征标签之间的非线性关系

回归模型

#fundamentals

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

  • 用于预测特定房子价值的模型,如 423000 欧元。
  • 用于预测特定树木寿命(例如 23.2 年)的模型。
  • 用于预测未来 6 小时内某个城市将会降雨量的模型,例如 0.18 英寸。

两种常见的回归模型是:

  • 线性回归:查找最适合标签值与特征的线。
  • 逻辑回归,它会生成系统通常映射到类别预测的概率(介于 0.0 和 1.0 之间)。

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

正则化

#fundamentals

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

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

正则化率

#fundamentals

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

ReLU

#fundamentals

修正线性单元的缩写。

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 曲线用于模拟横跨罗盘点从西指向北的抖动弧线。

ROC 曲线上最接近 (0.0,1.0) 的点理论上可以识别理想分类阈值。不过,还有一些实际问题会影响理想分类阈值的选择。例如,假负例可能比假正例引起更多痛苦。

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

均方根误差 (RMSE)

#fundamentals

均方误差的平方根。

S

S 型函数

#fundamentals

将输入值“挤压”到受限范围内的数学函数,通常 0 到 1 或 -1 到 +1。也就是说,您可以将任何数字(200 万、负 10 亿或所有数字)传递给 S 型函数,而输出仍会在受限范围内。S 型激活函数的图表如下所示:

一个 2 维曲线图,其中 x 值跨越域 - 无穷大到 +正数,而 y 值跨越几乎 0 到几乎 1 个范围。当 x 为 0 时,y 为 0.5。该曲线的斜率始终为正,其中最大斜率为 0.0.5,随着 x 的绝对值增加,斜率逐渐减小。

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

Softmax

#fundamentals

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

图片是... Probability
dog 0.85
cat 0.13
0.02

Softmax 也称为完整 softmax

候选采样相对。

稀疏特征

#language
#fundamentals

一种功能,其值主要为零或为空。例如,包含 1 个值和 100 万个值的特征都是稀疏的。相比之下,密集特征具有主要非零值或空值。

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

在模型中,您通常使用独热编码表示稀疏特征。如果独热编码较大,您可以在独热编码的基础上添加一个嵌入层,以提高效率。

稀疏表示法

#language
#fundamentals

在稀疏特征中仅存储非零元素的 position

例如,假设名为 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

值在一个或多个维度上不会改变(通常是时间)的特征。 例如,如果某个特征在 2020 年和 2022 年的值大致相同,则该特征具有平稳性。

在现实世界中,很少有特征具有平稳性。即使是稳定性(例如海平面)的同义词也随着时间而变化。

非平稳性相对。

随机梯度下降法 (SGD)

#fundamentals

一种梯度下降法,其中批次大小为 1。换句话说,SGD 会基于从训练集中随机均匀选择的单个样本进行训练。

监督式机器学习

#fundamentals

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

非监督式机器学习相对。

合成特征

#fundamentals

一种特征,不在输入特征之列,而是从一个或多个输入特征组合而成。创建合成特征的方法包括:

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

仅通过归一化缩放创建的特征不会被视为合成特征。

T

测试损失

#fundamentals

一个指标,表示模型相对于测试集损失构建模型时,您通常会尝试尽量减少测试损失。这是因为,与低训练损失验证损失相比,低测试损失是一个更强的质量信号。

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

训练

#fundamentals

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

训练损失

#fundamentals

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

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

  • 下降的斜率表示模型正在改进。
  • 上升斜率表示模型逐渐变差。
  • 平坡表明模型已达到收敛

例如,以下某个比较理想的损失曲线显示了:

  • 在初始迭代期间陡峭的斜坡,意味着快速模型改进。
  • 逐渐平坦(但仍向下下降)的斜率,直到接近训练结束为止,这意味着与初始迭代期间相比,以较慢的速度继续进行模型改进。
  • 训练结束时达到平坦的斜率,表示收敛。

训练损失与迭代的对比图。此损失曲线从陡峭的斜坡开始。斜率逐渐平缓,直至斜率为零。

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

训练-应用偏差

#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

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

无标签样本

#fundamentals

仅包含功能但不含标签的示例。例如,下表显示了自家评估模型中的三个无标签样本,每个样本都有三个特征,但没有自家值:

卧室数量 浴室数量 房龄
3 2 15
2 1 72
4 2 34

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

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

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

非监督式机器学习

#clustering
#fundamentals

训练模型,以找出数据集(通常是无标签数据集)内的规律。

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

监督式机器学习相对。

V

validation

#fundamentals

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

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

您可以将模型与验证集作为第一轮测试进行评估,并将模型与测试集作为第二轮测试进行评估。

验证损失

#fundamentals

表示模型在特定训练的验证集上的损失指标。

另请参阅泛化曲线

验证集

#fundamentals

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

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

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

W

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 得分进行训练,而不是使用原始值进行训练。