谷歌开发者曾经整理了机器学习常见的一些术语与概念。为了便于你们学习,先荐将这些术语与基本概念编译、整理,分两篇文章分享给你们,如下是从A到Z的基本术语与概念。算法
A缓存
A/B 测试 (A/B testing)微信
一种统计方法,用于将两种或多种技术进行比较,一般是将当前采用的技术与新技术进行比较。A/B 测试不只旨在肯定哪一种技术的效果更好,并且还有助于了解相应差别是否具备显著的统计意义。A/B 测试一般是采用一种衡量方式对两种技术进行比较,但也适用于任意有限数量的技术和衡量方式。网络
准确率 (accuracy)运维
分类模型的正确预测所占的比例。在多类别分类中,准确率的定义以下:机器学习
在二元分类中,准确率的定义以下:函数
激活函数 (activation function)工具
一种函数(例如 ReLU 或 S 型函数),用于对上一层的全部输入求加权和,而后生成一个输出值(一般为非线性值),并将其传递给下一层。post
AdaGrad性能
一种先进的梯度降低法,用于从新调整每一个参数的梯度,以便有效地为每一个参数指定独立的学习速率。
ROC 曲线下面积 (AUC, Area under the ROC Curve)
一种会考虑全部可能分类阈值的评估指标。ROC 曲线下面积表明分类器随机预测真正类(Ture Positives)要比假正类(False Positives)几率大的确信度。
B
反向传播算法 (backpropagation)
在神经网络上执行梯度降低法的主要算法。该算法会先按前向传播方式计算(并缓存)每一个节点的输出值,而后再按反向传播遍历图的方式计算损失函数值相对于每一个参数的偏导数。
基准 (baseline)
一种简单的模型或启发法,用做比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。
批次 (batch)
模型训练的一次迭代(即一次梯度更新)中使用的样本集。
批次大小 (batch size)
一个批次中的样本数。例如,SGD 的批次大小为 1,而小批次的大小一般介于 10 到 1000 之间。批次大小在训练和推断期间一般是固定的;不过,TensorFlow 容许使用动态批次大小。
误差 (bias)
距离原点的截距或偏移。误差(也称为误差项)在机器学习模型中用 b 或 w0 表示。例如,在下面的公式中,误差为 b:y′=b+w_1x_1+w_2x_2+…w_nx_n
请勿与预测误差混淆。
二元分类 (binary classification)
一种分类任务,可输出两种互斥类别之一。例如,对电子邮件进行评估并输出“垃圾邮件”或“非垃圾邮件”的机器学习模型就是一个二元分类器。
分桶 (bucketing)
将一个特征(一般是连续特征)转换成多个二元特征(称为桶或箱),一般根据值区间进行转换。例如,能够将温度区间分割为离散分箱,而不是将温度表示成单个连续的浮点特征。假设温度数据可精确到小数点后一位,则能够将介于 0.0 到 15.0 度之间的全部温度都纳入一个分箱,将介于 15.1 到 30.0 度之间的全部温度纳入第二个分箱,并将介于 30.1 到 50.0 度之间的全部温度纳入第三个分箱。
C
校准层 (calibration layer)
一种调整后期预测的结构,一般是为了下降预测误差的影响。调整后的预测和几率应与观察到的标签集的分布一致。
候选采样 (candidate sampling)
一种训练时进行的优化,会使用某种函数(例如 softmax)针对全部正类别标签计算几率,但对于负类别标签,则仅针对其随机样本计算几率。例如,若是某个样本的标签为“小猎犬”和“狗”,则候选采样将针对“小猎犬”和“狗”类别输出以及其余类别(猫、棒棒糖、栅栏)的随机子集计算预测几率和相应的损失项。这种采样基于的想法是,只要正类别始终获得适当的正加强,负类别就能够从频率较低的负加强中进行学习,这确实是在实际中观察到的状况。候选采样的目的是,经过不针对全部负类别计算预测结果来提升计算效率。
分类数据 (categorical data)
一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。经过将 house style 表示成分类数据,相应模型能够学习 Tudor、ranch 和 colonial 分别对房价的影响。
有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只容许一个样本有一个值 (Toyota)。在其余状况下,则能够应用多个值。一辆车可能会被喷涂多种不一样的颜色,所以,car color 分类特征可能会容许单个样本具备多个值(例如 red 和 white)。
分类特征有时称为离散特征,与数值数据相对。
形心 (centroid)
聚类的中心,由 k-means 或 k-median 算法决定。例如,若是 k 为 3,则 k-means 或 k-median 算法会找出 3 个形心。
检查点 (checkpoint)
一种数据,用于捕获模型变量在特定时间的状态。借助检查点,能够导出模型权重,跨多个会话执行训练,以及使训练在发生错误以后得以继续(例如做业抢占)。请注意,图自己不包含在检查点中。
类别 (class)
为标签枚举的一组目标值中的一个。例如,在检测垃圾邮件的二元分类模型中,两种类别分别是“垃圾邮件”和“非垃圾邮件”。在识别狗品种的多类别分类模型中,类别能够是“贵宾犬”、“小猎犬”、“哈巴犬”等等。
分类不平衡的数据集 (class-imbalanced data set)
一种二元分类问题,在此类问题中,两种类别的标签在出现频率方面具备很大的差距。例如,在某个疾病数据集中,0.0001 的样本具备正类别标签,0.9999 的样本具备负类别标签,这就属于分类不平衡问题;但在某个足球比赛预测器中,0.51 的样本的标签为其中一个球队赢,0.49 的样本的标签为另外一个球队赢,这就不属于分类不平衡问题。
分类模型 (classification model)
一种机器学习模型,用于区分两种或多种离散类别。例如,某个天然语言处理分类模型能够肯定输入的句子是法语、西班牙语仍是意大利语。与回归模型成相互对比。
分类阈值 (classification threshold)
一种标量值条件,应用于模型预测的得分,旨在将正类别与负类别区分开。将逻辑回归结果映射到二元分类时使用。以某个逻辑回归模型为例,该模型用于肯定指定电子邮件是垃圾邮件的几率。若是分类阈值为 0.9,那么逻辑回归值高于 0.9 的电子邮件将被归类为“垃圾邮件”,低于 0.9 的则被归类为“非垃圾邮件”。
聚类 (clustering)
将关联的样本分红一组,通常用于非监督式学习。在全部样本均分组完毕后,相关人员即可选择性地为每一个聚类赋予含义。
聚类算法有不少。例如,k-means 算法会基于样本与形心的接近程度聚类样本,以下图所示:
以后,研究人员即可查看这些聚类并进行其余操做,例如,将聚类 1 标记为“矮型树”,将聚类 2 标记为“全尺寸树”。
再举一个例子,例如基于样本与中心点距离的聚类算法,以下所示:
协同过滤 (collaborative filtering)
根据不少其余用户的兴趣来预测某位用户的兴趣。协同过滤一般用在推荐系统中。
混淆矩阵 (confusion matrix)
一种 NxN 表格,用于总结分类模型的预测效果;即标签和模型预测的分类之间的关联。在混淆矩阵中,一个轴表示模型预测的标签,另外一个轴表示实际标签。N 表示类别个数。在二元分类问题中,N=2。例如,下面显示了一个二元分类问题的混淆矩阵示例:
上面的混淆矩阵显示,在 19 个实际有肿瘤的样本中,该模型正确地将 18 个归类为有肿瘤(18 个正例),错误地将 1 个归类为没有肿瘤(1 个假负例)。一样,在 458 个实际没有肿瘤的样本中,模型归类正确的有 452 个(452 个负例),归类错误的有 6 个(6 个假正例)。
多类别分类问题的混淆矩阵有助于肯定出错模式。例如,某个混淆矩阵能够揭示,某个通过训练以识别手写数字的模型每每会将 4 错误地预测为 9,将 7 错误地预测为 1。
混淆矩阵包含计算各类效果指标(包括精确率和召回率)所需的信息。
连续特征 (continuous feature)
一种浮点特征,可能值的区间不受限制。与离散特征相对。
收敛 (convergence) 通俗来讲,收敛一般是指在训练期间达到的一种状态,即通过必定次数的迭代以后,训练损失和验证损失在每次迭代中的变化都很是小或根本没有变化。也就是说,若是采用当前数据进行额外的训练将没法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终降低以前的屡次迭代中保持不变或几乎保持不变,暂时造成收敛的假象。
另请参阅早停法。
凸函数 (convex function)
一种函数,函数图像以上的区域为凸集。典型凸函数的形状相似于字母 U。例如,如下都是凸函数:
相反,如下函数则不是凸函数。请注意图像上方的区域如何不是凸集:
严格凸函数只有一个局部最低点,该点也是全局最低点。经典的 U 形函数都是严格凸函数。不过,有些凸函数(例如直线)则不是这样。
不少常见的损失函数(包括下列函数)都是凸函数:
· L2 损失函数
· 对数损失函数
· L1 正则化
· L2 正则化
梯度降低法的不少变体都必定能找到一个接近严格凸函数最小值的点。一样,随机梯度降低法的不少变体都有很高的可能性可以找到接近严格凸函数最小值的点(但并不是必定能找到)。
两个凸函数的和(例如 L2 损失函数 + L1 正则化)也是凸函数。
深度模型毫不会是凸函数。值得注意的是,专门针对凸优化设计的算法每每总能在深度网络上找到很是好的解决方案,虽然这些解决方案并不必定对应于全局最小值。
凸优化 (convex optimization)
使用数学方法(例如梯度降低法)寻找凸函数最小值的过程。机器学习方面的大量研究都是专一于如何经过公式将各类问题表示成凸优化问题,以及如何更高效地解决这些问题。
凸集 (convex set)
欧几里得空间的一个子集,其中任意两点之间的连线仍彻底落在该子集内。例如,下面的两个图形都是凸集:
相反,下面的两个图形都不是凸集:
卷积 (convolution)
简单来讲,卷积在数学中指两个函数的组合。在机器学习中,卷积结合使用卷积过滤器和输入矩阵来训练权重。
机器学习中的“卷积”一词一般是卷积运算或卷积层的简称。
若是没有卷积,机器学习算法就须要学习大张量中每一个单元格各自的权重。例如,用 2K x 2K 图像训练的机器学习算法将被迫找出 400 万个单独的权重。而使用卷积,机器学习算法只需在卷积过滤器中找出每一个单元格的权重,大大减小了训练模型所需的内存。在应用卷积过滤器后,它只需跨单元格进行复制,每一个单元格都会与过滤器相乘。
卷积过滤器 (convolutional filter)
卷积运算中的两个参与方之一。(另外一个参与方是输入矩阵切片。)卷积过滤器是一种矩阵,其等级与输入矩阵相同,但形状小一些。以 28×28 的输入矩阵为例,过滤器能够是小于 28×28 的任何二维矩阵。
在图形操做中,卷积过滤器中的全部单元格一般按照固定模式设置为 1 和 0。在机器学习中,卷积过滤器一般先选择随机数字,而后由网络训练出理想值。
卷积层 (convolutional layer)
深度神经网络的一个层,卷积过滤器会在其中传递输入矩阵。如下面的 3x3 卷积过滤器为例:
下面的动画显示了一个由 9 个卷积运算(涉及 5x5 输入矩阵)组成的卷积层。每一个卷积运算都涉及一个不一样的 3x3 输入矩阵切片。由此产生的 3×3 矩阵(右侧)就包含 9 个卷积运算的结果:
卷积神经网络 (convolutional neural network)
一种神经网络,其中至少有一层为卷积层。典型的卷积神经网络包含如下几层的组合:
· 卷积层
· 池化层
· 密集层
卷积神经网络在解决某些类型的问题(如图像识别)上取得了巨大成功。
卷积运算 (convolutional operation) 以下所示的两步数学运算:
1. 对卷积过滤器和输入矩阵切片执行元素级乘法。(输入矩阵切片与卷积过滤器具备相同的等级和大小。)
2. 对生成的积矩阵中的全部值求和。
如下面的 5x5 输入矩阵为例:
如今,如下面这个 2x2 卷积过滤器为例:
每一个卷积运算都涉及一个 2x2 输入矩阵切片。例如,假设咱们使用输入矩阵左上角的 2x2 切片。这样一来,对此切片进行卷积运算将以下所示:
卷积层由一系列卷积运算组成,每一个卷积运算都针对不一样的输入矩阵切片。
成本 (cost)
与损失的含义相同。
交叉熵 (cross-entropy)
对数损失函数向多类别分类问题的一种泛化。交叉熵能够量化两种几率分布之间的差别。另请参阅困惑度。
D
数据分析 (data analysis)
根据样本、测量结果和可视化内容来理解数据。数据分析在首次收到数据集、构建第一个模型以前特别有用。此外,数据分析在理解实验和调试系统问题方面也相当重要。
DataFrame
一种热门的数据类型,用于表示 Pandas 中的数据集。DataFrame 相似于表格。DataFrame 的每一列都有一个名称(标题),每一行都由一个数字标识。
数据集 (data set)
一组样本的集合。
Dataset API (tf.data)
一种高级别的 TensorFlow API,用于读取数据并将其转换为机器学习算法所需的格式。tf.data.Dataset 对象表示一系列元素,其中每一个元素都包含一个或多个张量。tf.data.Iterator 对象可获取 Dataset 中的元素。
决策边界 (decision boundary)
在二元分类或多类别分类问题中,模型学到的类别之间的分界线。例如,在如下表示某个二元分类问题的图片中,决策边界是橙色类别和蓝色类别之间的分界线:
密集层 (dense layer)
与全链接层的含义相同。
深度模型 (deep model)
一种包含多个隐藏层神经网络。深度模型依赖于可训练的非线性关系。与宽度模型相对。
密集特征 (dense feature)
一种大部分值是非零值的特征,一般是浮点值张量。与稀疏特征相对。
设备 (device)
一类可运行 TensorFlow 会话的硬件,包括 CPU、GPU 和 TPU。
离散特征 (discrete feature)
一种特征,包含有限个可能值。例如,某个值只能是“动物”、“蔬菜”或“矿物”的特征即是一个离散特征(或分类特征)。与连续特征相对。
丢弃正则化 (dropout regularization)
正则化的一种形式,在训练神经网络方面很是有用。丢弃正则化的运做机制是,在一个梯度步长中移除从神经网络层中随机选择的固定数量的单元。丢弃的单元越多,正则化效果就越强。这相似于训练神经网络以模拟较小网络的指数级规模集成学习。
动态模型 (dynamic model)
一种以持续更新的方式在线接受训练的模型。也就是说,数据会源源不断地进入这种模型。
E
早停法 (early stopping)
一种正则化方法,是指在训练损失仍能够继续下降以前结束模型训练。使用早停法时,您会在验证数据集的损失开始增大(也就是泛化效果变差)时结束模型训练。
嵌套 (embeddings)
一种以连续值特征表示的分类特征。一般,嵌套是指将高维度向量映射到低维度的空间。例如,咱们能够用如下两种方式分别表示英文句子中的单词:
· 表示成包含百万个元素(高维度)的稀疏向量,其中全部元素都是整数。向量中的每一个单元格都表示一个单独的英文单词,单元格中的值表示相应单词在句子中出现的次数。因为单个英文句子包含的单词不太可能超过 50 个,所以向量中几乎每一个单元格都包含 0。少数非 0 的单元格中将包含一个很是小的整数(一般为 1),该整数表示相应单词在句子中出现的次数。
· 表示成包含数百个元素(低维度)的密集向量,其中每一个元素都存储一个介于 0 到 1 之间的浮点值。这就是一种嵌套。
在 TensorFlow 中,会按反向传播损失训练嵌套,和训练神经网络中的任何其余参数同样。
经验风险最小化 (ERM, empirical risk minimization)
用于选择能够将基于训练集的损失降至最低的函数。与结构风险最小化相对。
集成学习 (ensemble)
多个模型的预测结果的并集。咱们能够经过如下一项或多项来建立集成学习:
· 不一样的初始化
· 不一样的超参数
· 不一样的总体结构
深度模型和宽度模型属于一种集成学习。
周期 (epoch)
在训练时,整个数据集的一次完整遍历,以便不漏掉任何一个样本。所以,一个周期表示(N/批次大小)次训练迭代,其中 N 是样本总数。
Estimator
tf.Estimator 类的一个实例,用于封装负责构建 TensorFlow 图并运行 TensorFlow 会话的逻辑。您能够建立自定义 Estimator(如需相关介绍,请点击此处),也能够实例化其余人预建立的 Estimator。
样本 (example)
数据集的一行。一个样本包含一个或多个特征,此外还可能包含一个标签。包括有标签样本和无标签样本。
F
假负例 (FN, false negative)
被模型错误地预测为负类别的样本。例如,模型推断出某封电子邮件不是垃圾邮件(负类别),但该电子邮件实际上是垃圾邮件。
假正例 (FP, false positive)
被模型错误地预测为正类别的样本。例如,模型推断出某封电子邮件是垃圾邮件(正类别),但该电子邮件其实不是垃圾邮件。
假正例率(false positive rate, 简称 FP 率) ROC 曲线中的 x 轴。FP 率的定义以下:
特征 (feature)
在进行预测时使用的输入变量。
特征列 (tf.feature_column)
指定模型应该如何解读特定特征的一种函数。此类函数的输出结果是全部 Estimators 构造函数的必需参数。
借助 tf.feature_column 函数,模型可对输入特征的不一样表示法轻松进行实验。
“特征列”是 Google 专用的术语。特征列在 Yahoo/Microsoft 使用的 VW 系统中称为“命名空间”(namespace),也称为场(field)。
特征组合 (feature cross)
经过将单独的特征进行组合(求笛卡尔积)而造成的合成特征。特征组合有助于表达非线性关系。
特征工程 (feature engineering)
指如下过程:肯定哪些特征可能在训练模型方面很是有用,而后将日志文件及其余来源的原始数据转换为所需的特征。在 TensorFlow 中,特征工程一般是指将原始日志文件输入到 tf.Example 协议缓冲中。特征工程有时称为特征提取。
特征集 (feature set)
训练机器学习模型时采用的一组特征。例如,对于某个用于预测房价的模型,邮政编码、房屋面积以及房屋情况能够组成一个简单的特征集。
特征规范 (feature spec)
用于描述如何从 tf.Example 协议缓冲中提取特征数据。因为 tf.Example 协议缓冲中只是一个数据容器,所以咱们必须指定如下内容:
· 要提取的数据(即特征的关键信息)
· 数据类型(例如 浮点或 整数)
· 长度(固定或可变)
Estimator API 提供了一些可用来根据给定 FeatureColumns 列表生成特征规范的工具。
少许样本学习 (few-shot learning)
一种机器学习方法(一般用于对象分类),旨在仅经过少许训练样本学习有效的分类器。
全链接层 (fully connected layer)
一种隐藏层,其中的每一个节点均与下一个隐藏层中的每一个节点相连,又称为密集层。
G
泛化 (generalization)
指的是模型依据训练时采用的数据,针对之前未见过的新数据作出正确预测的能力。
广义线性模型 (generalized linear model)
最小二乘回归模型(基于高斯噪声)向其余类型的模型(基于其余类型的噪声,例如泊松噪声或分类噪声)进行的一种泛化。广义线性模型的示例包括:
· 逻辑回归
· 多类别回归
· 最小二乘回归
能够经过凸优化找到广义线性模型的参数。
广义线性模型具备如下特性:
· 最优的最小二乘回归模型的平均预测结果等于训练数据的平均标签。
· 最优的逻辑回归模型预测的平均几率等于训练数据的平均标签。
广义线性模型的功能受其特征的限制。与深度模型不一样,广义线性模型没法“学习新特征”。
梯度 (gradient)
偏导数相对于全部自变量的向量。在机器学习中,梯度是模型函数偏导数的向量。梯度指向最高速上升的方向。
梯度裁剪 (gradient clipping)
在应用梯度值以前先设置其上限。梯度裁剪有助于确保数值稳定性以及防止梯度爆炸。
梯度降低法 (gradient descent)
一种经过计算而且减少梯度将损失降至最低的技术,它以训练数据为条件,来计算损失相对于模型参数的梯度。通俗来讲,梯度降低法以迭代方式调整参数,逐渐找到权重和误差的最佳组合,从而将损失降至最低。
图 (graph)
TensorFlow 中的一种计算规范。图中的节点表示操做。边缘具备方向,表示将某项操做的结果(一个张量)做为一个操做数传递给另外一项操做。可使用 TensorBoard 直观呈现图。
如欲申请产品试用,欢迎添加先荐小助手微信号(ID:recsysfc)。
本帐号为第四范式智能推荐产品先荐的官方帐号。帐号立足于计算机领域,特别是人工智能相关的前沿研究,旨在把更多与人工智能相关的知识分享给公众,从专业的角度促进公众对人工智能的理解;同时也但愿为人工智能相关人员提供一个讨论、交流、学习的开放平台,从而早日让每一个人都享受到人工智能创造的价值。