转自Google机器学习课程:https://developers.google.com/machine-learning/glossary/
机器学习术语表
本术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。
O
目标 (objective)
算法尝试优化的指标。
离线推断 (offline inference)
生成一组预测,存储这些预测,然后根据需求检索这些预测。与在线推断相对。
独热编码 (one-hot encoding)
一种稀疏向量,其中:
一个元素设为 1。
所有其他元素均设为 0。
独热编码常用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不同的物种,其中每个物种都用独一无二的字符串标识符来表示。在特征工程过程中,您可能需要将这些字符串标识符编码为独热向量,向量的大小为 15000。
单样本学习(one-shot learning,通常用于对象分类)
一种机器学习方法,通常用于对象分类,旨在通过单个训练样本学习有效的分类器。
另请参阅少量样本学习。
一对多 (one-vs.-all)
假设某个分类问题有 N 种可能的解决方案,一对多解决方案将包含 N 个单独的二元分类器 - 一个二元分类器对应一种可能的结果。例如,假设某个模型用于区分样本属于动物、蔬菜还是矿物,一对多解决方案将提供下列三个单独的二元分类器:
动物和非动物
蔬菜和非蔬菜
矿物和非矿物
在线推断 (online inference)
根据需求生成预测。与离线推断相对。
操作 (op, Operation)
TensorFlow 图中的节点。在 TensorFlow 中,任何创建、操纵或销毁张量的过程都属于操作。例如,矩阵相乘就是一种操作,该操作以两个张量作为输入,并生成一个张量作为输出。
优化器 (optimizer)
梯度下降法的一种具体实现。TensorFlow 的优化器基类是 tf.train.Optimizer。不同的优化器可能会利用以下一个或多个概念来增强梯度下降法在指定训练集中的效果:
动量 (Momentum)
更新频率(AdaGrad = ADAptive GRADient descent;Adam = ADAptive with Momentum;RMSProp)
稀疏性/正则化 (Ftrl)
更复杂的数学方法(Proximal,等等)
甚至还包括 NN 驱动的优化器。
离群值 (outlier)
与大多数其他值差别很大的值。在机器学习中,下列所有值都是离群值。
绝对值很高的权重。
与实际值相差很大的预测值。
值比平均值高大约 3 个标准偏差的输入数据。
离群值常常会导致模型训练出现问题。
输出层 (output layer)
神经网络的“最后”一层,也是包含答案的层。
过拟合 (overfitting)
创建的模型与训练数据过于匹配,以致于模型无法根据新数据做出正确的预测。
P
Pandas
面向列的数据分析 API。很多机器学习框架(包括 TensorFlow)都支持将 Pandas 数据结构作为输入。请参阅 Pandas 文档。
参数 (parameter)
机器学习系统自行训练的模型的变量。例如,权重就是一种参数,它们的值是机器学习系统通过连续的训练迭代逐渐学习到的。与超参数相对。
参数服务器 (PS, Parameter Server)
一种作业,负责在分布式设置中跟踪模型参数。
参数更新 (parameter update)
在训练期间(通常是在梯度下降法的单次迭代中)调整模型参数的操作。
偏导数 (partial derivative)
一种导数,除一个变量之外的所有变量都被视为常量。例如,f(x, y) 对 x 的偏导数就是 f(x) 的导数(即,使 y 保持恒定)。f 对 x 的偏导数仅关注 x 如何变化,而忽略公式中的所有其他变量。
划分策略 (partitioning strategy)
在参数服务器间分割变量的算法。
性能 (performance)
多含义术语,具有以下含义:
在软件工程中的传统含义。即:相应软件的运行速度有多快(或有多高效)?
在机器学习中的含义。在机器学习领域,性能旨在回答以下问题:相应模型的准确度有多高?即模型在预测方面的表现有多好?
困惑度 (perplexity)
一种衡量指标,用于衡量模型能够多好地完成任务。例如,假设任务是读取用户使用智能手机键盘输入字词时输入的前几个字母,然后列出一组可能的完整字词。此任务的困惑度 (P) 是:为了使列出的字词中包含用户尝试输入的实际字词,您需要提供的猜测项的个数。
困惑度与交叉熵的关系如下:
流水线 (pipeline)
机器学习算法的基础架构。流水线包括收集数据、将数据放入训练数据文件、训练一个或多个模型,以及将模型导出到生产环境。
池化 (pooling)
将一个或多个由前趋的卷积层创建的矩阵压缩为较小的矩阵。池化通常是取整个池化区域的最大值或平均值。以下面的 3x3 矩阵为例:
池化运算与卷积运算类似:将矩阵分割为多个切片,然后按步长逐个运行卷积运算。例如,假设池化运算按 1x1 步长将卷积矩阵分割为 2x2 个切片。如下图所示,进行了四个池化运算。假设每个池化运算都选择该切片中四个值的最大值:
池化有助于在输入矩阵中实现平移不变性。
对于视觉应用来说,池化的更正式名称为空间池化。时间序列应用通常将池化称为时序池化。按照不太正式的说法,池化通常称为下采样或降采样。
正类别 (positive class)
在二元分类中,两种可能的类别分别被标记为正类别和负类别。正类别结果是我们要测试的对象。(不可否认的是,我们会同时测试这两种结果,但只关注正类别结果。)例如,在医学检查中,正类别可以是“肿瘤”。在电子邮件分类器中,正类别可以是“垃圾邮件”。
与负类别相对。
精确率 (precision)
一种分类模型指标。精确率指模型正确预测正类别的频率,即:
精确率=正例数/(正例数+假正例数)
预测 (prediction)
模型在收到输入样本后的输出。
预测偏差 (prediction bias)
一种值,用于表明预测平均值与数据集中标签的平均值相差有多大。
预创建的 Estimator (pre-made Estimator)
其他人已建好的 Estimator。TensorFlow 提供了一些预创建的 Estimator,包括 DNNClassifier、DNNRegressor 和 LinearClassifier。您可以按照这些说明构建自己预创建的 Estimator。
预训练模型 (pre-trained model)
已经过训练的模型或模型组件(例如嵌套)。有时,您需要将预训练的嵌套馈送到神经网络。在其他时候,您的模型将自行训练嵌套,而不依赖于预训练的嵌套。
先验信念 (prior belief)
在开始采用相应数据进行训练之前,您对这些数据抱有的信念。例如,L2 正则化依赖的先验信念是权重应该很小且应以 0 为中心呈正态分布。
Q
队列 (queue)
一种 TensorFlow 操作,用于实现队列数据结构。通常用于 I/O 中。
R
等级 (rank)
机器学习中的一个多含义术语,可以理解为下列含义之一:
张量中的维数。例如,标量等级为 0,向量等级为 1,矩阵等级为 2。
在将类别从最高到最低进行排序的机器学习问题中,类别的顺序位置。例如,行为排序系统可以将狗狗的奖励从最高(牛排)到最低(枯萎的羽衣甘蓝)进行排序。
评分者 (rater)
为样本提供标签的人。有时称为“注释者”。
召回率 (recall)
一种分类模型指标,用于回答以下问题:在所有可能的正类别标签中,模型正确地识别出了多少个?即:
召回率=正例数/(正例数+假负例数)
修正线性单元 (ReLU, Rectified Linear Unit)
一种激活函数,其规则如下:
如果输入为负数或 0,则输出 0。
如果输入为正数,则输出等于输入。
回归模型 (regression model)
一种模型,能够输出连续的值(通常为浮点值)。请与分类模型进行比较,分类模型会输出离散值,例如“黄花菜”或“虎皮百合”。
正则化 (regularization)
对模型复杂度的惩罚。正则化有助于防止出现过拟合,包含以下类型:
L1 正则化
L2 正则化
丢弃正则化
早停法(这不是正式的正则化方法,但可以有效限制过拟合)
正则化率 (regularization rate)
一种标量值,以 lambda 表示,用于指定正则化函数的相对重要性。从下面简化的损失公式中可以看出正则化率的影响:
最小化(损失方程+(正则化方程))
提高正则化率可以减少过拟合,但可能会使模型的准确率降低。
表示法 (representation)
将数据映射到实用特征的过程。
受试者工作特征曲线(receiver operating characteristic,简称 ROC 曲线)
不同分类阈值下的正例率和假正例率构成的曲线。另请参阅曲线下面积。
根目录 (root directory)
您指定的目录,用于托管多个模型的 TensorFlow 检查点和事件文件的子目录。
均方根误差 (RMSE, Root Mean Squared Error)
均方误差的平方根。
旋转不变性 (rotational invariance)
在图像分类问题中,即使图像的方向发生变化,算法也能成功地对图像进行分类。例如,无论网球拍朝上、侧向还是朝下放置,该算法仍然可以识别它。请注意,并非总是希望旋转不变;例如,倒置的“9”不应分类为“9”。
另请参阅平移不变性和大小不变性。
S
SavedModel
保存和恢复 TensorFlow 模型时建议使用的格式。SavedModel 是一种独立于语言且可恢复的序列化格式,使较高级别的系统和工具可以创建、使用和转换 TensorFlow 模型。
如需完整的详细信息,请参阅《TensorFlow 编程人员指南》中的保存和恢复。
Saver
一种 TensorFlow 对象,负责保存模型检查点。
缩放 (scaling)
特征工程中的一种常用做法,是指对某个特征的值区间进行调整,使之与数据集中其他特征的值区间一致。例如,假设您希望数据集中所有浮点特征的值都位于 0 到 1 区间内,如果某个特征的值位于 0 到 500 区间内,您就可以通过将每个值除以 500 来缩放该特征。
另请参阅标准化。
scikit-learn
一个热门的开放源代码机器学习平台。请访问 www.scikit-learn.org。
半监督式学习 (semi-supervised learning)
训练模型时采用的数据中,某些训练样本有标签,而其他样本则没有标签。半监督式学习采用的一种技术是推断无标签样本的标签,然后使用推断出的标签进行训练,以创建新模型。如果获得有标签样本需要高昂的成本,而无标签样本则有很多,那么半监督式学习将非常有用。
序列模型 (sequence model)
一种模型,其输入具有序列依赖性。例如,根据之前观看过的一系列视频对观看的下一个视频进行预测。
会话 (tf.session)
封装了 TensorFlow 运行时状态的对象,用于运行全部或部分图。在使用底层 TensorFlow API 时,您可以直接创建并管理一个或多个 tf.session 对象。在使用 Estimator API 时,Estimator 会为您创建会话对象。
S 型函数 (sigmoid function)
一种函数,可将逻辑回归输出或多项回归输出(对数几率)映射到概率,以返回介于 0 到 1 之间的值。S 型函数的公式如下:
在逻辑回归问题中, 非常简单:
换句话说,S 型函数可将 转换为介于 0 到 1 之间的概率。
在某些神经网络中,S 型函数可作为激活函数使用。
大小不变性 (size invariance)
在图像分类问题中,即使图像的大小发生变化,算法也能成功地对图像进行分类。例如,无论一只猫以 200 万像素还是 20 万像素呈现,该算法仍然可以识别它。请注意,即使是最好的图像分类算法,在大小不变性方面仍然会存在切实的限制。例如,对于仅以 20 像素呈现的猫图像,算法(或人)不可能正确对其进行分类。
另请参阅平移不变性和旋转不变性。
softmax
一种函数,可提供多类别分类模型中每个可能类别的概率。这些概率的总和正好为 1.0。例如,softmax 可能会得出某个图像是狗、猫和马的概率分别是 0.9、0.08 和 0.02。(也称为完整 softmax。)
与候选采样相对。
稀疏特征 (sparse feature)
一种特征向量,其中的大多数值都为 0 或为空。例如,某个向量包含一个为 1 的值和一百万个为 0 的值,则该向量就属于稀疏向量。再举一个例子,搜索查询中的单词也可能属于稀疏特征 - 在某种指定语言中有很多可能的单词,但在某个指定的查询中仅包含其中几个。
与密集特征相对。
稀疏表示法 (sparse representation)
一种张量表示法,仅存储非零元素。
例如,英语中包含约一百万个单词。表示一个英语句子中所用单词的数量,考虑以下两种方式:
要采用密集表示法来表示此句子,则必须为所有一百万个单元格设置一个整数,然后在大部分单元格中放入 0,在少数单元格中放入一个非常小的整数。
要采用稀疏表示法来表示此句子,则仅存储象征句子中实际存在的单词的单元格。因此,如果句子只包含 20 个独一无二的单词,那么该句子的稀疏表示法将仅在 20 个单元格中存储一个整数。
例如,假设以两种方式来表示句子“Dogs wag tails.”。如下表所示,密集表示法将使用约一百万个单元格;稀疏表示法则只使用 3 个单元格:
密集表示法
单元格编号 单词 出现次数
0 a 0
1 aardvark 0
2 aargh 0
3 aarti 0
… 出现次数为 0 的另外 140391 个单词
140395 dogs 1
… 出现次数为 0 的 633062 个单词
773458 tails 1
… 出现次数为 0 的 189136 个单词
962594 wag 1
… 出现次数为 0 的很多其他单词
稀疏表示法
单元格编号 单词 出现次数
140395 dogs 1
773458 tails 1
962594 wag 1
稀疏性 (sparsity)
向量或矩阵中设置为 0(或空)的元素数除以该向量或矩阵中的条目总数。以一个 10x10 矩阵(其中 98 个单元格都包含 0)为例。稀疏性的计算方法如下:
稀疏性
特征稀疏性是指特征向量的稀疏性;模型稀疏性是指模型权重的稀疏性。
空间池化 (spatial pooling)
请参阅池化。
平方合页损失函数 (squared hinge loss)
合页损失函数的平方。与常规合页损失函数相比,平方合页损失函数对离群值的惩罚更严厉。
平方损失函数 (squared loss)
在线性回归中使用的损失函数(也称为 L2 损失函数)。该函数可计算模型为有标签样本预测的值和标签的实际值之差的平方。由于取平方值,因此该损失函数会放大不佳预测的影响。也就是说,与 L1 损失函数相比,平方损失函数对离群值的反应更强烈。
静态模型 (static model)
离线训练的一种模型。
平稳性 (stationarity)
数据集中数据的一种属性,表示数据分布在一个或多个维度保持不变。这种维度最常见的是时间,即表明平稳性的数据不随时间而变化。例如,从 9 月到 12 月,表明平稳性的数据没有发生变化。
步 (step)
对一个批次的向前和向后评估。
步长 (step size)
与学习速率的含义相同。
随机梯度下降法 (SGD, stochastic gradient descent)
批次大小为 1 的一种梯度下降法。换句话说,SGD 依赖于从数据集中随机均匀选择的单个样本来计算每步的梯度估算值。
结构风险最小化 (SRM, structural risk minimization)
一种算法,用于平衡以下两个目标:
期望构建最具预测性的模型(例如损失最低)。
期望使模型尽可能简单(例如强大的正则化)。
例如,旨在将基于训练集的损失和正则化降至最低的函数就是一种结构风险最小化算法。
如需更多信息,请参阅 http://www.svms.org/srm/。
与经验风险最小化相对。
步长 (stride)
在卷积运算或池化中,下一个系列的输入切片的每个维度中的增量。例如,下面的动画演示了卷积运算过程中的一个 (1,1) 步长。因此,下一个输入切片是从上一个输入切片向右移动一个步长的位置开始。当运算到达右侧边缘时,下一个切片将回到最左边,但是下移一个位置。
前面的示例演示了一个二维步长。如果输入矩阵为三维,那么步长也将是三维。
下采样 (subsampling)
请参阅池化。
总结 (summary)
在 TensorFlow 中的某一步计算出的一个值或一组值,通常用于在训练期间跟踪模型指标。
监督式机器学习 (supervised machine learning)
根据输入数据及其对应的标签来训练模型。监督式机器学习类似于学生通过研究一系列问题及其对应的答案来学习某个主题。在掌握了问题和答案之间的对应关系后,学生便可以回答关于同一主题的新问题(以前从未见过的问题)。请与非监督式机器学习进行比较。
合成特征 (synthetic feature)
一种特征,不在输入特征之列,而是从一个或多个输入特征衍生而来。合成特征包括以下类型:
对连续特征进行分桶,以分为多个区间分箱。
将一个特征值与其他特征值或其本身相乘(或相除)。
创建一个特征组合。
仅通过标准化或缩放创建的特征不属于合成特征。
T
目标 (target)
与标签的含义相同。
时态数据 (temporal data)
在不同时间点记录的数据。例如,记录的一年中每一天的冬外套销量就属于时态数据。
张量 (Tensor)
TensorFlow 程序中的主要数据结构。张量是 N 维(其中 N 可能非常大)数据结构,最常见的是标量、向量或矩阵。张量的元素可以包含整数值、浮点值或字符串值。
张量处理单元 (TPU, Tensor Processing Unit)
一种 ASIC(应用专用集成电路),用于优化 TensorFlow 程序的性能。
张量等级 (Tensor rank)
请参阅等级。
张量形状 (Tensor shape)
张量在各种维度中包含的元素数。例如,张量 [5, 10] 在一个维度中的形状为 5,在另一个维度中的形状为 10。
张量大小 (Tensor size)
张量包含的标量总数。例如,张量 [5, 10] 的大小为 50。
TensorBoard
一个信息中心,用于显示在执行一个或多个 TensorFlow 程序期间保存的摘要信息。
TensorFlow
一个大型的分布式机器学习平台。该术语还指 TensorFlow 堆栈中的基本 API 层,该层支持对数据流图进行一般计算。
虽然 TensorFlow 主要应用于机器学习领域,但也可用于需要使用数据流图进行数值计算的非机器学习任务。
TensorFlow Playground
一款用于直观呈现不同的超参数对模型(主要是神经网络)训练的影响的程序。要试用 TensorFlow Playground,请前往 http://playground.tensorflow.org。
TensorFlow Serving
一个平台,用于将训练过的模型部署到生产环境。
测试集 (test set)
数据集的子集,用于在模型经由验证集的初步验证之后测试模型。
与训练集和验证集相对。
tf.Example
一种标准协议缓冲区,旨在描述用于机器学习模型训练或推断的输入数据。
时间序列分析 (time series analysis)
机器学习和统计学的一个子领域,旨在分析时态数据。很多类型的机器学习问题都需要时间序列分析,其中包括分类、聚类、预测和异常检测。例如,您可以利用时间序列分析根据历史销量数据预测未来每月的冬外套销量。
训练 (training)
确定构成模型的理想参数的过程。
训练集 (training set)
数据集的子集,用于训练模型。
与验证集和测试集相对。
迁移学习 (transfer learning)
将信息从一个机器学习任务迁移到另一个机器学习任务。例如,在多任务学习中,一个模型可以完成多项任务,例如针对不同任务具有不同输出节点的深度模型。迁移学习可能涉及将知识从较简单任务的解决方案迁移到较复杂的任务,或者将知识从数据较多的任务迁移到数据较少的任务。
大多数机器学习系统都只能完成一项任务。迁移学习是迈向人工智能的一小步;在人工智能中,单个程序可以完成多项任务。
平移不变性 (translational invariance)
在图像分类问题中,即使图像中对象的位置发生变化,算法也能成功对图像进行分类。例如,无论一只狗位于画面正中央还是画面左侧,该算法仍然可以识别它。
另请参阅大小不变性和旋转不变性。
负例 (TN, true negative)
被模型正确地预测为负类别的样本。例如,模型推断出某封电子邮件不是垃圾邮件,而该电子邮件确实不是垃圾邮件。
正例 (TP, true positive)
被模型正确地预测为正类别的样本。例如,模型推断出某封电子邮件是垃圾邮件,而该电子邮件确实是垃圾邮件。
正例率(true positive rate, 简称 TP 率)
与召回率的含义相同,即:
正例率=正例数/(正例数+假负例数)
正例率是 ROC 曲线的 y 轴。
U
无标签样本 (unlabeled example)
包含特征但没有标签的样本。无标签样本是用于进行推断的输入内容。在半监督式和非监督式学习中,在训练期间会使用无标签样本。
非监督式机器学习 (unsupervised machine learning)
训练模型,以找出数据集(通常是无标签数据集)中的规律。
非监督式机器学习最常见的用途是将数据分为不同的聚类,使相似的样本位于同一组中。例如,非监督式机器学习算法可以根据音乐的各种属性将歌曲分为不同的聚类。所得聚类可以作为其他机器学习算法(例如音乐推荐服务)的输入。在很难获取真标签的领域,聚类可能会非常有用。例如,在反滥用和反欺诈等领域,聚类有助于人们更好地了解相关数据。
非监督式机器学习的另一个例子是主成分分析 (PCA)。例如,通过对包含数百万购物车中物品的数据集进行主成分分析,可能会发现有柠檬的购物车中往往也有抗酸药。
请与监督式机器学习进行比较。
V
验证集 (validation set)
数据集的一个子集,从训练集分离而来,用于调整超参数。
与训练集和测试集相对。
W
权重 (weight)
线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。
宽度模型 (wide model)
一种线性模型,通常有很多稀疏输入特征。我们之所以称之为“宽度模型”,是因为这是一种特殊类型的神经网络,其大量输入均直接与输出节点相连。与深度模型相比,宽度模型通常更易于调试和检查。虽然宽度模型无法通过隐藏层来表示非线性关系,但可以利用特征组合、分桶等转换以不同的方式为非线性关系建模。
与深度模型相对。