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

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

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 轴从 -infinity,0 到 0,-0。
          第二行从 0,0 开始。此线条的斜率为 +1,因此其范围为 0,0 到 +infinity,+infinity。

sigmoid 激活函数的图形如下所示:

二维曲线图,x 值介于 -∞ 到 +∞ 之间,而 y 值介于几乎 0 到几乎 1 之间。当 x 为 0 时,y 为 0.5。曲线的斜率始终为正值,在 0,0.5 处斜率最高,随着 x 的绝对值的增加,斜率会逐渐减小。

如需了解详情,请参阅机器学习速成课程中的神经网络:激活函数

人工智能

#fundamentals

能够解决复杂任务的非人类程序或模型。例如,用于翻译文本的程序或模型,或者用于从放射学图像中识别疾病的程序或模型,都具有人工智能特征。

从严格意义上讲,机器学习是人工智能的一个子领域。不过,近年来,一些组织开始将人工智能机器学习术语互换使用。

AUC(ROC 曲线下面积)

#fundamentals

介于 0.0 到 1.0 之间的数值,表示二元分类模型将正类别负类别区分开的能力。AUC 越接近 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 会忽略您为分类阈值设置的任何值。相反,AUC 会考虑所有可能的分类阈值。

如需了解详情,请参阅机器学习速成课程中的分类:ROC 和 AUC

B

反向传播算法

#fundamentals

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

训练神经网络涉及对以下两次传递周期进行多次iterations

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

神经网络通常包含多个隐藏层中的许多神经元。这些神经元各自以不同的方式对总体损失做出贡献。反向传播可确定是增加还是减少应用于特定神经元的权重。

学习速率是一个乘数,用于控制每次向后传递增加或减少每个权重的程度。与学习速率较小相比,学习速率较大会使每个权重增加或减少更多。

从微积分角度来看,反向传播实现了微积分中的链式求导法。也就是说,反向传播会计算误差相对于每个参数的偏导数

几年前,机器学习从业者必须编写代码才能实现反向传播。现在,Keras 等新型机器学习 API 可为您实现反向传播。呼!

如需了解详情,请参阅机器学习速成课程中的神经网络部分。

批处理

#fundamentals

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

如需了解批次与时段之间的关系,请参阅时段

如需了解详情,请参阅机器学习速成课程中的线性回归:超参数

批次大小

#fundamentals

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

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

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

请参阅以下内容了解详细信息:

偏差(道德/公平性)(bias (ethics/fairness))

#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

将单个特征转换成多个二元特征(称为),通常根据值范围进行转换。经过分块处理的特征通常是连续特征

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

  • 低于 10 摄氏度属于“冷”分桶。
  • 11 到 24 摄氏度属于“温和”分桶。
  • 大于等于 25 摄氏度属于“温暖”分桶。

该模型会对同一分桶中的每个值采用相同的处理方式。例如,值 1322 都属于温和分桶,因此该模型会将这两个值视为相同。

如需了解详情,请参阅机器学习速成课程中的数值数据:分箱

C

分类数据

#fundamentals

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

  • red
  • yellow
  • green

通过将 traffic-light-state 表示为分类特征,模型可以学习 redgreenyellow 对驾驶员行为的不同影响。

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

数值数据相对。

如需了解详情,请参阅机器学习速成课程中的处理分类数据

类别

#fundamentals

标签可属的类别。 例如:

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

分类模型可预测类别。与之相反,回归模型会预测数字,而不是类别。

如需了解详情,请参阅机器学习速成课程中的分类

分类模型

#fundamentals

预测结果为模型。例如,以下都是分类模型:

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

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

分类模型有两种常见类型:

分类阈值

#fundamentals

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

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

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

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

分类阈值的选择会极大地影响假正例假负例的数量。

如需了解详情,请参阅机器学习速成课程中的阈值和混淆矩阵

类别不平衡的数据集

#fundamentals

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

  • 100 万个排除性标签
  • 10 个正例标签

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

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

  • 517 个否定标签
  • 483 个正例标签

多类数据集也可能存在类别不平衡的情况。例如,以下多类分类数据集也存在类不平衡问题,因为其中一个标签的示例数量远远多于另外两个标签:

  • 1,000,000 个类别为“green”的标签
  • 200 个类别为“purple”的标签
  • 350 个类别为“orange”的标签

另请参阅多数类少数类

剪裁

#fundamentals

一种处理离群值的方法,具体方法是执行以下一项或两项操作:

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

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

  • 将超过 60(上限)的所有值裁剪到正好 60。
  • 将小于 40(最小阈值)的所有值裁剪到正好 40。

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

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

