在特定的时刻标记模型的变量的状态的数据。检查点允许输出模型的权重,也允许通过多个阶段训练模型。检查点还允许跳过错误继续进行(例如,抢占作业)。注意其自身的图式并不包含于检查点内。
类别(class)
所有同类属性的目标值作为一个标签。例如,在一个检测垃圾邮件的二元分类模型中,这两个类别分别是垃圾邮件和非垃圾邮件。而一个多类别分类模型将区分狗的种类,其中的类别可以是贵宾狗、小猎兔狗、哈巴狗等等。
类别不平衡数据集(class-imbalanceddataset)
这是一个二元分类问题,其中两个类别的标签的分布频率有很大的差异。比如,一个疾病数据集中若0.01%的样本有正标签,而99.99%的样本有负标签,那么这就是一个类别不平衡数据集。但对于一个足球比赛预测器数据集,若其中51%的样本标记一队胜利,而49%的样本标记其它队伍胜利,那么这就不是一个类别不平衡数据集。
分类模型(classification)
机器学习模型的一种,将数据分离为两个或多个离散类别。例如,一个自然语言处理分类模型可以将一句话归类为法语、西班牙语或意大利语。分类模型与回归模型(regressionmodel)成对比。
分类阈值(classificationthreshold)
应用于模型的预测分数以分离正类别和负类别的一种标量值标准。当需要将logistic回归的结果映射到二元分类模型中时就需要使用分类阈值。例如,考虑一个确定给定邮件为垃圾邮件的概率的logistic回归模型,如果分类阈值是0.9,那么logistic回归值在0.9以上的被归为垃圾邮件,而在0.9以下的被归为非垃圾邮件。
混淆矩阵(confusionmatrix)
总结分类模型的预测结果的表现水平(即,标签和模型分类的匹配程度)的NxN表格。混淆矩阵的一个轴列出模型预测的标签,另一个轴列出实际的标签。N表示类别的数量。在一个二元分类模型中,N=2。例如,以下为一个二元分类问题的简单的混淆矩阵:
上述混淆矩阵展示了在19个确实为肿瘤的样本中,有18个被模型正确的归类(18个真正),有1个被错误的归类为非肿瘤(1个假负类)。类似的,在458个确实为非肿瘤的样本中,有452个被模型正确的归类(452个真负类),有6个被错误的归类(6个假正类)。
多类别分类的混淆矩阵可以帮助发现错误出现的模式。例如,一个混淆矩阵揭示了一个识别手写数字体的模型倾向于将4识别为9,或者将7识别为1。混淆矩阵包含了足够多的信息可以计算很多的模型表现度量,比如精度(precision)和召回(recall)率。
连续特征(continuousfeature)
拥有无限个取值点的浮点特征。和离散特征(discretefeature)相反。
收敛(convergence)
训练过程达到的某种状态,其中训练损失和验证损失在经过了确定的迭代次数后,在每一次迭代中,改变很小或完全不变。换句话说就是,当对当前数据继续训练而无法再提升模型的表现水平的时候,就称模型已经收敛。在深度学习中,损失值下降之前,有时候经过多次迭代仍保持常量或者接近常量,会造成模型已经收敛的错觉。
凸函数(concexfunction)
一种形状大致呈字母U形或碗形的函数。然而,在退化情形中,凸函数的形状就像一条线。例如,以下几个函数都是凸函数:
凸函数是很常用的损失函数。因为当一个函数有最小值的时候(通常就是这样),梯度下降的各种变化都能保证找到接近函数最小值的点。类似的,随机梯度下降的各种变化有很大的概率(虽然无法保证)找到接近函数最小值的点。
两个凸函数相加(比如,L2损失函数+L1正则化函数)后仍然是凸函数。
深度模型通常是非凸的。出乎意料的是,以凸优化的形式设计的算法通常都能在深度网络上工作的很好,虽然很少能找到最小值。
成本(cost)
loss的同义词。
交叉熵(cross-entropy)
多类别分类问题中对Log损失函数的推广。交叉熵量化两个概率分布之间的区别。参见困惑度(perplexity)。
D
数据集(dataset)
样本的集合。
决策边界(decisionboundary)
在一个二元分类或多类别分类问题中模型学习的类别之间的分离器。例如,下图就展示了一个二元分类问题,决策边界即橙点类和蓝点类的边界。
深度模型(deepmodel)
一种包含多个隐藏层的神经网络。深度模型依赖于其可训练的非线性性质。和宽度模型对照(widemodel)。
密集特征(densefeature)
大多数取值为非零的一种特征,通常用取浮点值的张量(tensor)表示。和稀疏特征(sparsefeature)相反。
派生特征(derivedfeature)
合成特征(syntheticfeature)的同义词。
离散特征(discretefeature)
只有有限个可能取值的一种特征。例如,一个取值只包括动物、蔬菜或矿物的特征就是离散(或类别)特征。和连续特征(continuousfeature)对照。
dropout正则化(dropoutregularization)
训练神经网络时一种有用的正则化方法。dropout正则化的过程是在单次梯度计算中删去一层网络中随机选取的固定数量的单元。删去的单元越多,正则化越强。
动态模型(dynamicmodel)
以连续更新的方式在线训练的模型。即数据连续不断的输入模型。
E
早期停止法(earlystopping)
一种正则化方法,在训练损失完成下降之前停止模型训练过程。当验证数据集(validationdataset)的损失开始上升的时候,即泛化表现变差的时候,就该使用早期停止法了。
嵌入(embeddings)
一类表示为连续值特征的明确的特征。嵌入通常指将高维向量转换到低维空间中。例如,将一个英语句子中的单词以以下任何一种方式表示:
在TensorFlow中,嵌入是通过反向传播损失训练的,正如神经网络的其它参量一样。
经验风险最小化(empiricalriskminimization,ERM)
选择能最小化训练数据的损失的模型函数的过程。和结构风险最小化(structualriskminimization)对照。
集成(ensemble)
多个模型预测的综合考虑。可以通过以下一种或几种方法创建一个集成方法:
深度和广度模型是一种集成。
评估器(Estimator)
样本(example)
一个数据集的一行内容。一个样本包含了一个或多个特征,也可能是一个标签。参见标注样本(labeledexample)和无标注样本(unlabeledexample)。
F
假负类(falsenegative,FN)
被模型错误的预测为负类的样本。例如,模型推断一封邮件为非垃圾邮件(负类),但实际上这封邮件是垃圾邮件。
假正类(falsepositive,FP)
被模型错误的预测为正类的样本。例如,模型推断一封邮件为垃圾邮件(正类),但实际上这封邮件是非垃圾邮件。
假正类率(falsepositiverate,FPrate)
ROC曲线(ROCcurve)中的x轴。FP率的定义是:假正率=假正类数/(假正类数+真负类数)
特征(feature)
输入变量,用于做出预测。
特征列(featurecolumns/FeatureColumn)
TensorFlow中的特征列还可以压缩元数据比如下列情况:
特征交叉(featurecross)
将特征进行交叉(乘积或者笛卡尔乘积)运算后得到的合成特征。特征交叉有助于表示非线性关系。
特征工程(featureengineering)
特征集(featureset)
机器学习模型训练的时候使用的特征群。比如,邮政编码,面积要求和物业状况可以组成一个简单的特征集,使模型能预测房价。
特征定义(featurespec)
描述所需的信息从tf.Example协议缓存中提取特征数据。因为tf.Example协议缓存只是数据的容器,必须明确以下信息:
EstimatorAPI提供了从一群特征列中生成一个特征定义的工具。
完全softmax(fullsoftmax)
参见softmax。和候选采样对照。
G
泛化(generalization)
指模型利用新的没见过的数据而不是用于训练的数据作出正确的预测的能力。
广义线性模型(generalizedlinearmodel)
最小二乘回归模型的推广/泛化,基于高斯噪声,相对于其它类型的模型(基于其它类型的噪声,比如泊松噪声,或类别噪声)。广义线性模型的例子包括:
广义线性模型的参数可以通过凸优化得到,它具有以下性质:
广义线性模型的能力局限于其特征的性质。和深度模型不同,一个广义线性模型无法「学习新的特征」。
梯度(gradient)
所有变量的偏导数的向量。在机器学习中,梯度是模型函数的偏导数向量。梯度指向最陡峭的上升路线。
梯度截断(gradientclipping)
在应用梯度之前先修饰数值,梯度截断有助于确保数值稳定性,防止梯度爆炸出现。
梯度下降(gradientdescent)
图(graph)
在TensorFlow中的一种计算过程展示。图中的节点表示操作。节点的连线是有指向性的,表示传递一个操作(一个张量)的结果(作为一个操作数)给另一个操作。使用TensorBoard能可视化计算图。
H
启发式(heuristic)
一个问题的实际的和非最优的解,但能从学习经验中获得足够多的进步。
隐藏层(hiddenlayer)
神经网络中位于输入层(即特征)和输出层(即预测)之间的合成层。一个神经网络包含一个或多个隐藏层。
折页损失函数(Hingeloss)
loss=max(0,1(y′y))
其中y'是分类器模型的列输出:
y′=b+w_1x_1+w_2x_2+…w_nx_n
y是真实的标签,-1或+1。
测试数据(holdoutdata)
有意不用于训练的样本。验证数据集(validationdataset)和测试数据集(testdataset)是测试数据(holdoutdata)的两个例子。测试数据帮助评估模型泛化到除了训练数据之外的数据的能力。测试集的损失比训练集的损失提供了对未知数据集的损失更好的估计。
超参数(hyperparameter)
连续训练模型的过程中可以拧动的「旋钮」。例如,相对于模型自动更新的参数,学习率(learningrate)是一个超参数。和参量对照。
I
独立同分布(independentlyandidenticallydistributed,i.i.d)
推断(inference)
在机器学习中,通常指将训练模型应用到无标注样本来进行预测的过程。在统计学中,推断指在观察到的数据的基础上拟合分布参数的过程。
输入层(inputlayer)
神经网络的第一层(接收输入数据)。
评分者间一致性(inter-rateragreement)
用来衡量一项任务中人类评分者意见一致的指标。如果意见不一致,则任务说明可能需要改进。有时也叫标注者间信度(inter-annotatoragreement)或评分者间信度(inter-raterreliability)。
K
Kernel支持向量机(KernelSupportVectorMachines/KSVM)
一种分类算法,旨在通过将输入数据向量映射到更高维度的空间使正类和负类之间的边际最大化。例如,考虑一个输入数据集包含一百个特征的分类问题。为了使正类和负类之间的间隔最大化,KSVM从内部将特征映射到百万维度的空间。KSVM使用的损失函数叫作hinge损失。
L
L1损失函数(L1loss)
损失函数基于模型对标签的预测值和真实值的差的绝对值而定义。L1损失函数比起L2损失函数对异常值的敏感度更小。
L1正则化(L1regularization)
L2损失(L2loss)
参见平方损失。
L2正则化(L2regularization)
一种正则化,按照权重平方的总和的比例进行惩罚。L2正则化帮助促使异常值权重更接近0而不趋近于0。(可与L1正则化对照阅读。)L2正则化通常改善线性模型的泛化效果。
标签(label)
在监督式学习中,样本的「答案」或「结果」。标注数据集中的每个样本包含一或多个特征和一个标签。比如,在房屋数据集中,特征可能包括卧室数量、卫生间数量、房龄,而标签可能就是房子的价格。在垃圾邮件检测数据集中,特征可能包括主题、发出者何邮件本身,而标签可能是「垃圾邮件」或「非垃圾邮件」。
标注样本(labeledexample)
包含特征和标签的样本。在监督式训练中,模型从标注样本中进行学习。
lambda
层(layer)
神经网络中的神经元序列,可以处理输入特征序列或神经元的输出。
它也是TensorFlow的一种抽象化概念。层是将张量和配置选项作为输入、输出其他张量的Python函数。一旦必要的张量出现,用户就可以通过模型函数将结果转换成估计器。
学习率(learningrate)
通过梯度下降训练模型时使用的一个标量。每次迭代中,梯度下降算法使学习率乘以梯度,乘积叫作gradientstep。
学习率是一个重要的超参数。
最小二乘回归(leastsquaresregression)
通过L2损失最小化进行训练的线性回归模型。
线性回归(linearregression)
对输入特征的线性连接输出连续值的一种回归模型。
logistic回归(logisticregression)
将sigmoid函数应用于线性预测,在分类问题中为每个可能的离散标签值生成概率的模型。尽管logistic回归常用于二元分类问题,但它也用于多类别分类问题(这种情况下,logistic回归叫作「多类别logistic回归」或「多项式回归」。
对数损失函数(LogLoss)
二元logistic回归模型中使用的损失函数。
损失
度量模型预测与标签距离的指标,它是度量一个模型有多糟糕的指标。为了确定损失值,模型必须定义损失函数。例如,线性回归模型通常使用均方差作为损失函数,而logistic回归模型使用对数损失函数。
M
机器学习(machinelearning)
均方误差(MeanSquaredError/MSE)
每个样本的平均平方损失。MSE可以通过平方损失除以样本数量来计算。TensorFlowPlayground展示「训练损失」和「测试损失」的值是MSE。
小批量(mini-batch)
在训练或推断的一个迭代中运行的整批样本的一个小的随机选择的子集。小批量的大小通常在10到1000之间。在小批量数据上计算损失比在全部训练数据上计算损失要高效的多。
小批量随机梯度下降(mini-batchstochasticgradientdescent)
使用小批量的梯度下降算法。也就是,小批量随机梯度下降基于训练数据的子集对梯度进行评估。VanillaSGD使用size为1的小批量。
模型(model)
模型训练(modeltraining)
确定最佳模型的过程。
动量(Momentum)
多类别(multi-class)
在多于两类的类别中进行分类的分类问题。例如,有约128种枫树,那么分类枫树品种的模型就是多类别的。反之,把电子邮件分成两个类别(垃圾邮件和非垃圾邮件)的模型是二元分类器模型。
N
NaNtrap
训练过程中,如果模型中的一个数字变成了NaN,则模型中的很多或所有其他数字最终都变成NaN。NaN是「NotaNumber」的缩写。
负类(negativeclass)
在二元分类中,一个类别是正类,另外一个是负类。正类就是我们要找的目标,负类是另外一种可能性。例如,医疗测试中的负类可能是「非肿瘤」,电子邮件分类器中的负类可能是「非垃圾邮件」。
神经网络(neuralnetwork)
该模型从大脑中获取灵感,由多个层组成(其中至少有一个是隐藏层),每个层包含简单的连接单元或神经元,其后是非线性。
神经元(neuron)
神经网络中的节点,通常输入多个值,生成一个输出值。神经元通过将激活函数(非线性转换)应用到输入值的加权和来计算输出值。
归一化(normalization)
将值的实际区间转化为标准区间的过程,标准区间通常是-1到+1或0到1。例如,假设某个特征的自然区间是800到6000。通过减法和分割,你可以把那些值标准化到区间-1到+1。参见缩放。
numpy
Python中提供高效数组运算的开源数学库。pandas基于numpy构建。
O
目标(objective)
算法尝试优化的目标函数。
离线推断(offlineinference)
生成一组预测并存储,然后按需检索那些预测。可与在线推断对照阅读。
one-hot编码(one-hotencoding)
一个稀疏向量,其中:
独热编码常用于表示有有限可能值集合的字符串或标识符。例如,假设一个记录了15000个不同品种的植物数据集,每一个用独特的字符串标识符来表示。作为特征工程的一部分,你可能将那些字符串标识符进行独热编码,每个向量的大小为15000。
一对多(one-vs.-all)
给出一个有N个可能解决方案的分类问题,一对多解决方案包括N个独立的二元分类器——每个可能的结果都有一个二元分类器。例如,一个模型将样本分为动物、蔬菜或矿物,则一对多的解决方案将提供以下三种独立的二元分类器:
在线推断(onlineinference)
按需生成预测。可与离线推断对照阅读。
运算(Operation/op)
TensorFlow图中的一个节点。在TensorFlow中,任何创建、控制或损坏张量的步骤都是运算。例如,矩阵乘法是一个把两个张量作为输入、生成一个张量作为输出的运算。
优化器(optimizer)
梯度下降算法的特定实现。TensorFlow的基类优化器是tf.train.Optimizer。不同的优化器(tf.train.Optimizer的子类)对应不同的概念,如:
你甚至可以想象NN-drivenoptimizer。
异常值(outlier)
与大多数值差别很大的值。在机器学习中,下列都是异常值:
异常值往往使模型训练中出现问题。
输出层(outputlayer)
神经网络的「最后」一层。这一层包含整个·模型所寻求的答案。
过拟合(overfitting)
创建的模型与训练数据非常匹配,以至于模型无法对新数据进行正确的预测。
P
pandas
一种基于列的数据分析API。很多机器学习框架,包括TensorFlow,支持pandas数据结构作为输入。参见pandas文档。
参数(parameter)
机器学习系统自行训练的模型的变量。例如,权重是参数,它的值是机器学习系统通过连续的训练迭代逐渐学习到的。可与超参数对照阅读。
参数服务器(ParameterServer/PS)
用于在分布式设置中跟踪模型参数。
参数更新(parameterupdate)
在训练过程中调整模型参数的操作,通常在梯度下降的单个迭代中进行。
偏导数(partialderivative)
一个多变量函数的偏导数是它关于其中一个变量的导数,而保持其他变量恒定。例如,f(x,y)对于x的偏导数就是f(x)的导数,y保持恒定。x的偏导数中只有x是变化的,公式中其他的变量都不用变化。
分区策略(partitioningstrategy)
在多个参数服务器中分割变量的算法。
性能(performance)
具有多种含义:
困惑度(perplexity)
对模型完成任务的程度的一种度量指标。例如,假设你的任务是阅读用户在智能手机上输入的单词的头几个字母,并提供可能的完整单词列表。该任务的困惑度(perplexity,P)是为了列出包含用户实际想输入单词的列表你需要进行的猜测数量。
流程(pipeline)
机器学习算法的基础架构。管道包括收集数据、将数据放入训练数据文件中、训练一或多个模型,以及最终输出模型。
正类(positiveclass)
在二元分类中,有两种类别:正类和负类。正类是我们测试的目标。(不过必须承认,我们同时测试两种结果,但其中一种不是重点。)例如,医疗测试中正类可能是「肿瘤」,电子邮件分类器中的正类可能是「垃圾邮件」。可与负类对照阅读。
精度(precision)
预测(prediction)
模型在输入样本后的输出结果。
预测偏差(predictionbias)
揭示预测的平均值与数据集中标签的平均值的差距。
预制评估器(pre-madeEstimator)
预训练模型(pre-trainedmodel)
已经训练好的模型或模型组件(如嵌入)。有时,你将预训练嵌入馈送至神经网络。其他时候,你的模型自行训练嵌入,而不是依赖于预训练嵌入。
先验信念(priorbelief)
训练开始之前你对数据的信念。例如,L2正则化依赖于权重值很小且正常分布在0周围的信念。
Q
队列(queue)
实现队列数据结构的TensorFlow操作。通常在输入/输出(I/O)中使用。
R
秩(rank)
机器学习领域中包含多种含义的术语:
评分者(rater)
为样本提供标签的人,有时也叫「标注者」。
召回率(recall)
修正线性单元(RectifiedLinearUnit/ReLU)
一种具备以下规则的激活函数:
回归模型(regressionmodel)
一种输出持续值(通常是浮点数)的模型。而分类模型输出的是离散值,如「daylily」或「tigerlily」。
正则化(regularization)
对模型复杂度的惩罚。正则化帮助防止过拟合。正则化包括不同种类:
正则化率(regularizationrate)
一种标量级,用lambda来表示,指正则函数的相对重要性。从下面这个简化的损失公式可以看出正则化率的作用:
minimize(lossfunction+λ(regularizationfunction))
提高正则化率能够降低过拟合,但可能会使模型准确率降低。
表征
将数据映射到有用特征的过程。
受试者工作特征曲线(receiveroperatingcharacteristic/ROCCurve)
反映在不同的分类阈值上,真正类率和假正类率的比值的曲线。参见AUC。
根目录(rootdirectory)
指定放置TensorFlow检查点文件子目录和多个模型的事件文件的目录。
均方根误差(RootMeanSquaredError/RMSE)
均方误差的平方根。
S
Saver
负责存储模型检查点文件的TensorFlow对象。
缩放(scaling)
特征工程中常用的操作,用于控制特征值区间,使之与数据集中其他特征的区间匹配。例如,假设你想使数据集中所有的浮点特征的区间为0到1。给定一个特征区间是0到500,那么你可以通过将每个值除以500,缩放特征值区间。还可参见正则化。
scikit-learn
一种流行的开源机器学习平台。网址:www.scikit-learn.org
序列模型(sequencemodel)
输入具有序列依赖性的模型。例如,根据之前观看过的视频序列对下一个视频进行预测。
会话(session)
保持TensorFlow程序的状态(如变量)。
Sigmoid函数(sigmoidfunction)
在有些神经网络中,sigmoid函数和激活函数一样。
softmax
为多类别分类模型中每个可能的类提供概率的函数。概率加起来的总和是1.0。例如,softmax可能检测到某个图像是一只狗的概率为0.9,是一只猫的概率为0.08,是一匹马的概率为0.02。(也叫作fullsoftmax)。
稀疏特征(sparsefeature)
值主要为0或空的特征向量。比如,一个向量的值有1个1,、一百万个0,则该向量为稀疏向量。再比如,搜索查询中的单词也是稀疏向量:在一种语言中有很多可以用的单词,但给定的查询中只用了其中的一些。
可与稠密特征对照阅读。
平方损失(squaredloss)
线性回归中使用的损失函数(也叫作L2Loss)。该函数计算模型对标注样本的预测值和标签真正值之间差的平方。在平方之后,该损失函数扩大了不良预测的影响。即,平方损失比L1Loss对异常值(outlier)的反应更加强烈。
静态模型(staticmodel)
离线训练的模型。
稳态(stationarity)
步(step)
一个批量中的前向和后向评估。
步长(stepsize)
学习速率(learningrate)乘以偏导数的值,即梯度下降中的步长。
随机梯度下降(stochasticgradientdescent/SGD)
批量大小为1的梯度下降算法。也就是说,SGD依赖于从数据集中随机均匀选择出的一个样本,以评估每一步的梯度。
结构风险最小化(structuralriskminimization/SRM)
这种算法平衡两个目标:
摘要(summary)
在TensorFlow中,特定步计算的值或值的集合,通常用于跟踪训练过程中的模型指标。
监督式机器学习(supervisedmachinelearning)
利用输入数据及其对应标签来训练模型。监督式机器学习类似学生通过研究问题和对应答案进行学习。在掌握问题和答案之间的映射之后,学生就可以提供同样主题的新问题的答案了。可与非监督机器学习对照阅读。
合成特征(syntheticfeature)
不在输入特征中,而是从一个或多个输入特征中派生出的特征。合成特征的类型包括:
由归一化或缩放单独创建的特征不是合成特征。
T
张量(tensor)
TensorFlow项目的主要数据结构。张量是N维数据结构(N的值很大),经常是标量、向量或矩阵。张量可以包括整数、浮点或字符串值。
张量处理单元(TensorProcessingUnit,TPU)
优化TensorFlow性能的ASIC(application-specificintegratedcircuit,专用集成电路)。
张量形状(Tensorshape)
张量的元素数量包含在不同维度中。比如,[5,10]张量在一个维度中形状为5,在另一个维度中形状为10。
张量大小(Tensorsize)
张量包含的标量总数。比如,[5,10]张量的大小就是50。
TensorBoard
展示一个或多个TensorFlow项目运行过程中保存的摘要数据的控制面板。
TensorFlow
大型分布式机器学习平台。该术语还指TensorFlow堆栈中的基础API层,支持数据流图上的通用计算。
尽管TensorFlow主要用于机器学习,但是它也适用于要求使用数据流图进行数值运算的非机器学习任务。
TensorFlowPlayground
TensorFlowServing
帮助训练模型使之可部署到产品中的平台。
测试集(testset)
数据集的子集。模型经过验证集初步测试之后,使用测试集对模型进行测试。可与训练集和验证集对照阅读。
tf.Example
一种标准protocolbuffer,用于描述机器学习模型训练或推断的输入数据。
训练(training)
确定组成模型的完美参数的流程。
训练集(trainingset)
数据集子集,用于训练模型。可与验证集和测试集对照阅读。
真负类(truenegative,TN)
被模型正确地预测为负类的样本。例如,模型推断某封电子邮件不是垃圾邮件,然后该电邮真的不是垃圾邮件。
真正类(truepositive,TP)
被模型正确地预测为正类的样本。例如,模型推断某封电子邮件是垃圾邮件,结果该电邮真的是垃圾邮件。
真正类率(truepositiverate,TPrate)
召回率(recall)的同义词。即:
TruePositiveRate=TruePositives/(TruePositives+FalseNegatives)