谷歌开发者曾经整理了机器学习常见的一些术语与概念。为了便于你们学习,先荐将这些术语与基本概念编译、整理,分两篇文章分享给你们,如下是从A到Z的基本术语与概念。算法
H数组
启发式(heuristic)服务器
一个问题的实际的和非最优的解,但能从学习经验中得到足够多的进步。微信
隐藏层(hidden layer)网络
神经网络中位于输入层(即特征)和输出层(即预测)之间的合成层。一个神经网络包含一个或多个隐藏层。session
合页损失函数(Hinge loss)数据结构
损失函数的一个类型,用于分类模型以寻找距离每一个样本尽量远的决策边界,即最大化样本和边界之间的边缘。KSVMs 使用 hinge 损失函数(或相关的函数,好比平方 hinge 函数)。在二元分类中,hinge 损失函数按如下方式定义:架构
其中 y'是分类器模型的列输出:app
y 是真实的标签,-1 或+1。框架
所以,hinge 损失将是下图所示的样子:
测试数据(holdout data)
有意不用于训练的样本。验证数据集(validation data set)和测试数据集(test data set)是测试数据(holdout data)的两个例子。测试数据帮助评估模型泛化到除了训练数据以外的数据的能力。测试集的损失比训练集的损失提供了对未知数据集的损失更好的估计。
超参数(hyperparameter)
连续训练模型的过程当中能够拧动的「旋钮」。例如,相对于模型自动更新的参数,学习率(learning rate)是一个超参数。和参量对照。
I
独立同等分布(independently and identically distributed,i.i.d)
从不会改变的分布中获取的数据,且获取的每一个值不依赖于以前获取的值。i.i.d. 是机器学习的理想状况——一种有用但在现实世界中几乎找不到的数学构建。例如,网页访客的分布多是短暂时间窗口上的 i.i.d;即分布不会在该时间窗口发生改变,每一个人的访问都与其余人的访问独立。可是,若是你扩展了时间窗口,则会出现网页访客的季节性差别。
推断(inference)
在机器学习中,一般指将训练模型应用到无标注样原本进行预测的过程。在统计学中,推断指在观察到的数据的基础上拟合分布参数的过程。
输入函数 (input function)
在 TensorFlow 中,用于将输入数据返回到 Estimator 的训练、评估或预测方法的函数。例如,训练输入函数会返回训练集中的一批特征和标签。
输入层(input layer)
神经网络的第一层(接收输入数据)。
可解释性 (interpretability)
模型的预测可解释的难易程度。深度模型一般不可解释,也就是说,很难对深度模型的不一样层进行解释。相比之下,线性回归模型和宽度模型的可解释性一般要好得多。
评分者间一致性(inter-rater agreement)
用来衡量一项任务中评分者意见一致的指标。若是意见不一致,则可能须要改进任务说明。有时也叫标注者间信度(inter-annotator agreement)或评分者间信度(inter-rater reliability)。
迭代 (iteration)
模型的权重在训练期间的一次更新。迭代包含计算参数在单批次数据上的梯度损失。
K
Kernel 支持向量机(Kernel Support Vector Machines/KSVM)
一种分类算法,旨在经过将输入数据向量映射到更高维度的空间使正类和负类之间的边际最大化。例如,考虑一个输入数据集包含一百个特征的分类问题。为了使正类和负类之间的间隔最大化,KSVM 从内部将特征映射到百万维度的空间。KSVM 使用的损失函数叫做 hinge 损失。
L
L1 损失函数(L1 loss)
损失函数基于模型对标签的预测值和真实值的差的绝对值而定义。L1 损失函数比起 L2 损失函数对异常值的敏感度更小。
L1 正则化(L1 regularization)
一种正则化,按照权重绝对值总和的比例进行惩罚。在依赖稀疏特征的模型中,L1 正则化帮助促使(几乎)不相关的特征的权重趋近于 0,从而从模型中移除这些特征。
L2 损失(L2 loss)
参见平方损失。
L2 正则化(L2 regularization)
一种正则化,按照权重平方的总和的比例进行惩罚。L2 正则化帮助促使异常值权重更接近 0 而不趋近于 0。(可与 L1 正则化对照阅读。)L2 正则化一般改善线性模型的泛化效果。
标签(label)
在监督式学习中,样本的“答案”或“结果”。标注数据集中的每一个样本包含一或多个特征及一个标签。好比,在房屋数据集中,特征可能包括卧室数量、卫生间数量、房龄,而标签可能就是房子的价格。在垃圾邮件检测数据集中,特征可能包括主题、发出者何邮件自己,而标签多是“垃圾邮件”或“非垃圾邮件”。
标注样本(labeled example)
包含特征和标签的样本。在监督式训练中,模型从标注样本中进行学习。
lambda
正则化率的同义词。(该术语有多种含义。这里,咱们主要关注正则化中的定义。)
层(layer)
神经网络中的神经元序列,能够处理输入特征序列或神经元的输出。
它也是 TensorFlow 的一种抽象化概念。层是将张量和配置选项做为输入、输出其余张量的 Python 函数。一旦必要的张量出现,用户就能够经过模型函数将结果转换成估计器。
学习速率(learning rate)
经过梯度降低训练模型时使用的一个标量。每次迭代中,梯度降低算法使学习率乘以梯度,乘积叫做 gradient step。
学习速率是一个重要的超参数。
最小二乘回归(least squares regression)
经过 L2 损失最小化进行训练的线性回归模型。
线性回归(linear regression)
对输入特征的线性链接输出连续值的一种回归模型。
logistic 回归(logistic regression)
将 sigmoid 函数应用于线性预测,在分类问题中为每一个可能的离散标签值生成几率的模型。尽管 logistic 回归经常使用于二元分类问题,但它也用于多类别分类问题(这种状况下,logistic 回归叫做「多类别 logistic 回归」或「多项式 回归」。
对数损失函数(Log Loss)
二元 logistic 回归模型中使用的损失函数。
损失(Loss)
度量模型预测与标签距离的指标,它是度量一个模型有多糟糕的指标。为了肯定损失值,模型必须定义损失函数。例如,线性回归模型一般使用均方差做为损失函数,而 logistic 回归模型使用对数损失函数。
M
机器学习(machine learning)
利用输入数据构建(训练)预测模型的项目或系统。该系统使用学习的模型对与训练数据相同分布的新数据进行有用的预测。机器学习还指与这些项目或系统相关的研究领域。
均方偏差(Mean Squared Error/MSE)
每一个样本的平均平方损失。MSE 能够经过平方损失除以样本数量来计算。TensorFlow Playground 展现「训练损失」和「测试损失」的值是 MSE。
小批量(mini-batch)
在训练或推断的一个迭代中运行的整批样本的一个小的随机选择的子集。小批量的大小一般在 10 到 1000 之间。在小批量数据上计算损失比在所有训练数据上计算损失要高效的多。
小批量随机梯度降低(mini-batch stochastic gradient descent)
使用小批量的梯度降低算法。也就是,小批量随机梯度降低基于训练数据的子集对 梯度进行评估。Vanilla SGD 使用 size 为 1 的小批量。
模型(model)
机器学习系统从训练数据中所学内容的表示。该术语有多个含义,包括如下两个相关含义:
模型训练(model training)
肯定最佳模型的过程。
动量(Momentum)
一种复杂的梯度降低算法,其中的学习步不仅依赖于当前步的导数,还依赖于先于它的步。动量包括随着时间计算梯度的指数加权移动平均数,相似于物理学中的动量。动量有时能够阻止学习陷于局部最小值。
多类别(multi-class)
在多于两类的类别中进行分类的分类问题。例如,有约 128 种枫树,那么分类枫树品种的模型就是多类别的。反之,把电子邮件分红两个类别(垃圾邮件和非垃圾邮件)的模型是二元分类器模型。
N
NaN trap
训练过程当中,若是模型中的一个数字变成了 NaN,则模型中的不少或全部其余数字最终都变成 NaN。NaN 是「Not a Number」的缩写。
负类(negative class)
在二元分类中,一个类别是正类,另一个是负类。正类就是咱们要找的目标,负类是另一种可能性。例如,医疗测试中的负类多是「非肿瘤」,电子邮件分类器中的负类多是「非垃圾邮件」。
神经网络(neural network)
该模型从大脑中获取灵感,由多个层组成(其中至少有一个是隐藏层),每一个层包含简单的链接单元或神经元,其后是非线性。
神经元(neuron)
神经网络中的节点,一般输入多个值,生成一个输出值。神经元经过将激活函数(非线性转换)应用到输入值的加权和来计算输出值。
归一化(normalization)
将值的实际区间转化为标准区间的过程,标准区间一般是-1 到+1 或 0 到 1。例如,假设某个特征的天然区间是 800 到 6000。经过减法和分割,你能够把那些值标准化到区间-1 到+1。参见缩放。
numpy
Python 中提供高效数组运算的开源数学库。pandas 基于 numpy 构建。
O
目标(objective)
算法尝试优化的目标函数。
离线推断(offline inference)
生成一组预测并存储,而后按需检索那些预测。可与在线推断对照阅读。
one-hot 编码(one-hot encoding)
一个稀疏向量,其中:
独热编码经常使用于表示有有限可能值集合的字符串或标识符。例如,假设一个记录了 15000 个不一样品种的植物数据集,每个用独特的字符串标识符来表示。做为特征工程的一部分,你可能将那些字符串标识符进行独热编码,每一个向量的大小为 15000。
一对多(one-vs.-all)
给出一个有 N 个可能解决方案的分类问题,一对多解决方案包括 N 个独立的二元分类器——每一个可能的结果都有一个二元分类器。例如,一个模型将样本分为动物、蔬菜或矿物,则一对多的解决方案将提供如下三种独立的二元分类器:
在线推断(online inference)
按需生成预测。可与离线推断对照阅读。
运算(Operation/op)
TensorFlow 图中的一个节点。在 TensorFlow 中,任何建立、控制或损坏张量的步骤都是运算。例如,矩阵乘法是一个把两个张量做为输入、生成一个张量做为输出的运算。
优化器(optimizer)
梯度降低算法的特定实现。TensorFlow 的基类优化器是 tf.train.Optimizer。不一样的优化器(tf.train.Optimizer 的子类)对应不一样的概念,如:
咱们还能够想象 NN-driven optimizer。
异常值(outlier)
与大多数值差异很大的值。在机器学习中,下列都是异常值:
异常值每每使模型训练中出现问题。
输出层(output layer)
神经网络的「最后」一层。这一层包含整个·模型所寻求的答案。
过拟合(overfitting)
建立的模型与训练数据很是匹配,以致于模型没法对新数据进行正确的预测。
P
pandas
一种基于列的数据分析 API。不少机器学习框架,包括 TensorFlow,支持 pandas 数据结构做为输入。参见 pandas 文档。
参数(parameter)
机器学习系统自行训练的模型的变量。例如,权重是参数,它的值是机器学习系统经过连续的训练迭代逐渐学习到的。可与超参数对照阅读。
参数服务器(Parameter Server/PS)
用于在分布式设置中跟踪模型参数。
参数更新(parameter update)
在训练过程当中调整模型参数的操做,一般在梯度降低的单个迭代中进行。
偏导数(partial derivative)
一个多变量函数的偏导数是它关于其中一个变量的导数,而保持其余变量恒定。例如,f(x, y) 对于 x 的偏导数就是 f(x) 的导数,y 保持恒定。x 的偏导数中只有 x 是变化的,公式中其余的变量都不用变化。
分区策略(partitioning strategy)
在多个参数服务器中分割变量的算法。
性能(performance)
具备多种含义:
困惑度(perplexity)
对模型完成任务的程度的一种度量指标。例如,假设你的任务是阅读用户在智能手机上输入的单词的头几个字母,并提供可能的完整单词列表。该任务的困惑度(perplexity,P)是为了列出包含用户实际想输入单词的列表你须要进行的猜想数量。
困惑度和交叉熵的关系以下:
流程(pipeline)
机器学习算法的基础架构。管道包括收集数据、将数据放入训练数据文件中、训练一或多个模型,以及最终输出模型。
正类(positive class)
在二元分类中,有两种类别:正类和负类。正类是咱们测试的目标。(不过必须认可,咱们同时测试两种结果,但其中一种不是重点。)例如,医疗测试中正类多是「肿瘤」,电子邮件分类器中的正类多是「垃圾邮件」。可与负类对照阅读。
精度(precision)
分类模型的一种指标。准确率指模型预测正类时预测正确的频率。即:
预测(prediction)
模型在输入样本后的输出结果。
预测误差(prediction bias)
揭示预测的平均值与数据集中标签的平均值的差距。
预制评估器(pre-made Estimator)
已经构建好的评估器。TensorFlow 提供多个预制评估器,包括 DNNClassifier、DNNRegressor 和 LinearClassifier。咱们能够根据指导(www.tensorflow.org/extend/esti…)构建本身的预制评估器。
预训练模型(pre-trained model)
已经训练好的模型或模型组件(如嵌入)。有时,咱们将预训练嵌入馈送至神经网络。其余时候,咱们的模型自行训练嵌入,而不是依赖于预训练嵌入。
先验信念(prior belief)
训练开始以前咱们对数据的信念。例如,L2 正则化依赖于权重值很小且正常分布在 0 周围的信念。
Q
队列(queue)
实现队列数据结构的 TensorFlow 操做。一般在输入/输出(I/O)中使用。
R
秩(rank)
机器学习领域中包含多种含义的术语:
评分者(rater)
为样本提供标签的人,有时也叫「标注者」。
召回率(recall)
分类模型的一个指标,能够回答这个问题:模型可以准确识别多少正标签?即:
修正线性单元(Rectified Linear Unit/ReLU)
一种具有如下规则的激活函数:
回归模型(regression model)
一种输出持续值(一般是浮点数)的模型。而分类模型输出的是离散值,如「day lily」或「tiger lily」。
正则化(regularization)
对模型复杂度的惩罚。正则化帮助防止过拟合。正则化包括不一样种类:
正则化率(regularization rate)
一种标量级,用 lambda 来表示,指正则函数的相对重要性。从下面这个简化的损失公式能够看出正则化率的做用:
提升正则化率可以下降过拟合,但可能会使模型准确率下降。
表征
将数据映射到有用特征的过程。
受试者工做特征曲线(receiver operating characteristic/ROC Curve)
反映在不一样的分类阈值上,真正类率和假正类率的比值的曲线。参见 AUC。
根目录(root directory)
指定放置 TensorFlow 检查点文件子目录和多个模型的事件文件的目录。
均方根偏差(Root Mean Squared Error/RMSE)
均方偏差的平方根。
S
Saver
负责存储模型检查点文件的 TensorFlow 对象。
缩放(scaling)
特征工程中经常使用的操做,用于控制特征值区间,使之与数据集中其余特征的区间匹配。例如,假设你想使数据集中全部的浮点特征的区间为 0 到 1。给定一个特征区间是 0 到 500,那么你能够经过将每一个值除以 500,缩放特征值区间。还可参见正则化。
scikit-learn
一种流行的开源机器学习平台。网址:www.scikit-learn.org
序列模型(sequence model)
输入具备序列依赖性的模型。例如,根据以前观看过的视频序列对下一个视频进行预测。
会话(session)
保持 TensorFlow 程序的状态(如变量)。
Sigmoid 函数(sigmoid function)
把 logistic 或多项式回归输出(对数概率)映射到几率的函数,返回的值在 0 到 1 之间。sigmoid 函数的公式以下:
其中σ在 logistic 回归问题中只是简单的:
在有些神经网络中,sigmoid 函数和激活函数同样。
softmax
为多类别分类模型中每一个可能的类提供几率的函数。几率加起来的总和是 1.0。例如,softmax 可能检测到某个图像是一只狗的几率为 0.9,是一只猫的几率为 0.08,是一匹马的几率为 0.02。(也叫做 full softmax)。
稀疏特征(sparse feature)
值主要为 0 或空的特征向量。好比,一个向量的值有 1 个 1,、一百万个 0,则该向量为稀疏向量。再好比,搜索查询中的单词也是稀疏向量:在一种语言中有不少能够用的单词,但给定的查询中只用了其中的一些。
可与稠密特征对照阅读。
平方损失(squared loss)
线性回归中使用的损失函数(也叫做 L2 Loss)。该函数计算模型对标注样本的预测值和标签真正值之间差的平方。在平方以后,该损失函数扩大了不良预测的影响。即,平方损失比 L1 Loss 对异常值(outlier)的反应更增强烈。
静态模型(static model)
离线训练的模型。
稳态(stationarity)
数据集中的一种数据属性,数据分布在一或多个维度中保持不变。一般状况下,维度是时间,意味着具有平稳性的数据不会随着时间发生变化。好比,具有平稳性的数据从 9 月到 12 月不会改变。
步(step)
一个批量中的前向和后向评估。
步长(step size)
学习速率(learning rate)乘以偏导数的值,即梯度降低中的步长。
随机梯度降低(stochastic gradient descent/SGD)
批量大小为 1 的梯度降低算法。也就是说,SGD 依赖于从数据集中随机均匀选择出的一个样本,以评估每一步的梯度。
结构风险最小化(structural risk minimization/SRM)
这种算法平衡两个目标:
好比,在训练集上的损失最小化 + 正则化的模型函数就是结构风险最小化算法。更多信息,参见 www.svms.org/srm/。可与经验风险最小化对照阅读。
摘要(summary)
在 TensorFlow 中,特定步计算的值或值的集合,一般用于跟踪训练过程当中的模型指标。
监督式机器学习(supervised machine learning)
利用输入数据及其对应标签来训练模型。监督式机器学习相似学生经过研究问题和对应答案进行学习。在掌握问题和答案之间的映射以后,学生就能够提供一样主题的新问题的答案了。可与非监督机器学习对照阅读。
合成特征(synthetic feature)
不在输入特征中,而是从一个或多个输入特征中派生出的特征。合成特征的类型包括:
由归一化或缩放单首创建的特征不是合成特征。
T
张量(tensor)
TensorFlow 项目的主要数据结构。张量是 N 维数据结构(N 的值很大),常常是标量、向量或矩阵。张量能够包括整数、浮点或字符串值。
张量处理单元(Tensor Processing Unit,TPU)
优化 TensorFlow 性能的 ASIC(application-specific integrated circuit,专用集成电路)。
张量形状(Tensor shape)
张量的元素数量包含在不一样维度中。好比,[5, 10] 张量在一个维度中形状为 5,在另外一个维度中形状为 10。
张量大小(Tensor size)
张量包含的标量总数。好比,[5, 10] 张量的大小就是 50。
TensorBoard
展现一个或多个 TensorFlow 项目运行过程当中保存的摘要数据的控制面板。
TensorFlow
大型分布式机器学习平台。该术语还指 TensorFlow 堆栈中的基础 API 层,支持数据流图上的通用计算。
尽管 TensorFlow 主要用于机器学习,可是它也适用于要求使用数据流图进行数值运算的非机器学习任务。
TensorFlow Playground
一个能够看到不一样超参数对模型(主要是神经网络)训练的影响的平台。前往 playground.tensorflow.org,使用 TensorFlow Playground。
TensorFlow Serving
帮助训练模型使之可部署到产品中的平台。
测试集(test set)
数据集的子集。模型通过验证集初步测试以后,使用测试集对模型进行测试。可与训练集和验证集对照阅读。
tf.Example
一种标准 protocol buffer,用于描述机器学习模型训练或推断的输入数据。
训练(training)
肯定组成模型的完美参数的流程。
训练集(training set)
数据集子集,用于训练模型。可与验证集和测试集对照阅读。
真负类(true negative,TN)
被模型正确地预测为负类的样本。例如,模型推断某封电子邮件不是垃圾邮件,而后该电邮真的不是垃圾邮件。
真正类(true positive,TP)
被模型正确地预测为正类的样本。例如,模型推断某封电子邮件是垃圾邮件,结果该电邮真的是垃圾邮件。
真正类率(true positive rate,TP rate)
召回率(recall)的同义词。即:
TruePositiveRate=TruePositives/(TruePositives+FalseNegatives)
真正类率是 ROC 曲线的 y 轴。
U
无标签样本(unlabeled example)
包含特征但没有标签的样本。无标签样本是推断的输入。在半监督学习和无监督学习的训练过程当中,一般使用无标签样本。
无监督机器学习(unsupervised machine learning)
训练一个模型寻找数据集(一般是无标签数据集)中的模式。
无监督机器学习最经常使用于将数据分红几组相似的样本。例如,无监督机器学习算法能够根据音乐的各类属性聚类数据。用这种方式收集的数据能够做为其余机器学习算法(如音乐推荐服务)的输入。聚类在难以获取真正标签的情景中很是有用。例如,在反欺诈和反滥用的情景中,聚类能够帮助人类更好地理解数据。
无监督机器学习的另外一个例子是主成分分析(principal component analysis,PCA)。如,将 PCA 应用于包含数百万购物车内容的数据集中时,就有可能发现有柠檬的购物车每每也有解酸剂。可与监督式机器学习对照阅读。
V
验证集(validation set)
数据集的一个子集(与训练集不一样),可用于调整超参数。可与训练集和测试集对照阅读。
W
权重(weight)
线性模型中的特征系数,或者深度网络中的边缘。线性模型的训练目标是为每一个特征肯定一个完美的权重。若是权重为 0,则对应的特征对模型而言是无用的。
宽度模型(wide model)
线性模型一般具有不少稀疏输入特征。咱们称之为“宽度”模型,因其具备大量与输出节点直接链接的输入,是一种特殊类型的神经网络。宽模型一般比深度模型更容易调试(debug)和检查。尽管宽模型没法经过隐藏层表达非线性,但它们可使用特征交叉和 bucketization 等转换用不一样方式对非线性建模。与深度模型相对。
如欲申请产品试用,欢迎添加先荐小助手微信号(ID:recsysfc)。
本帐号为第四范式智能推荐产品先荐的官方帐号。帐号立足于计算机领域,特别是人工智能相关的前沿研究,旨在把更多与人工智能相关的知识分享给公众,从专业的角度促进公众对人工智能的理解;同时也但愿为人工智能相关人员提供一个讨论、交流、学习的开放平台,从而早日让每一个人都享受到人工智能创造的价值。