如需了解详情,请参阅机器学习速成课程中的数值数据:归一化

混淆矩阵

#fundamentals

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

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

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

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

多类分类问题的混淆矩阵可以帮助您发现错误模式。例如,请考虑以下 3 类多类分类模型的混淆矩阵,该模型对三种不同的鸢尾花类型(维吉尼亚鸢尾、变色鸢尾和山鸢尾)进行分类。当标准答案为 Virginica 时,混淆矩阵显示,模型更有可能错误地预测出 Versicolor,而不是 Setosa:

  Setosa(预测) 变色(预测) Virginica(预测)
Setosa(标准答案) 88 12 0
Versicolor(标准答案) 6 141 7
Virginica(标准答案) 2 27 109

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

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

连续特征

#fundamentals

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

离散特征相对。

收敛

#fundamentals

损失值在每次迭代中变化非常小或根本没有变化时达到的状态。例如,以下损失曲线表明在 700 次迭代左右达到收敛:

笛卡尔图。X 轴是损失。Y 轴是训练迭代次数。在前几个迭代中,损失非常高,但会急剧下降。大约 100 次迭代后,损失仍在下降,但下降速度要慢得多。大约 700 次迭代后,损失保持不变。

当进一步训练无法改进模型时,模型就会收敛

深度学习中,损失值有时会在多次迭代后保持不变或几乎不变,然后才最终下降。在长时间内损失值保持不变时,您可能会暂时产生误以为已收敛的感觉。

另请参阅早停法

如需了解详情,请参阅机器学习速成课程中的模型收敛和损失曲线

D

DataFrame

#fundamentals

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

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

DataFrame 中的每一列都像 2D 数组一样进行结构化,但每列可以分配自己的数据类型。

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

数据集(data set 或 dataset)

#fundamentals

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

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

深度模型

#fundamentals

包含多个隐藏层神经网络

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

宽度模型相对。

密集特征

#fundamentals

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

8 3 7 5 2 4 0 4 9 6

稀疏特征相对。

深度

#fundamentals

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

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

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

离散特征

#fundamentals

一种特征,包含有限个可能值。例如,如果某个特征的值只能是“动物”“蔬菜”或“矿物”,则该特征是离散(或分类)特征。

连续特征相对。

动态

#fundamentals

经常或持续执行的操作。 在机器学习中,“动态”和“在线”是同义词。以下是机器学习中动态在线的常见用法:

  • 动态模型(或在线模型)是指经常或持续进行再训练的模型。
  • 动态训练(或在线训练)是指频繁或连续训练的过程。
  • 动态推理(或在线推理)是指根据需要生成预测的过程。

动态模型

#fundamentals

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

静态模型相对。

E

早停法

#fundamentals

一种正则化方法,涉及在训练损失完成下降之前结束训练在早停法中,当验证数据集上的损失开始增加时,您会刻意停止训练模型;也就是说,当泛化性能恶化时。

嵌入层

#language
#fundamentals

一种特殊的隐藏层,用于对高维分类特征进行训练,以逐步学习低维嵌入矢量。与仅仅基于高维分类特征进行训练相比,嵌入层可让神经网络训练效率提高很多。

例如,地球上目前约有 73,000 种树。假设树种是模型中的特征,因此模型的输入层包含一个长度为 73,000 个元素的独热向量。例如,baobab 可能如下所示:

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

73,000 个元素的数组非常长。如果您不向模型添加嵌入层,则由于需要对 72,999 个零进行乘法,训练将非常耗时。假设您选择的嵌入层由 12 个维度组成。因此,嵌入层将逐渐为每种树种学习一个新的嵌入向量。

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

如需了解详情,请参阅机器学习速成课程中的嵌入

周期数

#fundamentals

在训练时,整个训练集的一次完整遍历,不会漏掉任何一个示例

一个周期表示 N/批量大小 个训练迭代,其中 N 是示例总数。

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

  • 该数据集包含 1,000 个示例。
  • 批处理大小为 50 个示例。

因此,一个 epoch 需要 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 轴。

如需了解详情,请参阅机器学习速成课程中的分类:ROC 和 AUC

功能

#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

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

[0.92, 0.56]

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

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

[0.73, 0.49]

特征工程用于确定如何在特征向量中表示特征。例如,具有五个可能值的二元分类特征可以使用独热编码表示。在本例中,特定示例的特征向量部分将由四个零和第三个位置上的单个 1.0 组成,如下所示:

[0.0, 0.0, 1.0, 0.0, 0.0]

