本术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。
以下内容可下载:https://download.csdn.net/download/bigdata_wangzhe/15543442
A
A/B 测试 (A/B testing)
一种统计方法,用于将两种或多种技术进行比较,通常是将当前采用的技术与新技术进行比
较。A/B 测试不仅旨在确定哪种技术的效果更好,而且还有助于了解相应差异是否具有显著
的统计意义。A/B 测试通常是采用一种衡量方式对两种技术进行比较,但也适用于任意有限
数量的技术和衡量方式。
准确率 (accuracy)
分类模型 (#classi|cation_model)的正确预测所占的比例。在多类别分类 (#multi-class)中,准确
率的定义如下:
激活函数 (activation function)
一种函数(例如 ReLU (#ReLU) 或 S 型函数 (#sigmoid_function)),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。
AdaGrad
一种先进的梯度下降法,用于重新调整每个参数的梯度,以便有效地为每个参数指定独立的
学习速率 (#learning_rate)。如需查看完整的解释,请参阅这篇论文
(http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf)。
ROC 曲线下面积 (AUC, Area under the ROC Curve)
一种会考虑所有可能分类阈值 (#classi|cation_threshold)的评估指标。
ROC 曲线 (#ROC)下面积是,对于随机选择的正类别样本确实为正类别,以及随机选择的负类
别样本为正类别,分类器更确信前者的概率。
B
反向传播算法 (backpropagation)
在神经 络 (#neural_network)上执行梯度下降法 (#gradient_descent)的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失
函数值相对于每个参数的偏导数 (https://en.wikipedia.org/wiki/Partial_derivative)。
基准 (baseline)
一种简单的模型 (#model)或启发法,用作比较模型效果时的参考点。基准有助于模型开发者
针对特定问题量化最低预期效果。
批次 (batch)
模型训练 (#model_training)的一次迭代 (#iteration)(即一次梯度 (#gradient)更新)中使用的样本
集。
批次大小 (batch size)
一个批次 (#batch)中的样本数。例如,SGD (#SGD) 的批次大小为 1,而小批次 (#mini-batch)的
大小通常介于 10 到 1000 之间。批次大小在训练和推断期间通常是固定的;不过,
TensorFlow 允许使用动态批次大小。
偏差 (bias)
距离原点的截距或偏移。偏差(也称为偏差项)在机器学习模型中用 b 或 w0 表示。例如,
在下面的公式中,偏差为 b:
连续特征 (continuous feature)
一种浮点特征,可能值的区间不受限制。与离散特征 (#discrete_feature)相对。
收敛 (convergence)
通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损 失 (#loss)和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当
前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时
会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。
另请参阅早停法 (#early_stopping)。
另请参阅 Boyd 和 Vandenberghe 合著的 Convex Optimization
(https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf)(《凸优化》)。
凸函数 (convex function)
一种函数,函数图像以上的区域为凸集 (#convex_set)。典型凸函数的形状类似于字母 U。
严格凸函数只有一个局部最低点,该点也是全局最低点。经典的 U 形函数都是严格凸函数。
不过,有些凸函数(例如直线)则不是这样。
很多常见的损失函数 (#loss_functions)(包括下列函数)都是凸函数:
L2 损失函数 (#L2_loss)
对数损失函数 (#Log_Loss)
L1 正则化 (#L1_regularization)
L2 正则化 (#L2_regularization)
梯度下降法 (#gradient_descent)的很多变体都一定能找到一个接近严格凸函数最小值的点。同
样,随机梯度下降法 (#SGD)的很多变体都有很高的可能性能够找到接近严格凸函数最小值的
点(但并非一定能找到)。
两个凸函数的和(例如 L2 损失函数 + L1 正则化)也是凸函数。
深度模型 (#deep_model)绝不会是凸函数。值得注意的是,专门针对凸优化
(#convex_optimization)设计的算法往往总能在深度 络上找到非常好的解决方案,虽然这些解
决方案并不一定对应于全局最小值。
凸优化 (convex optimization)
使用数学方法(例如梯度下降法 (#gradient_descent))寻找凸函数 (#convex_function)最小值的
过程。机器学习方面的大量研究都是专注于如何通过公式将各种问题表示成凸优化问题,以及如何更高效地解决这些问题。
如需完整的详细信息,请参阅 Boyd 和 Vandenberghe 合著的 Convex Optimization
(https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf)(《凸优化》)。
卷积 (convolution)
简单来说,卷积在数学中指两个函数的组合。在机器学习中,卷积结合使用卷积过滤器和输
入矩阵来训练权重。
机器学习中的“卷积”一词通常是卷积运算 (#convolutional_operation)或卷积层
(#convolutional_layer)的简称。
如果没有卷积,机器学习算法就需要学习大张量中每个单元格各自的权重。例如,用 2K x
2K 图像训练的机器学习算法将被迫找出 400 万个单独的权重。而使用卷积,机器学习算法
只需在卷积过滤器 (#convolutional_|lter)中找出每个单元格的权重,大大减少了训练模型所需
的内存。在应用卷积过滤器后,它只需跨单元格进行复制,每个单元格都会与过滤器相乘。
卷积过滤器 (convolutional ?lter)
卷积运算 (#convolutional_operation)中的两个参与方之一。(另一个参与方是输入矩阵切
片。)卷积过滤器是一种矩阵,其等级 (#rank)与输入矩阵相同,但形状小一些。以 28×28 的
输入矩阵为例,过滤器可以是小于 28×28 的任何二维矩阵。
在图形操作中,卷积过滤器中的所有单元格通常按照固定模式设置为 1 和 0。在机器学习
中,卷积过滤器通常先选择随机数字,然后由 络训练出理想值。
卷积层 (convolutional layer)
深度神经 络的一个层,卷积过滤器 (#convolutional_|lter)会在其中传递输入矩阵。以下面的
3×3 卷积过滤器 (#convolutional_|lter)为例:
- 卷积层
- 池化层
- 密集层
卷积神经 络在解决某些类型的问题(如图像识别)上取得了巨大成功。
卷积运算 (convolutional operation)
如下所示的两步数学运算:
- 对卷积过滤器 (#convolutional_|lter)和输入矩阵切片执行元素级乘法。(输入矩阵切片与
卷积过滤器具有相同的等级和大小。) - 对生成的积矩阵中的所有值求和。
以下面的 5×5 输入矩阵为例:
密集层 (dense layer)
与全连接层 (#fully_connected_layer)的含义相同。
深度模型 (deep model)
一种神经 络 (#neural_network),其中包含多个隐藏层 (#hidden_layer)。深度模型依赖于可训练
的非线性关系。
与宽度模型 (#wide_model)相对。
密集特征 (dense feature)
一种大部分值是非零值的特征 (#feature),通常是浮点值张量 (#tensor)。与稀疏特征
(#sparse_features)相对。
设备 (device)
一类可运行 TensorFlow 会话的硬件,包括 CPU、GPU 和 TPU。
离散特征 (discrete feature)
一种特征 (#feature),包含有限个可能值。例如,某个值只能是“动物”、“蔬菜”或“矿物”的特征
便是一个离散特征(或分类特征)。与连续特征 (#continuous_feature)相对。
丢弃正则化 (dropout regularization)
正则化 (#regularization)的一种形式,在训练神经 络 (#neural_network)方面非常有用。丢弃正
则化的运作机制是,在一个梯度步长中移除从神经 络层中随机选择的固定数量的单元。丢
弃的单元越多,正则化效果就越强。这类似于训练神经 络以模拟较小 络的指数级规模集
成学习。如需完整的详细信息,请参阅 Dropout: A Simple Way to Prevent Neural Networks
from Over|tting (http://jmlr.org/papers/volume15/srivastava14a.old/srivastava14a.pdf)(《丢弃:
一种防止神经 络过拟合的简单方法》)。
动态模型 (dynamic model)
一种模型 (#model),以持续更新的方式在线接受训练。也就是说,数据会源源不断地进入这
种模型。
E
早停法 (early stopping)
一种正则化 (#regularization)方法,是指在训练损失仍可以继续降低之前结束模型训练。使用
早停法时,您会在验证数据集 (#validation_set)的损失开始增大(也就是泛化 (#generalization)效
果变差)时结束模型训练。
嵌套 (embeddings)
一种分类特征,以连续值特征表示。通常,嵌套是指将高维度向量映射到低维度的空间。例
如,您可以采用以下两种方式之一来表示英文句子中的单词:
表示成包含百万个元素(高维度)的稀疏向量 (#sparse_features),其中所有元素都是整
数。向量中的每个单元格都表示一个单独的英文单词,单元格中的值表示相应单词在句
子中出现的次数。由于单个英文句子包含的单词不太可能超过 50 个,因此向量中几乎
每个单元格都包含 0。少数非 0 的单元格中将包含一个非常小的整数(通常为 1),该
整数表示相应单词在句子中出现的次数。
表示成包含数百个元素(低维度)的密集向量 (#dense_feature),其中每个元素都存储一
个介于 0 到 1 之间的浮点值。这就是一种嵌套。
在 TensorFlow 中,会按反向传播 (#backpropagation)损失 (#loss)训练嵌套,和训练神经 络
(#neural_network)中的任何其他参数一样。
经验风险最小化 (ERM, empirical risk minimization)
用于选择可以将基于训练集的损失降至最低的函数。与结构风险最小化 (#SRM)相对。
集成学习 (ensemble)
多个模型 (#model)的预测结果的并集。您可以通过以下一项或多项来创建集成学习:
不同的初始化
不同的超参数 (#hyperparameter)
不同的整体结构
深度模型和宽度模型 (https://www.tensor§ow.org/tutorials/wide_and_deep)属于一种集成学习。
周期 (epoch)
在训练时,整个数据集的一次完整遍历,以便不漏掉任何一个样本。因此,一个周期表示
(N/批次大小 (#batch_size))次训练迭代 (#iteration),其中 N 是样本总数。
Estimator
tf.Estimator 类的一个实例,用于封装负责构建 TensorFlow 图并运行 TensorFlow 会话的
逻辑。您可以创建自定义 Estimator (#custom_estimator)(如需相关介绍,请点击此处
(https://www.tensor§ow.org/extend/estimators)),也可以实例化其他人预创建的 Estimator
(#pre-made_Estimator)。
样本 (example)
数据集的一行。一个样本包含一个或多个特征 (#feature),此外还可能包含一个标签 (#label)。
另请参阅有标签样本 (#labeled_example)和无标签样本 (#unlabeled_example)。
F
假负例 (FN, false negative)
被模型错误地预测为负类别 (#negative_class)的样本。例如,模型推断出某封电子邮件不是垃
圾邮件(负类别),但该电子邮件其实是垃圾邮件。
假正例 (FP, false positive)
被模型错误地预测为正类别 (#positive_class)的样本。例如,模型推断出某封电子邮件是垃圾
邮件(正类别),但该电子邮件其实不是垃圾邮件。
假正例率(false positive rate, 简称 FP 率)
ROC 曲线 (#ROC)中的 x 轴。FP 率的定义如下:
其中“y’”表示分类器模型的原始输出:
维持数据 (holdout data)
训练期间故意不使用(“维持”)的样本 (#example)。验证数据集 (#validation_set)和测试数据集
(#test_set)都属于维持数据。维持数据有助于评估模型向训练时所用数据之外的数据进行泛化
的能力。与基于训练数据集的损失相比,基于维持数据集的损失有助于更好地估算基于未见
过的数据集的损失。
超参数 (hyperparameter)
在模型训练的连续过程中,您调节的“旋钮”。例如,学习速率 (#learning_rate)就是一种超参
数。
与参数 (#parameter)相对。
超平面 (hyperplane)
将一个空间划分为两个子空间的边界。例如,在二维空间中,直线就是一个超平面,在三维
空间中,平面则是一个超平面。在机器学习中更典型的是:超平面是分隔高维度空间的边
界。核支持向量机 (#KSVMs)利用超平面将正类别和负类别区分开来(通常是在极高维度空间
中)。
I
独立同等分布 (i.i.d, independently and identically distributed)
从不会改变的分布中提取的数据,其中提取的每个值都不依赖于之前提取的值。i.i.d. 是机器
学习的理想气体 (https://en.wikipedia.org/wiki/Ideal_gas) – 一种实用的数学结构,但在现实世界
中几乎从未发现过。例如,某个 页的访问者在短时间内的分布可能为 i.i.d.,即分布在该短
时间内没有变化,且一位用户的访问行为通常与另一位用户的访问行为无关。不过,如果将
时间窗口扩大, 页访问者的分布可能呈现出季节性变化。
推断 (inference)
在机器学习中,推断通常指以下过程:通过将训练过的模型应用于无标签样本
(#unlabeled_example)来做出预测。在统计学中,推断是指在某些观测数据条件下拟合分布参
数的过程。(请参阅维基百科中有关统计学推断的文章
(https://en.wikipedia.org/wiki/Statistical_inference)。)
输入函数 (input function)
在 TensorFlow 中,用于将输入数据返回到 Estimator (#Estimators) 的训练、评估或预测方法
的函数。例如,训练输入函数会返回训练集 (#training_set)中的一批 (#batch)特征和标签。
输入层 (input layer)
神经 络 (#neural_network)中的第一层(接收输入数据的层)。
实例 (instance)
与样本 (#example)的含义相同。
可解释性 (interpretability)
模型的预测可解释的难易程度。深度模型通常不可解释,也就是说,很难对深度模型的不同
层进行解释。相比之下,线性回归模型和宽度模型 (#wide_model)的可解释性通常要好得多。
评分者间一致性信度 (inter-rater agreement)
一种衡量指标,用于衡量在执行某项任务时评分者达成一致的频率。如果评分者未达成一
致,则可能需要改进任务说明。有时也称为注释者间一致性信度或评分者间可靠性信度。另
请参阅 Cohen’s kappa (https://en.wikipedia.org/wiki/Cohen%27s_kappa)(最热门的评分者间一致
性信度衡量指标之一)。
迭代 (iteration)
模型的权重在训练期间的一次更新。迭代包含计算参数在单批次 (#batch)数据上的梯度损失。
K
k-means
一种热门的聚类 (#clustering)算法,用于对非监督式学习中的样本进行分组。k-means 算法基
本上会执行以下操作:
以迭代方式确定最佳的 k 中心点(称为形心 (#centroid))。
将每个样本分配到最近的形心。与同一个形心距离最近的样本属于同一个组。
k-means 算法会挑选形心位置,以最大限度地减小每个样本与其最接近形心之间的距离的累
积平方。
以下面的小狗高度与小狗宽度的关系图为例:
-
k-means 采用从形心到样本的欧几里得距离
(https://en.wikipedia.org/wiki/Euclidean_distance)。(在二维空间中,欧几里得距离即使用
勾股定理来计算斜边。)例如,(2,2) 与 (5,-2) 之间的 k-means 距离为:
Keras
一种热门的 Python 机器学习 API。Keras (https://keras.io) 能够在多种深度学习框架上运行,
其中包括 TensorFlow(在该框架上,Keras 作为 tf.keras
(https://www.tensor§ow.org/api_docs/python/tf/keras) 提供)。
核支持向量机 (KSVM, Kernel Suppo’ Vector Machines)
一种分类算法,旨在通过将输入数据向量映射到更高维度的空间,来最大化正类别
(#positive_class)和负类别 (#negative_class)之间的裕度。以某个输入数据集包含一百个特征的
分类问题为例。为了最大化正类别和负类别之间的裕度,KSVM 可以在内部将这些特征映射
到百万维度的空间。KSVM 使用合页损失函数 (#hinge-loss)。
L
L1 损失函数 (L? loss)
一种损失 (#loss)函数,基于模型预测的值与标签 (#label)的实际值之差的绝对值。与 L2 损失
函数 (#squared_loss)相比,L1 损失函数对离群值的敏感性弱一些。
L1 正则化 (L? regularization)
一种正则化 (#regularization),根据权重的绝对值的总和来惩罚权重。在依赖稀疏特征
(#sparse_features)的模型中,L1 正则化有助于使不相关或几乎不相关的特征的权重正好为
0,从而将这些特征从模型中移除。与 L2 正则化 (#L2_regularization)相对。
L2 损失函数 (L? loss)
请参阅平方损失函数 (#squared_loss)。 L2 正则化 (L? regularization)
一种正则化 (#regularization),根据权重的平方和来惩罚权重。L2 正则化有助于使离群值(具
有较大正值或较小负值)权重接近于 0,但又不正好为 0。(与 L1 正则化 (#L1_regularization)
相对。)在线性模型中,L2 正则化始终可以改进泛化。
标签 (label)
在监督式学习中,标签指样本 (#example)的“答案”或“结果”部分。有标签数据集中的每个样本
都包含一个或多个特征以及一个标签。例如,在房屋数据集中,特征可能包括卧室数、卫生
间数以及房龄,而标签则可能是房价。在垃圾邮件检测数据集中,特征可能包括主题行、发
件人以及电子邮件本身,而标签则可能是“垃圾邮件”或“非垃圾邮件”。
有标签样本 (labeled example)
包含特征 (#feature)和标签 (#label)的样本。在监督式训练中,模型从有标签样本中学习规律。
lambda
与正则化率 (#regularization_rate)的含义相同。
(多含义术语,我们在此关注的是该术语在正则化 (#regularization)中的定义。)
层 (layer)
神经 络 (#neural_network)中的一组神经元 (#neuron),负责处理一组输入特征,或一组神经元
的输出。
此外还指 TensorFlow 中的抽象层。层是 Python 函数,以张量 (#tensor)和配置选项作为输
入,然后生成其他张量作为输出。当必要的张量组合起来后,用户便可以通过模型函数
(#model_function)将结果转换为 Estimator (#Estimators)。
Layers API (“.layers)
一种 TensorFlow API,用于以层组合的方式构建深度 (#deep_model)神经 络。通过 Layers
API,您可以构建不同类型的层 (#layer),例如:
通过 tf.layers.Dense 构建全连接层 (#fully_connected_layer)。
通过 tf.layers.Conv2D 构建卷积层。
在编写自定义 Estimator (#custom_estimator) 时,您可以编写“层”对象来定义所有隐藏层
(#hidden_layers)的特征。
Layers API 遵循 Keras (#Keras) layers API 规范。也就是说,除了前缀不同以外,Layers API
中的所有函数均与 Keras layers API 中的对应函数具有相同的名称和签名。
学习速率 (learning rate)
在训练模型时用于梯度下降的一个标量。在每次迭代期间,梯度下降法 (#gradient_descent)都
会将学习速率与梯度相乘。得出的乘积称为梯度步长。
学习速率是一个重要的超参数 (#hyperparameter)。
最小二乘回归 (least squares regression)
一种通过最小化 L2 损失 (#L2_loss)训练出的线性回归模型。
线性回归 (linear regression)
一种回归模型 (#regression_model),通过将输入特征进行线性组合输出连续值。
逻辑回归 (logistic regression)
一种模型,通过将 S 型函数 (#sigmoid_function)应用于线性预测,生成分类问题中每个可能的
离散标签值的概率。虽然逻辑回归经常用于二元分类 (#binary_classi|cation)问题,但也可用于
多类别 (#multi-class)分类问题(其叫法变为多类别逻辑回归或多项回归)。
对数 (logits)
分类模型生成的原始(非标准化)预测向量,通常会传递给标准化函数。如果模型要解决多
类别分类问题,则对数通常变成 softmax 函数
(https://www.tensor§ow.org/api_docs/python/tf/nn/softmax_cross_entropy_with_logits_v2)的输入。
之后,softmax 函数会生成一个(标准化)概率向量,对应于每个可能的类别。
此外,对数有时也称为 S 型函数 (#sigmoid_function)的元素级反函数。如需了解详细信息,请
参阅 tf.nn.sigmoid_cross_entropy_with_logits
对数损失函数 (Log Loss)
二元逻辑回归 (#logistic_regression)中使用的损失 (#loss)函数。
对数几率 (log-odds)
某个事件几率的对数。
如果事件涉及二元概率,则几率指的是成功概率 § 与失败概率 (1-p) 之比。例如,假设某个
给定事件的成功概率为 90%,失败概率为 10%。在这种情况下,几率的计算公式如下:
损失 (Loss)
一种衡量指标,用于衡量模型的预测 (#prediction)偏离其标签 (#label)的程度。或者更悲观地说
是衡量模型有多差。要确定此值,模型必须定义损失函数。例如,线性回归模型通常将均方
误差 (#MSE)用作损失函数,而逻辑回归模型则使用对数损失函数 (#Log_Loss)。
M
机器学习 (machine learning)
一种程序或系统,用于根据输入数据构建(训练)预测模型。这种系统会利用学到的模型根
据从分布(训练该模型时使用的同一分布)中提取的新数据(以前从未见过的数据)进行实
用的预测。机器学习还指与这些程序或系统相关的研究领域。
均方误差 (MSE, Mean Squared Error)
每个样本的平均平方损失。MSE 的计算方法是平方损失 (#squared_loss)除以样本 (#example)
数。TensorFlow Playground (#TensorFlow_Playground) 显示的“训练损失”值和“测试损失”值都
是 MSE。
指标 (metric)
您关心的一个数值。可能可以也可能不可以直接在机器学习系统中得到优化。您的系统尝试
优化的指标称为目标 (#objective)。 Metrics API (“.metrics)
一种用于评估模型的 TensorFlow API。例如,tf.metrics.accuracy 用于确定模型的预测
与标签匹配的频率。在编写自定义 Estimator (#custom_estimator) 时,您可以调用 Metrics
API 函数来指定应如何评估您的模型。
小批次 (mini-batch)
从整批样本 (#example)内随机选择并在训练或推断过程的一次迭代中一起运行的一小部分样
本。小批次的批次大小 (#batch_size)通常介于 10 到 1000 之间。与基于完整的训练数据计算
损失相比,基于小批次数据计算损失要高效得多。
小批次随机梯度下降法 (SGD, mini-batch stochastic gradient descent)
一种采用小批次 (#mini-batch)样本的梯度下降法 (#gradient_descent)。也就是说,小批次 SGD
会根据一小部分训练数据来估算梯度。Vanilla SGD (#SGD) 使用的小批次的大小为 1。
模型 (model)
机器学习系统从训练数据学到的内容的表示形式。多含义术语,可以理解为下列两种相关含
义之一:
- 一种 TensorFlow (#TensorFlow) 图,用于表示预测的计算结构。
- 该 TensorFlow 图的特定权重和偏差,通过训练 (#model_training)决定。
模型函数 (model function)
Estimator (#Estimators) 中的函数,用于实现机器学习训练、评估和推断。例如,模型函数的
训练部分可以处理以下任务:定义深度神经 络的拓扑并确定其优化器 (#optimizer)函数。如
果使用预创建的 Estimator (#pre-made_Estimator),则有人已为您编写了模型函数。如果使用
自定义 Estimator (#custom_estimator),则必须自行编写模型函数。
有关编写模型函数的详细信息,请参阅创建自定义 Estimator
(https://www.tensor§ow.org/get_started/custom_estimators)。
模型训练 (model training)
确定最佳模型 (#model)的过程。
动量 (Momentum)
一种先进
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!