再举一例,假设您的模型由三个特征组成:

  • 一个二元分类特征,具有 5 个可能值,采用独热编码表示;例如:[0.0, 1.0, 0.0, 0.0, 0.0]
  • 另一个二元分类特征,具有 三个可能值,使用 One-Hot 编码表示;例如:[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

在机器学习中,模型的预测会影响同一模型或其他模型的训练数据的情况。例如,电影推荐模型会影响用户观看的电影,而这会反过来影响后续的电影推荐模型。

如需了解详情,请参阅机器学习速成课程中的生产 ML 系统:需要考虑的问题

G

泛化

#fundamentals

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

如需了解详情,请参阅机器学习速成课程中的泛化

泛化曲线

#fundamentals

训练损失验证损失迭代次数的变化情况的图表。

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

直角坐标图,其中 y 轴标记为“损失”,x 轴标记为“迭代次数”。系统会显示两个图。一个图表显示的是训练损失,另一个图表显示的是验证损失。
          这两条图表刚开始相似,但训练损失最终会下降,远低于验证损失。

如需了解详情,请参阅机器学习速成课程中的泛化

梯度下降法

#fundamentals

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

梯度下降比机器学习早得多。

如需了解详情,请参阅机器学习速成课程中的线性回归:梯度下降

标准答案

#fundamentals

现实。

实际发生的情况。

例如,考虑一个二元分类模型,该模型用于预测大学一年级学生是否会在 6 年内毕业。此模型的标准答案是该学生是否实际在 6 年内毕业。

H

隐藏层

#fundamentals

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

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

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

如需了解详情,请参阅机器学习速成课程中的神经网络:节点和隐藏层

超参数

#fundamentals

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

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

如需了解详情,请参阅机器学习速成课程中的线性回归:超参数

I

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

#fundamentals

从不变的分布中提取的数据,其中每个提取的值都不依赖于之前提取的值。独立同分布是机器学习的理想情况 - 一种实用的数学结构,但在现实世界中几乎从未发现过。例如,某个网页的访问者在短时间内的分布可能为 i.i.d.,即分布在该短时间内没有变化,且一位用户的访问行为通常与另一位用户的访问行为无关。不过,如果您扩大该时间范围,网页的访问者可能会出现季节性差异。

另请参阅非平稳性

推理

#fundamentals

在机器学习中,推断是指通过将训练过的模型应用于无标签样本做出预测的过程。

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

如需了解推理在监督式学习系统中的作用,请参阅“机器学习简介”课程中的监督式学习部分。

输入层

#fundamentals

神经网络,用于存储特征向量。也就是说,输入层会提供示例,以便进行训练推理。例如,以下神经网络中的输入层由两个特征组成:

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

可解释性

#fundamentals

能够用人类能够理解的方式向人类解释或呈现机器学习模型的推理过程。

例如,大多数线性回归模型的可解释性都很高。(您只需查看每个特征的训练权重即可。)决策森林还具有高度可解释性。不过,某些模型需要进行复杂的可视化处理,才能变得可解释。

您可以使用 Learning Interpretability Tool (LIT) 来解释机器学习模型。

迭代

#fundamentals

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

训练神经网络时,单次迭代涉及以下两个传递:

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

L

L0 正则化

#fundamentals

一种正则化,用于惩罚模型中非零权重总数。例如,权重为 11 个的模型会比权重为 10 个的类似模型受到更严厉的惩罚。

L0 正则化有时也称为 L0 范数正则化

L1 损失

#fundamentals

一种损失函数,用于计算实际标签值与模型预测的值之间的差异的绝对值。例如,下面是 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

一种损失函数,用于计算实际标签值与模型预测的值之间的差异的平方。例如,下面是 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

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

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

有标签样本

#fundamentals

包含一个或多个特征标签的示例。例如,下表显示了房屋估价模型中的三个标记示例,每个示例包含三个特征和一个标签:

卧室数量 浴室数量 房屋年龄 房价(标签)
3 2 15 345,000 美元
2 1 72 179,000 美元
4 2 34 392,000 美元

监督式机器学习中,模型基于带标签的示例进行训练,并针对无标签示例做出预测。

将有标签示例与无标签示例进行对比。

lambda

#fundamentals

正则化率的含义相同。

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

图层

#fundamentals

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

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

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

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

学习速率

#fundamentals

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

学习速率是一个重要的超参数。如果您将学习速率设置得过低,训练将会耗时过长。如果您将学习速率设置得过高,梯度下降法通常会难以达到收敛

线性

#fundamentals

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

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

非线性相对。

线性模型

#fundamentals

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

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

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

线性回归

#fundamentals

一种机器学习模型,具有以下两个特点:

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

将线性回归与逻辑回归进行对比。此外,请将回归与分类进行对比。

逻辑回归

#fundamentals

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

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

例如,假设有一个逻辑回归模型,用于计算输入电子邮件是垃圾邮件还是非垃圾邮件的概率。假设在推理过程中,模型预测值为 0.72。因此,该模型估算的是:

  • 该电子邮件有 72% 的概率是垃圾邮件。
  • 该电子邮件不属于垃圾邮件的概率为 28%。

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

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

与任何回归模型一样,逻辑回归模型也会预测一个数字。不过,此数值通常会成为二元分类模型的一部分,如下所示:

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

对数损失函数

#fundamentals

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

对数几率

#fundamentals

某个事件的几率对数。

#fundamentals

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

损失函数用于计算损失。

损失曲线

#fundamentals

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

损失与训练迭代次数的笛卡尔图,显示初始迭代中的损失快速下降,然后逐渐下降,最后在最后的迭代中保持平缓的斜率。

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

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

另请参阅泛化曲线

损失函数

#fundamentals

训练或测试期间,用于计算批量示例的损失的数学函数。损失函数会针对做出准确预测的模型返回较低的损失,而针对做出不准确预测的模型返回较高的损失。

训练的目标通常是尽量降低损失函数返回的损失。

损失函数有很多种。为您要构建的模型类型选择合适的损失函数。例如:

M

机器学习

#fundamentals

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

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

多数类

#fundamentals

分类不平衡的数据集内更为常见的标签。例如,假设一个数据集内包含 99% 的负类标签和 1% 的正类标签,那么负类标签为多数类。

少数类相对。

小批次

#fundamentals

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

例如,假设整个训练集(完整批次)包含 1,000 个示例。假设您将每个小批量的批处理大小设置为 20。因此,在每次迭代中,系统都会对 1,000 个示例中的 20 个随机示例确定损失,然后相应地调整权重偏差

计算小批量数据集的损失比计算整个批次中所有示例的损失要高效得多。

少数类

#fundamentals

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

多数类相对。

模型

#fundamentals

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

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

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

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

多类别分类

#fundamentals

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

  • Iris setosa
  • 鸢尾属
  • Iris versicolor

使用 Iris 数据集训练的模型可对新示例预测鸢尾花类型,即执行多类别分类。

与之相反,仅区分两个类别的分类问题属于二元分类模型。例如,如果一个电子邮件模型要预测某封电子邮件是垃圾邮件还是非垃圾邮件,那么该模型为二元分类模型。

在聚类问题中,多类分类是指超过两个类别。

负类别

#fundamentals

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

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

正类相对。

输出表示

#fundamentals

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

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

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

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

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

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

神经元

#fundamentals

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

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

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

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

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

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

节点(神经网络)(node (neural network))

#fundamentals

隐藏层中的神经元

非线性

#fundamentals

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

两个图表。其中一个图表是一条线,因此这是一种线性关系。
          另一个图表是曲线,因此这是一种非线性关系。

非平稳性

#fundamentals

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

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

平稳性相对。

标准化

#fundamentals

广义而言,将变量的实际值范围转换为标准值范围的过程,例如:

  • -1 到 +1
  • 0 至 1
  • Z 得分(大致介于 -3 到 +3 之间)

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

标准化是特征工程中的一项常见任务。当特征矢量中的每个数值特征大致具有相同的范围时,模型通常会更快地训练(并生成更准确的预测结果)。

如需了解详情,请参阅机器学习速成课程的“处理数值数据”模块。另请参阅Z 分统计量标准化

数值数据

#fundamentals

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

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

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

O

离线

#fundamentals

静态的含义相同。

离线推理

#fundamentals

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

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

离线推理也称为静态推理

在线推理相对。

独热编码

#fundamentals

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

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

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

  • “Denmark”
  • “Sweden”
  • “Norway”
  • “芬兰”
  • “冰岛”

热编码可以将这五个值分别表示为:

country 向量
“Denmark” 1 0 0 0 0
“Sweden” 0 1 0 0 0
“Norway” 0 0 1 0 0
“芬兰” 0 0 0 1 0
“冰岛” 0 0 0 0 1

得益于独热编码,模型可以根据这五个国家/地区分别学习不同的关联。

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

  • “Denmark”为 0
  • “瑞典”为 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

RAG

#fundamentals

检索增强生成的缩写。

评分者

#fundamentals

示例提供标签的人员。“注释者”是评分者的另一种称呼。

修正线性单元 (ReLU)

#fundamentals

一种激活函数,具有以下行为:

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

例如:

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

下面是 ReLU 的图表:

两个线条的直角坐标图。第一条线的 y 值为常量 0,沿 x 轴从 -infinity,0 到 0,-0。
          第二行从 0,0 开始。此线条的斜率为 +1,因此其范围为 0,0 到 +infinity,+infinity。

ReLU 是一种非常流行的激活函数。尽管行为简单,ReLU 仍可让神经网络学习特征标签之间的非线性关系。

回归模型

#fundamentals

非正式地讲,生成数值预测的模型。(相比之下,分类模型会生成类预测。)例如,以下所有模型都是回归模型:

  • 一个模型,用于预测某栋房屋的价值(以欧元为单位),例如 423,000。
  • 一个模型,用于预测某棵树的预期寿命(以年为单位),例如 23.2 年。
  • 一个模型,用于预测某个城市在接下来 6 小时内降雨量(以英寸为单位),例如 0.18。

回归模型有两种常见类型:

  • 线性回归,用于查找最能将标签值与特征相匹配的线。
  • 逻辑回归,该方法会生成一个介于 0.0 到 1.0 之间的概率值,系统通常会将该值映射到类预测。

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

正则化

#fundamentals

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

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

正则化率

#fundamentals

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

ReLU

#fundamentals

修正线性单元的缩写。

检索增强生成 (RAG)

#fundamentals

一种技术,用于通过在模型训练后检索知识来源来为大语言模型 (LLM) 输出提供依据,从而提高输出质量。RAG 通过向训练好的 LLM 提供从可信知识库或文档中检索到的信息,提高 LLM 回答的准确性。

使用检索增强生成的常见动机包括:

  • 提高模型生成的回答的事实准确性。
  • 让模型能够访问它未在训练过程中获得的知识。
  • 更改模型使用的知识。
  • 让模型引用来源。

例如,假设一款化学应用使用 PaLM API 生成与用户查询相关的摘要。当应用的后端收到查询时,后端会执行以下操作:

  1. 搜索(“检索”)与用户查询相关的数据。
  2. 将相关化学数据附加(“增强”)到用户的查询中。
  3. 指示 LLM 根据附加的数据创建摘要。

受试者工作特征曲线(receiver operating characteristic,简称 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)。也就是说,您可以将任何数字(2、100 万、负十亿等)传递给 Sigmoid 函数,输出结果仍会在受限范围内。sigmoid 激活函数的图形如下所示:

二维曲线图,x 值介于 -∞ 到 +∞ 之间,而 y 值介于几乎 0 到几乎 1 之间。当 x 为 0 时,y 为 0.5。曲线的斜率始终为正值,在 0,0.5 处斜率最高,随着 x 的绝对值的增加,斜率会逐渐减小。

在机器学习中,sigmoid 函数有几种用途,包括:

softmax

#fundamentals

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

图片是... Probability
.85
.13
.02

Softmax 也称为完整 Softmax

候选采样相对。

稀疏特征

#language
#fundamentals

一种特征,其中的大多数值都为 0 或为空。例如,包含一个 1 值和一百万个 0 值的特征就是稀疏特征。与之相反,稠密特征的值大多不是零或空值。

在机器学习中,有相当多的特征是稀疏特征。分类特征通常是稀疏特征。例如,在森林中的 300 种可能的树种中,单个示例可能只会识别出枫树。或者,在视频库中可能包含数百万个视频,但单个示例可能只会识别出“Casablanca”。

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

稀疏表示法

#language
#fundamentals

仅存储稀疏特征中非零元素的位置

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

使用特征及其对应的标签训练模型。监督式机器学习类似于通过研究一系列问题及其对应的答案来学习某个知识。掌握题目与答案之间的映射后,学生便可以回答同一主题的新问题(从未见过的问题)。

非监督式机器学习相对。

合成特征

#fundamentals

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

  • 对连续特征进行分桶,以分为多个区间分箱。
  • 创建特征组合
  • 将一个特征值与其他特征值或其本身相乘(或相除)。例如,如果 ab 是输入特征,则以下是合成特征的示例:
    • ab
    • a2
  • 对地图项值应用超越函数。例如,如果 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

验证

#fundamentals

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

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

您可以将针对验证集评估模型视为第一轮测试,将针对测试集评估模型视为第二轮测试。

验证损失

#fundamentals

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

另请参阅泛化曲线

验证集

#fundamentals

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

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

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

W

重量

#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 分数归一化

#fundamentals

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

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

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