使用S计划Model S训练会不会太枯燥?

一旦网络被编译,它就可以拟合,这意味着适应训练数据集上的权重。拟合网络需要指定训练数据集,包括输入模式的性能指标(Metrics)X以及和输出类型匹配的数组 y。网络采用基于时间的反向传播算法进行训练,并根据优化算法和损失函数特性对模型进行优化。

反向传播算法要求对网络进行训练数据集中的所有序列进行特定数量的周期或者暴露训练集中的所有序列。每个周期(epoch)可以被分为成组的输入-输出模式对,这被称为批次(batches)。这定义了网络在一个时代内更新权重之前所暴露的模式的数量。它也是一种有效的优化,确保在一段时间内没有太多的输入模式被加载到存储器中。

  • Epoch。遍历训练数据集中的所有样本,并更新网络权重。LSTM可以训练及时、几百或者数千个周期(epoch)。

  • Batch。通过训练数据集中的样本子集,然后更新网络权值。一个周期(epoch)是由一个或者多个批次(batch)组成的。

下面是batch size一些常用的配置:

  • batch_size=1。在每个样本之后更新权重,并且该过程被称为随机梯度下降。

  • batch_size=32。通常的值是32,64和128,调整来符合预期的效率和模型更新速率。如果批大小(batch size)不是一个周期(epoch)中一个样本数量的因素,那么在周期(epoch)的结尾,则在结束时运行剩余样本的一个额外的批大小(batch size)。

  • batch_size=n。其中,n是训练数据集的样本数。权重在每个周期(epoch)中被更新,这个过程被称为批梯度下降(batch gradient descent)。

一旦拟合,返回一个历史对象,该对象在训练期间提供对模型姓名的总结。当编译模型的时候,这包含损失和任何的额外的性能指标(Metrics)被指定,并在每个周期(epoch)被记录。这些性能指标(Metrics)可以被记录、绘制和分析,以了解网络在训练数据集上是过拟合(overfitting)还是欠拟合(underfittting)。

根据网络规模和训练数据的大小,训练可能会花费很长的时间,从秒到数天。默认情况下,进度条显示在每个epoch的命令行上。这可能会对你造成很多的噪音,或者会对你的环境造成问题,比如你在一个交互式的笔记本或者IDE中。你可以通过将 verbose参数设置为2来将显示的信息量减少到仅损失的每个周期(epoch)。你可以通过设置 verbose为0。例如:

一旦网络被训练,它就可以被评估。网络可以对训练数据进行评估,但是这不会作为预测模型提供网络性能的有用指示,因为它以前见过所有这些数据。我们可以在一个单独的数据集上评估网络的性能,在测试期间看不见。在未来对于看不见的数据,这将提供网络性能的估计。

该模型评估了所有测试模式的损失,以及模型编译时的任何其他度量,如分类精度。返回一个评估的度量表。如,对于使用精度度量编译模型,我们可以在新的数据集上对其进行评估如下:

与网络一样,提出 verbose输出的概念是为了评价模型的进度。我们可以通过将 verbose参数设置为0来关闭这个。

一旦对我们的拟合模型的性能感到满意,我们可以用它来预测新的数据。这就在带有新输入模式数组的模型上调用 predict()函数一样简单。例如:

表 4.14 在拟合LSTM模型上预测的例子

预测将以网络的输出层提供的格式返回。在回归问题的情况下,这些预测可以直接和线性激活函数提供问题的格式一样。

对于一个二分类问题,预测可以使第一类的概率数组,它可以通过舍入转换为1或0。对于一个多分类问题,结果可能是一个概率数组的形式(假设是一个one hot编码输出变量),它可能需要使用NumPy的argmax()函数转换成单类输出预测。另外,对于分类问题,我们可以使用 predict_classes()函数来自动地将不清晰的预测转换为清晰的整数类值。

表 4.15 拟合LSTM模型上预测类别的例子

随着对网络的拟合和评估, verbose被输出以便用于反映模型预测的进度。我们可以通过将 verbose参数设置为0来关闭这个。

根据拟合LSTM模型来预测将会在第十三章中详细的讲述。

每个LSTM存储单元都保持着积累的内部状态。这种内部状态可能需要在网络训练和预测时对序列问题进行详细的管理。默认情况下,网络中的所有LSTM存储单元的内部状态在每个批次之后被重置,例如,当网络权重被更新时。这意味着批次大小的配置在三个时期上施加了张力:

  • 学习的正确性,或更新前处理多少个样本;

  • 学习的速度,或者权重的更新频率;

  • 内部状态,或内部状态重置频率。

通过顶一个LSTM层作为状态,Keras提供了将内部状态更新重置的很灵活的方式。这可以通过将LSTM层上的状态参数设置为true来实现。当使用状态LSTM层时,还必须通过设置输入形状参数来确定网络中输入形状的批大小(batch size),并且批处理大小必须是训练数据集中样本数量的一个因素。

批输入(batch input)形状参数需要一个定义为批处理大小、时间步长和特征的三维数组。

例如,我们可以定义一个状态LSTM,在训练数据集上训练100个样本,10个批次大小(batch size),1个特征的5个时间步长,如下:

表 4.17 定义一个带状态的LSTM层的例子

状态LSTM不会在每个批次结束时重置内部传状态。相反,您可以通过调用 reset_states()函数对何时重置内部状态进行细粒度控制。例如,我们可能希望在每个周期(epoch)结束时重置内部状态,我们可以这样做:

表 4.18 一个状态LSTM手动迭代训练批次的例子

在进行预测时,也必须使用相同状态的LSTM中的相同批次大小(batch size)。

LSTM层的内部状态也在评估网络和进行预测时积累。因此,如果使用的是状态LSTM,则必须在验证数据集或者预测之后对网络进行重置状态。

在默认情况下,一个周期(epoch)的状态被洗牌。在使用神经网络的多层感知机进行工作的时候这是一个很好的做法。如果您尝试在样本间保存状态,那么训练数据集中的样本顺序可能是重要的并且必须保留。这可以通过设置 shuffle参数为False来完成,例如:

为了使这个更具体,下面是管理状态的3个常见的例子:

  • 在每个序列结束的时候进行预测,并且序列是独立的。状态应该在每个序列之后重置,通过将批次大小设置为1。

  • 长序列被分割成多个子序列(每个样本具有许多的时间步长)。状态应该在网络暴露于整个序列之后通过LSTM状态化,关闭子序列的洗牌(shuffling),并在每个周期(epoch)之后重置状态之后被重置。

  • 一个非常长的子序列被分成多个子序列(每个样本有许多时间步长)。训练质量比长期内部状态更重要,使用128个样本的批次大小(batch size),然后更新网络权重和状态重置。

我鼓励你头脑风暴你的序列预测问题和网络配置的许多不同的框架,测试和选择那些在预测误差方面最有希望的模型。

很难理解如何准备您的序列数据以输入到LSTM模型。通常,围绕如何定义LSTM模型的输入层存在混淆。关于如何将您的序列数据转换为一维或二维的数字矩阵到LSTM输入层所需的3D格式也存在混淆。在这一节中,您将通过两个示例来修改序列数据,并将输入层改为LSTM模型。

考虑一个具有多个时间步长和一个特征的序列。例如,这可以是10个值的序列:

我们可以将这个序列的数字定义为NumPy数组。

表 4.22 将一个序列定义为NumPy数组的例子

我们可以使用NumPy的 reshape()函数来将这个一维数组变成三维数组,每个时间步长上有1个样本、10个时间步长和一个特征。在数组上调用时, reshape()函数采用一个参数,它是数组的新的形状。我们不能传递任何一组数字,变换必须要均匀地重新排列数组中的数据。

表 4.23 变换一个数组的例子

一旦变换了,我们可以输出数组新的形状。

表 4.24 打印序列新形状的例子

将所有的都放在一起,完整的例子展示如下:

表 4.25 变换一个样本的例子

运行例子打印单个样本的3D形状。

表 4.26 单个样本变型输出的例子

表 4.27 定义LSTM模型输入层的例子

考虑到你的模型可能有多个并行序列作为输入的情况。例如,下面是有10个值的两个并行的序列:

表 4.28 并行序列的例子

我们可以将这些数据定义为2列10行的数据:

表 4.29 将并行序列定义为一个NumPy数组的例子

这个数据可以被化为具有10个时间步长和2个特征的1个样本,它可以变形为3D数组如下:

表 4.30 变形一个序列的例子

将所有这些放在一起,完整的例子显示如下:

表 4.31 变形并行序列的例子

运行例子,打印单个样本新的3D形状如下:

表 4.32 变换并行序列输出的例子

表 4.33 定义LSTM模型输入层的例子

本章节列出了一些帮助您准备LSTM输入数据的提示:

  • LSTM输入层必须是3D的;

  • 3个输入维度的含义是:样本、时间步长和特征。

  • LSTM输入层在输入隐藏层上由输入形状参数决定。

  • 输入形状参数采用两个值的元组,以减少时间步长和特征的数量。

  • 假设样本的数量是1个或者更多。

  • reshape()函数将元组作为新的形状的参数。

本章节提供一些用于扩展阅读的资料。

你想深入了解Keras中LSTMs的生命周期吗?这个章节列出了本课程中一些具有挑战性的扩展。

  • 列出5个序列预测的问题并重点说明怎么样将数据分割成为样本、时间步长以及特征;

  • 列出5个序列预测问题并单独指出每个输出层的激活函数;

  • 研究Keras矩阵以及损失函数,并列出5个可以用于回归序列预测问题和分类序列预测问题的5个矩阵;

  • 研究Keras历史对象并编写示例代码来创建Matplotlib的线图,该图是从拟合一个LSTM模型捕获的矩阵;

  • 列出5个序列预测问题,以及如何使得网络更好地管理每个节点的内部状态。

在网上发布你的扩展并与我分享链接。我很想知道你是怎么样想的!

在本课程中,你发现了使用Keras库的LSTM循环神经网络的5步生命周期。特别地,你学到了:

  • 怎么样定义一个LSTM模型,包括怎么样去将你的数据变型为所需要的3D输入;

  • 怎么样定义和评价你的LSTM模型,以及怎么样使用它在新数据上做预测;

  • 怎么样对模型中的内部状态以及当其重置时进行细粒度的控制。

您在微信公众号后台回复“LSTM”可获取此书的电子版。

下周一预告:序列预测建模

作者介绍:邵洲,在读博士。研究兴趣:数据挖掘、学者迁徙研究。

由清华大学—中国工程院知识智能联合研究中心举办的知识·智能系列报告会将于2019年1月份举行第1期,届时会邀请学术界的大咖来跟大家分享,大家最想看到哪个主题?请投上您宝贵的一票!!!

一种统计方法,用于将两种或多种技术进行比较,一般是将当前采用的技术与新技术进行比较。A/B 测试不只旨在肯定哪一种技术的效果更好,并且还有助于了解相应差别是否具备显著的统计意义。A/B 测试一般是采用一种衡量方式对两种技术进行比较,但也适用于任意有限数量的技术和衡量方式。数组

分类模型预测准确的比例。在多类别分类中,准确率定义以下:服务器

在二分类中,准确率定义为:网络

一种函数(例如 ReLU 或 S 型函数),用于对上一层的全部输入求加权和,而后生成一个输出值(一般为非线性值),并将其传递给下一层。

一种先进的梯度降低法,用于从新调整每一个参数的梯度,以便有效地为每一个参数指定独立的学习速率。如需查看完整的解释,请参阅这篇论文。

一种会考虑全部可能分类阈值的评估指标。

ROC 曲线下面积是,对于随机选择的正类别样本确实为正类别,以及随机选择的负类别样本为正类别,分类器更确信前者的几率。

在神经网络上执行梯度降低法的主要算法。该算法会先按前向传播方式计算(并缓存)每一个节点的输出值,而后再按反向传播遍历图的方式计算损失函数值相对于每一个参数的偏导数。

一种简单的模型或启发法,用做比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

一个批次中的样本数。例如,SGD 的批次大小为 1,而小批次的大小一般介于 10 到 1000 之间。批次大小在训练和推断期间一般是固定的;不过,TensorFlow 容许使用动态批次大小。

距离原点的截距或偏移。误差(也称为误差项)在机器学习模型中用 b 或 w0 表示。例如,在下面的公式中,误差为 b:

一种分类任务,可输出两种互斥类别之一。例如,对电子邮件进行评估并输出“垃圾邮件”或“非垃圾邮件”的机器学习模型就是一个二元分类器。

将一个特征(一般是连续特征)转换成多个二元特征(称为桶或箱),一般根据值区间进行转换。例如,您能够将温度区间分割为离散分箱,而不是将温度表示成单个连续的浮点特征。假设温度数据可精确到小数点后一位,则能够将介于 0.0 到 15.0 度之间的全部温度都纳入一个分箱,将介于 15.1 到 30.0 度之间的全部温度纳入第二个分箱,并将介于 30.1 到 50.0 度之间的全部温度纳入第三个分箱。

一种预测后调整,一般是为了下降预测误差的影响。调整后的预测和几率应与观察到的标签集的分布一致。

一种训练时进行的优化,会使用某种函数(例如 softmax)针对全部正类别标签计算几率,但对于负类别标签,则仅针对其随机样本计算几率。例如,若是某个样本的标签为“小猎犬”和“狗”,则候选采样将针对“小猎犬”和“狗”类别输出以及其余类别(猫、棒棒糖、栅栏)的随机子集计算预测几率和相应的损失项。这种采样基于的想法是,只要正类别始终获得适当的正加强,负类别就能够从频率较低的负加强中进行学习,这确实是在实际中观察到的状况。候选采样的目的是,经过不针对全部负类别计算预测结果来提升计算效率。

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。经过将 house style 表示成分类数据,相应模型能够学习 Tudor、ranch 和 colonial 分别对房价的影响。

有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只容许一个样本有一个值 (Toyota)。在其余状况下,则能够应用多个值。一辆车可能会被喷涂多种不一样的颜色,所以,car color 分类特征可能会容许单个样本具备多个值(例如 red 和 white)。

分类特征有时称为离散特征。

一种数据,用于捕获模型变量在特定时间的状态。借助检查点,能够导出模型权重,跨多个会话执行训练,以及使训练在发生错误以后得以继续(例如做业抢占)。请注意,图自己不包含在检查点中。

为标签枚举的一组目标值中的一个。例如,在检测垃圾邮件的二元分类模型中,两种类别分别是“垃圾邮件”和“非垃圾邮件”。在识别狗品种的多类别分类模型中,类别能够是“贵宾犬”、“小猎犬”、“哈巴犬”等等。

一种二元分类问题,在此类问题中,两种类别的标签在出现频率方面具备很大的差距。例如,在某个疾病数据集中,0.0001 的样本具备正类别标签,0.9999 的样本具备负类别标签,这就属于分类不平衡问题;但在某个足球比赛预测器中,0.51 的样本的标签为其中一个球队赢,0.49 的样本的标签为另外一个球队赢,这就不属于分类不平衡问题。

一种机器学习模型,用于区分两种或多种离散类别。例如,某个天然语言处理分类模型能够肯定输入的句子是法语、西班牙语仍是意大利语。请与回归模型进行比较。

一种标量值条件,应用于模型预测的得分,旨在将正类别与负类别区分开。将逻辑回归结果映射到二元分类时使用。以某个逻辑回归模型为例,该模型用于肯定指定电子邮件是垃圾邮件的几率。若是分类阈值为 0.9,那么逻辑回归值高于 0.9 的电子邮件将被归类为“垃圾邮件”,低于 0.9 的则被归类为“非垃圾邮件”。

将关联的样本分红一组,通常用于非监督式学习。在全部样本均分组完毕后,相关人员即可选择性地为每一个聚类赋予含义。

聚类算法有不少。例如,k-means 算法会基于样本与形心的接近程度聚类样本,以下图所示:

以后,研究人员即可查看这些聚类并进行其余操做,例如,将聚类 1 标记为“矮型树”,将聚类 2 标记为“全尺寸树”。

再举一个例子,例如基于样本与中心点距离的聚类算法,以下所示:

根据不少其余用户的兴趣来预测某位用户的兴趣。协同过滤一般用在推荐系统中。

一种 NxN 表格,用于总结分类模型的预测效果;即标签和模型预测的分类之间的关联。在混淆矩阵中,一个轴表示模型预测的标签,另外一个轴表示实际标签。N 表示类别个数。在二元分类问题中,N=2。例如,下面显示了一个二元分类问题的混淆矩阵示例:

上面的混淆矩阵显示,在 19 个实际有肿瘤的样本中,该模型正确地将 18 个归类为有肿瘤(18 个正例),错误地将 1 个归类为没有肿瘤(1 个假负例)。一样,在 458 个实际没有肿瘤的样本中,模型归类正确的有 452 个(452 个负例),归类错误的有 6 个(6 个假正例)。

多类别分类问题的混淆矩阵有助于肯定出错模式。例如,某个混淆矩阵能够揭示,某个通过训练以识别手写数字的模型每每会将 4 错误地预测为 9,将 7 错误地预测为 1。

混淆矩阵包含计算各类效果指标(包括精确率和召回率)所需的充足信息。

一种浮点特征,可能值的区间不受限制。与离散特征相对。

通俗来讲,收敛一般是指在训练期间达到的一种状态,即通过必定次数的迭代以后,训练损失和验证损失在每次迭代中的变化都很是小或根本没有变化。也就是说,若是采用当前数据进行额外的训练将没法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终降低以前的屡次迭代中保持不变或几乎保持不变,暂时造成收敛的假象。

一种函数,函数图像以上的区域为凸集。典型凸函数的形状相似于字母 U。例如,如下都是凸函数:

典型凸函数的形状相似于字母 U。

相反,如下函数则不是凸函数。请注意图像上方的区域如何不是凸集:

严格凸函数只有一个局部最低点,该点也是全局最低点。经典的 U 形函数都是严格凸函数。不过,有些凸函数(例如直线)则不是这样。

不少常见的损失函数(包括下列函数)都是凸函数:

  • L2 正则化 梯度降低法的不少变体都必定能找到一个接近严格凸函数最小值的点。一样,随机梯度降低法的不少变体都有很高的可能性可以找到接近严格凸函数最小值的点(但并不是必定能找到)。

两个凸函数的和(例如 L2 损失函数 + L1 正则化)也是凸函数。

深度模型毫不会是凸函数。值得注意的是,专门针对凸优化设计的算法每每总能在深度网络上找到很是好的解决方案,虽然这些解决方案并不必定对应于全局最小值。

使用数学方法(例如梯度降低法)寻找凸函数最小值的过程。机器学习方面的大量研究都是专一于如何经过公式将各类问题表示成凸优化问题,以及如何更高效地解决这些问题。

欧几里得空间的一个子集,其中任意两点之间的连线仍彻底落在该子集内。例如,下面的两个图形都是凸集:

矩形和半椭圆形都是凸集。

相反,下面的两个图形都不是凸集:

缺乏一块的饼图以及烟花图都是非凸集。

简单来讲,卷积在数学中指两个函数的组合。在机器学习中,卷积结合使用卷积过滤器和输入矩阵来训练权重。

机器学习中的“卷积”一词一般是卷积运算或卷积层的简称。

若是没有卷积,机器学习算法就须要学习大张量中每一个单元格各自的权重。例如,用 2K x 2K 图像训练的机器学习算法将被迫找出 400 万个单独的权重。而使用卷积,机器学习算法只需在卷积过滤器中找出每一个单元格的权重,大大减小了训练模型所需的内存。在应用卷积过滤器后,它只需跨单元格进行复制,每一个单元格都会与过滤器相乘。

卷积运算中的两个参与方之一。(另外一个参与方是输入矩阵切片。)卷积过滤器是一种矩阵,其等级与输入矩阵相同,但形状小一些。以 28×28 的输入矩阵为例,过滤器能够是小于 28×28 的任何二维矩阵。

在图形操做中,卷积过滤器中的全部单元格一般按照固定模式设置为 1 和 0。在机器学习中,卷积过滤器一般先选择随机数字,而后由网络训练出理想值。

深度神经网络的一个层,卷积过滤器会在其中传递输入矩阵。如下面的 3x3 卷积过滤器为例:

下面的动画显示了一个由 9 个卷积运算(涉及 5x5 输入矩阵)组成的卷积层。请注意,每一个卷积运算都涉及一个不一样的 3x3 输入矩阵切片。由此产生的 3×3 矩阵(右侧)就包含 9 个卷积运算的结果:

一种神经网络,其中至少有一层为卷积层。典型的卷积神经网络包含如下几层的组合:

卷积神经网络在解决某些类型的问题(如图像识别)上取得了巨大成功。

以下所示的两步数学运算:

对卷积过滤器和输入矩阵切片执行元素级乘法。(输入矩阵切片与卷积过滤器具备相同的等级和大小。) 对生成的积矩阵中的全部值求和。 如下面的 5x5 输入矩阵为例:

如今,如下面这个 2x2 卷积过滤器为例:

每一个卷积运算都涉及一个 2x2 输入矩阵切片。例如,假设咱们使用输入矩阵左上角的 2x2 切片。这样一来,对此切片进行卷积运算将以下所示:

卷积层由一系列卷积运算组成,每一个卷积运算都针对不一样的输入矩阵切片。

对数损失函数向多类别分类问题的一种泛化。交叉熵能够量化两种几率分布之间的差别。另请参阅困惑度。

您按照这些说明自行编写的 Estimator。

根据样本、测量结果和可视化内容来理解数据。数据分析在首次收到数据集、构建第一个模型以前特别有用。此外,数据分析在理解实验和调试系统问题方面也相当重要。

DataFrame 一种热门的数据类型,用于表示 Pandas 中的数据集。DataFrame 相似于表格。DataFrame 的每一列都有一个名称(标题),每一行都由一个数字标识。

一种高级别的 TensorFlow API,用于读取数据并将其转换为机器学习算法所需的格式。tf.data.Dataset 对象表示一系列元素,其中每一个元素都包含一个或多个张量。tf.data.Iterator 对象可获取 Dataset 中的元素。

如需详细了解 Dataset API,请参阅《TensorFlow 编程人员指南》中的导入数据。

在二元分类或多类别分类问题中,模型学到的类别之间的分界线。例如,在如下表示某个二元分类问题的图片中,决策边界是橙色类别和蓝色类别之间的分界线:

两种类别之间明肯定义的边界。

与全链接层的含义相同。

一种神经网络,其中包含多个隐藏层。深度模型依赖于可训练的非线性关系。

一种大部分值是非零值的特征,一般是浮点值张量。与稀疏特征相对。

一种特征,包含有限个可能值。例如,某个值只能是“动物”、“蔬菜”或“矿物”的特征即是一个离散特征(或分类特征)。与连续特征相对。

正则化的一种形式,在训练神经网络方面很是有用。丢弃正则化的运做机制是,在一个梯度步长中移除从神经网络层中随机选择的固定数量的单元。丢弃的单元越多,正则化效果就越强。这相似于训练神经网络以模拟较小网络的指数级规模集成学习。如需完整的详细信息,请参阅 Dropout: A Simple Way to Prevent Neural Networks from Overfitting(《丢弃:一种防止神经网络过拟合的简单方法》)。

一种模型,以持续更新的方式在线接受训练。也就是说,数据会源源不断地进入这种模型。

一种正则化方法,是指在训练损失仍能够继续下降以前结束模型训练。使用早停法时,您会在验证数据集的损失开始增大(也就是泛化效果变差)时结束模型训练。

一种分类特征,以连续值特征表示。一般,嵌套是指将高维度向量映射到低维度的空间。例如,您能够采用如下两种方式之一来表示英文句子中的单词:

表示成包含百万个元素(高维度)的稀疏向量,其中全部元素都是整数。向量中的每一个单元格都表示一个单独的英文单词,单元格中的值表示相应单词在句子中出现的次数。因为单个英文句子包含的单词不太可能超过 50 个,所以向量中几乎每一个单元格都包含 0。少数非 0 的单元格中将包含一个很是小的整数(一般为 1),该整数表示相应单词在句子中出现的次数。 表示成包含数百个元素(低维度)的密集向量,其中每一个元素都存储一个介于 0 到 1 之间的浮点值。这就是一种嵌套。 在 TensorFlow 中,会按反向传播损失训练嵌套,和训练神经网络中的任何其余参数同样。

经验风险最小化 (ERM, empirical risk minimization) 用于选择能够将基于训练集的损失降至最低的函数。与结构风险最小化相对。

多个模型的预测结果的并集。您能够经过如下一项或多项来建立集成学习:

深度模型和宽度模型属于一种集成学习。

在训练时,整个数据集的一次完整遍历,以便不漏掉任何一个样本。所以,一个周期表示(N/批次大小)次训练迭代,其中 N 是样本总数。

数据集的一行。一个样本包含一个或多个特征,此外还可能包含一个标签。另请参阅有标签样本和无标签样本。

被模型错误地预测为负类别的样本。例如,模型推断出某封电子邮件不是垃圾邮件(负类别),但该电子邮件实际上是垃圾邮件。

被模型错误地预测为正类别的样本。例如,模型推断出某封电子邮件是垃圾邮件(正类别),但该电子邮件其实不是垃圾邮件。

ROC 曲线中的 x 轴。FP 率的定义以下:

在进行预测时使用的输入变量。

指定模型应该如何解读特定特征的一种函数。此类函数的输出结果是全部 Estimators 构造函数的必需参数。

借助 tf.feature_column 函数,模型可对输入特征的不一样表示法轻松进行实验。有关详情,请参阅《TensorFlow 编程人员指南》中的特征列一章。

“特征列”是 Google 专用的术语。特征列在 Yahoo/Microsoft 使用的 VW 系统中称为“命名空间”,也称为场。

经过将单独的特征进行组合(求笛卡尔积)而造成的合成特征。特征组合有助于表达非线性关系。

指如下过程:肯定哪些特征可能在训练模型方面很是有用,而后将日志文件及其余来源的原始数据转换为所需的特征。在 TensorFlow 中,特征工程一般是指将原始日志文件条目转换为 tf.Example 协议缓冲区。另请参阅 tf.Transform。

特征工程有时称为特征提取。

训练机器学习模型时采用的一组特征。例如,对于某个用于预测房价的模型,邮政编码、房屋面积以及房屋情况能够组成一个简单的特征集。

用于描述如何从 tf.Example 协议缓冲区提取特征数据。因为 tf.Example 协议缓冲区只是一个数据容器,所以您必须指定如下内容:

  • 要提取的数据(即特征的键)

一种机器学习方法(一般用于对象分类),旨在仅经过少许训练样本学习有效的分类器。

请参阅 softmax。与候选采样相对。

一种隐藏层,其中的每一个节点均与下一个隐藏层中的每一个节点相连。

全链接层又称为密集层。

指的是模型依据训练时采用的数据,针对之前未见过的新数据作出正确预测的能力。

最小二乘回归模型(基于高斯噪声)向其余类型的模型(基于其余类型的噪声,例如泊松噪声或分类噪声)进行的一种泛化。广义线性模型的示例包括:

能够经过凸优化找到广义线性模型的参数。

广义线性模型具备如下特性:

  • 最优的最小二乘回归模型的平均预测结果等于训练数据的平均标签。
  • 最优的逻辑回归模型预测的平均几率等于训练数据的平均标签。

广义线性模型的功能受其特征的限制。与深度模型不一样,广义线性模型没法“学习新特征”。

偏导数相对于全部自变量的向量。在机器学习中,梯度是模型函数偏导数的向量。梯度指向最高速上升的方向。

在应用梯度值以前先设置其上限。梯度裁剪有助于确保数值稳定性以及防止梯度爆炸。

一种经过计算而且减少梯度将损失降至最低的技术,它以训练数据为条件,来计算损失相对于模型参数的梯度。通俗来讲,梯度降低法以迭代方式调整参数,逐渐找到权重和误差的最佳组合,从而将损失降至最低。

TensorFlow 中的一种计算规范。图中的节点表示操做。边缘具备方向,表示将某项操做的结果(一个张量)做为一个操做数传递给另外一项操做。可使用 TensorBoard 直观呈现图。

一种非最优但实用的问题解决方案,足以用于进行改进或从中学习。

神经网络中的合成层,介于输入层(即特征)和输出层(即预测)之间。神经网络包含一个或多个隐藏层。

一系列用于分类的损失函数,旨在找到距离每一个训练样本都尽量远的决策边界,从而使样本和边界之间的裕度最大化。 KSVM 使用合页损失函数(或相关函数,例如平方合页损失函数)。对于二元分类,合页损失函数的定义以下:

其中“y'”表示分类器模型的原始输出:

“y”表示真标签,值为 -1 或 +1。

所以,合页损失与 (y * y') 的关系图以下所示:

训练期间故意不使用(“维持”)的样本。验证数据集和测试数据集都属于维持数据。维持数据有助于评估模型向训练时所用数据以外的数据进行泛化的能力。与基于训练数据集的损失相比,基于维持数据集的损失有助于更好地估算基于未见过的数据集的损失。

在模型训练的连续过程当中,您调节的“旋钮”。例如,学习速率就是一种超参数。

将一个空间划分为两个子空间的边界。例如,在二维空间中,直线就是一个超平面,在三维空间中,平面则是一个超平面。在机器学习中更典型的是:超平面是分隔高维度空间的边界。核支持向量机利用超平面将正类别和负类别区分开来(一般是在极高维度空间中)。

从不会改变的分布中提取的数据,其中提取的每一个值都不依赖于以前提取的值。i.i.d. 是机器学习的理想气体 - 一种实用的数学结构,但在现实世界中几乎从未发现过。例如,某个网页的访问者在短期内的分布可能为 i.i.d.,即分布在该短期内没有变化,且一位用户的访问行为一般与另外一位用户的访问行为无关。不过,若是将时间窗口扩大,网页访问者的分布可能呈现出季节性变化。

在机器学习中,推断一般指如下过程:经过将训练过的模型应用于无标签样原本作出预测。在统计学中,推断是指在某些观测数据条件下拟合分布参数的过程。(请参阅维基百科中有关统计学推断的文章。)

在 TensorFlow 中,用于将输入数据返回到 Estimator 的训练、评估或预测方法的函数。例如,训练输入函数会返回训练集中的一批特征和标签。

神经网络中的第一层(接收输入数据的层)。

模型的预测可解释的难易程度。深度模型一般不可解释,也就是说,很难对深度模型的不一样层进行解释。相比之下,线性回归模型和宽度模型的可解释性一般要好得多。

一种衡量指标,用于衡量在执行某项任务时评分者达成一致的频率。若是评分者未达成一致,则可能须要改进任务说明。有时也称为注释者间一致性信度或评分者间可靠性信度。另请参阅 Cohen's kappa(最热门的评分者间一致性信度衡量指标之一)。

模型的权重在训练期间的一次更新。迭代包含计算参数在单批次数据上的梯度损失。

一种热门的聚类算法,用于对非监督式学习中的样本进行分组。k-means 算法基本上会执行如下操做:

  • 以迭代方式肯定最佳的 k 中心点(称为形心)。
  • 将每一个样本分配到最近的形心。与同一个形心距离最近的样本属于同一个组。

k-means 算法会挑选形心位置,以最大限度地减少每一个样本与其最接近形心之间的距离的累积平方。

如下面的小狗高度与小狗宽度的关系图为例:

若是 k=3,则 k-means 算法会肯定三个形心。每一个样本都被分配到与其最接近的形心,最终产生三个组:

假设制造商想要肯定小、中和大号狗毛衣的理想尺寸。在该聚类中,三个形心用于标识每只狗的平均高度和平均宽度。所以,制造商可能应该根据这三个形心肯定毛衣尺寸。请注意,聚类的形心一般不是聚类中的样本。

上图显示了 k-means 应用于仅具备两个特征(高度和宽度)的样本。请注意,k-means 能够跨多个特征为样本分组。

与 k-means 紧密相关的聚类算法。二者的实际区别以下:

  • 对于 k-means,肯定形心的方法是,最大限度地减少候选形心与它的每一个样本之间的距离平方和。
  • 对于 k-median,肯定形心的方法是,最大限度地减少候选形心与它的每一个样本之间的距离总和。

请注意,距离的定义也有所不一样:

  • k-means 采用从形心到样本的欧几里得距离。(在二维空间中,欧几里得距离即便用勾股定理来计算斜边。)例如,(2,2) 与 (5,-2) 之间的 k-means 距离为:
  • k-median 采用从形心到样本的曼哈顿距离。这个距离是每一个维度中绝对差别值的总和。例如,(2,2) 与 (5,-2) 之间的 k-median 距离为:

一种分类算法,旨在经过将输入数据向量映射到更高维度的空间,来最大化正类别和负类别之间的裕度。以某个输入数据集包含一百个特征的分类问题为例。为了最大化正类别和负类别之间的裕度,KSVM 能够在内部将这些特征映射到百万维度的空间。KSVM 使用合页损失函数。

一种损失函数,基于模型预测的值与标签的实际值之差的绝对值。与 L2 损失函数相比,L1 损失函数对离群值的敏感性弱一些。

一种正则化,根据权重的绝对值的总和来惩罚权重。在依赖稀疏特征的模型中,L1 正则化有助于使不相关或几乎不相关的特征的权重正好为 0,从而将这些特征从模型中移除。与 L2 正则化相对。

一种正则化,根据权重的平方和来惩罚权重。L2 正则化有助于使离群值(具备较大正值或较小负值)权重接近于 0,但又不正好为 0。(与 L1 正则化相对。)在线性模型中,L2 正则化始终能够改进泛化。

在监督式学习中,标签指样本的“答案”或“结果”部分。有标签数据集中的每一个样本都包含一个或多个特征以及一个标签。例如,在房屋数据集中,特征可能包括卧室数、卫生间数以及房龄,而标签则多是房价。在垃圾邮件检测数据集中,特征可能包括主题行、发件人以及电子邮件自己,而标签则多是“垃圾邮件”或“非垃圾邮件”。

包含特征和标签的样本。在监督式训练中,模型从有标签样本中学习规律。

与正则化率的含义相同。

(多含义术语,咱们在此关注的是该术语在正则化中的定义。)

神经网络中的一组神经元,负责处理一组输入特征,或一组神经元的输出。

此外还指 TensorFlow 中的抽象层。层是 Python 函数,以张量和配置选项做为输入,而后生成其余张量做为输出。当必要的张量组合起来后,用户即可以经过模型函数将结果转换为 Estimator。

一种 TensorFlow API,用于以层组合的方式构建深度神经网络。经过 Layers API,您能够构建不一样类型的层,例如:

在编写自定义 Estimator 时,您能够编写“层”对象来定义全部隐藏层的特征。

在训练模型时用于梯度降低的一个标量。在每次迭代期间,梯度降低法都会将学习速率与梯度相乘。得出的乘积称为梯度步长。

学习速率是一个重要的超参数。

一种经过最小化 L2 损失训练出的线性回归模型。

一种回归模型,经过将输入特征进行线性组合输出连续值。

一种模型,经过将 S 型函数应用于线性预测,生成分类问题中每一个可能的离散标签值的几率。虽然逻辑回归常常用于二元分类问题,但也可用于多类别分类问题(其叫法变为多类别逻辑回归或多项回归)。

分类模型生成的原始(非标准化)预测向量,一般会传递给标准化函数。若是模型要解决多类别分类问题,则对数一般变成 softmax 函数的输入。以后,softmax 函数会生成一个(标准化)几率向量,对应于每一个可能的类别。

二元逻辑回归中使用的损失函数。

若是事件涉及二元几率,则概率指的是成功几率 (p) 与失败几率 (1-p) 之比。例如,假设某个给定事件的成功几率为 90%,失败几率为 10%。在这种状况下,概率的计算公式以下:

简单来讲,对数概率即概率的对数。按照惯例,“对数”指天然对数,但对数的基数其实能够是任何大于 1 的数。若遵循惯例,上述示例的对数概率应为:

对数概率是 S 型函数的反函数。

一种衡量指标,用于衡量模型的预测偏离其标签的程度。或者更悲观地说是衡量模型有多差。要肯定此值,模型必须定义损失函数。例如,线性回归模型一般将均方偏差用做损失函数,而逻辑回归模型则使用对数损失函数。

一种程序或系统,用于根据输入数据构建(训练)预测模型。这种系统会利用学到的模型根据从分布(训练该模型时使用的同一分布)中提取的新数据(之前从未见过的数据)进行实用的预测。机器学习还指与这些程序或系统相关的研究领域。

每一个样本的平均平方损失。MSE 的计算方法是平方损失除以样本数。TensorFlow Playground 显示的“训练损失”值和“测试损失”值都是 MSE。

您关心的一个数值。可能能够也可能不能够直接在机器学习系统中获得优化。您的系统尝试优化的指标称为目标。

从整批样本内随机选择并在训练或推断过程的一次迭代中一块儿运行的一小部分样本。小批次的批次大小一般介于 10 到 1000 之间。与基于完整的训练数据计算损失相比,基于小批次数据计算损失要高效得多。

一种采用小批次样本的梯度降低法。也就是说,小批次 SGD 会根据一小部分训练数据来估算梯度。Vanilla SGD 使用的小批次的大小为 1。

机器学习系统从训练数据学到的内容的表示形式。多含义术语,能够理解为下列两种相关含义之一:

  • 一种 TensorFlow 图,用于表示预测的计算结构。
  • 该 TensorFlow 图的特定权重和误差,经过训练决定。

Estimator 中的函数,用于实现机器学习训练、评估和推断。例如,模型函数的训练部分能够处理如下任务:定义深度神经网络的拓扑并肯定其优化器函数。若是使用预建立的 Estimator,则有人已为您编写了模型函数。若是使用自定义 Estimator,则必须自行编写模型函数。

有关编写模型函数的详细信息,请参阅建立自定义 Estimator。

一种先进的梯度降低法,其中学习步长不只取决于当前步长的导数,还取决于以前一步或多步的步长的导数。动量涉及计算梯度随时间而变化的指数级加权移动平均值,与物理学中的动量相似。动量有时能够防止学习过程被卡在局部最小的状况。

区分两种以上类别的分类问题。例如,枫树大约有 128 种,所以,肯定枫树种类的模型就属于多类别模型。反之,仅将电子邮件分为两类(“垃圾邮件”和“非垃圾邮件”)的模型属于二元分类模型。

与多类别分类的含义相同。

模型中的一个数字在训练期间变成 NaN,这会致使模型中的不少或全部其余数字最终也会变成 NaN。

NaN 是“非数字”的缩写。

在二元分类中,一种类别称为正类别,另外一种类别称为负类别。正类别是咱们要寻找的类别,负类别则是另外一种可能性。例如,在医学检查中,负类别能够是“非肿瘤”。在电子邮件分类器中,负类别能够是“非垃圾邮件”。另请参阅正类别。

一种模型,灵感来源于脑部结构,由多个层构成(至少有一个是隐藏层),每一个层都包含简单相连的单元或神经元(具备非线性关系)。

神经网络中的节点,一般会接收多个输入值并生成一个输出值。神经元经过将激活函数(非线性转换)应用于输入值的加权和来计算输出值。

多含义术语,能够理解为下列两种含义之一:

将实际的值区间转换为标准的值区间(一般为 -1 到 +1 或 0 到 1)的过程。例如,假设某个特征的天然区间是 800 到 6000。经过减法和除法运算,您能够将这些值标准化为位于 -1 到 +1 区间内。

用整数或实数表示的特征。例如,在房地产模型中,您可能会用数值数据表示房子大小(以平方英尺或平方米为单位)。若是用数值数据表示特征,则能够代表特征的值相互之间具备数学关系,而且与标签可能也有数学关系。例如,若是用数值数据表示房子大小,则能够代表面积为 200 平方米的房子是面积为 100 平方米的房子的两倍。此外,房子面积的平方米数可能与房价存在必定的数学关系。

并不是全部整数数据都应表示成数值数据。例如,世界上某些地区的邮政编码是整数,但在模型中,不该将整数邮政编码表示成数值数据。这是由于邮政编码 20000 在效力上并非邮政编码 10000 的两倍(或一半)。此外,虽然不一样的邮政编码确实与不一样的房地产价值有关,但咱们也不能假设邮政编码为 20000 的房地产在价值上是邮政编码为 10000 的房地产的两倍。邮政编码应表示成分类数据。

数值特征有时称为连续特征。

一个开放源代码数学库,在 Python 中提供高效的数组操做。Pandas 创建在 Numpy 之上。

生成一组预测,存储这些预测,而后根据需求检索这些预测。与在线推断相对。

  • 全部其余元素均设为 0。

独热编码经常使用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不一样的物种,其中每一个物种都用独一无二的字符串标识符来表示。在特征工程过程当中,您可能须要将这些字符串标识符编码为独热向量,向量的大小为 15000。

一种机器学习方法,一般用于对象分类,旨在经过单个训练样本学习有效的分类器。

另请参阅少许样本学习。

假设某个分类问题有 N 种可能的解决方案,一对多解决方案将包含 N 个单独的二元分类器 - 一个二元分类器对应一种可能的结果。例如,假设某个模型用于区分样本属于动物、蔬菜仍是矿物,一对多解决方案将提供下列三个单独的二元分类器:

根据需求生成预测。与离线推断相对。

TensorFlow 图中的节点。在 TensorFlow 中,任何建立、操纵或销毁张量的过程都属于操做。例如,矩阵相乘就是一种操做,该操做以两个张量做为输入,并生成一个张量做为输出。

梯度降低法的一种具体实现。TensorFlow 的优化器基类是 tf.train.Optimizer。不一样的优化器可能会利用如下一个或多个概念来加强梯度降低法在指定训练集中的效果:

  • 更复杂的数学方法(Proximal,等等)

甚至还包括 NN 驱动的优化器。

与大多数其余值差异很大的值。在机器学习中,下列全部值都是离群值。

  • 与实际值相差很大的预测值。
  • 值比平均值高大约 3 个标准误差的输入数据。

离群值经常会致使模型训练出现问题。

神经网络的“最后”一层,也是包含答案的层。

建立的模型与训练数据过于匹配,以至于模型没法根据新数据作出正确的预测。

面向列的数据分析 API。不少机器学习框架(包括 TensorFlow)都支持将 Pandas 数据结构做为输入。请参阅 Pandas 文档。

机器学习系统自行训练的模型的变量。例如,权重就是一种参数,它们的值是机器学习系统经过连续的训练迭代逐渐学习到的。与超参数相对。

一种做业,负责在分布式设置中跟踪模型参数。

在训练期间(一般是在梯度降低法的单次迭代中)调整模型参数的操做。

一种导数,除一个变量以外的全部变量都被视为常量。例如,f(x, y) 对 x 的偏导数就是 f(x) 的导数(即,使 y 保持恒定)。f 对 x 的偏导数仅关注 x 如何变化,而忽略公式中的全部其余变量。

在参数服务器间分割变量的算法。

多含义术语,具备如下含义:

  • 在软件工程中的传统含义。即:相应软件的运行速度有多快(或有多高效)?
  • 在机器学习中的含义。在机器学习领域,性能旨在回答如下问题:相应模型的准确度有多高?即模型在预测方面的表现有多好?

一种衡量指标,用于衡量模型可以多好地完成任务。例如,假设任务是读取用户使用智能手机键盘输入字词时输入的前几个字母,而后列出一组可能的完整字词。此任务的困惑度 (P) 是:为了使列出的字词中包含用户尝试输入的实际字词,您须要提供的猜想项的个数。

困惑度与交叉熵的关系以下:

机器学习算法的基础架构。流水线包括收集数据、将数据放入训练数据文件、训练一个或多个模型,以及将模型导出到生产环境。

将一个或多个由前趋的卷积层建立的矩阵压缩为较小的矩阵。池化一般是取整个池化区域的最大值或平均值。如下面的 3x3 矩阵为例:

池化运算与卷积运算相似:将矩阵分割为多个切片,而后按步长逐个运行卷积运算。例如,假设池化运算按 1x1 步长将卷积矩阵分割为 2x2 个切片。以下图所示,进行了四个池化运算。假设每一个池化运算都选择该切片中四个值的最大值:

池化有助于在输入矩阵中实现平移不变性。

对于视觉应用来讲,池化的更正式名称为空间池化。时间序列应用一般将池化称为时序池化。按照不太正式的说法,池化一般称为下采样或降采样。

在二元分类中,两种可能的类别分别被标记为正类别和负类别。正类别结果是咱们要测试的对象。(不能否认的是,咱们会同时测试这两种结果,但只关注正类别结果。)例如,在医学检查中,正类别能够是“肿瘤”。在电子邮件分类器中,正类别能够是“垃圾邮件”。

一种分类模型指标。精确率指模型正确预测正类别的频率,即:

模型在收到输入样本后的输出。

一种值,用于代表预测平均值与数据集中标签的平均值相差有多大。

已通过训练的模型或模型组件(例如嵌套)。有时,您须要将预训练的嵌套馈送到神经网络。在其余时候,您的模型将自行训练嵌套,而不依赖于预训练的嵌套。

在开始采用相应数据进行训练以前,您对这些数据抱有的信念。例如,L2 正则化依赖的先验信念是权重应该很小且应以 0 为中心呈正态分布。

一种 TensorFlow 操做,用于实现队列数据结构。一般用于 I/O 中。

机器学习中的一个多含义术语,能够理解为下列含义之一:

  • 张量中的维数。例如,标量等级为 0,向量等级为 1,矩阵等级为 2。
  • 在将类别从最高到最低进行排序的机器学习问题中,类别的顺序位置。例如,行为排序系统能够将狗狗的奖励从最高(牛排)到最低(枯萎的羽衣甘蓝)进行排序。

为样本提供标签的人。有时称为“注释者”。

一种分类模型指标,用于回答如下问题:在全部可能的正类别标签中,模型正确地识别出了多少个?即:

一种激活函数,其规则以下:

  • 若是输入为负数或 0,则输出 0。
  • 若是输入为正数,则输出等于输入。

一种模型,可以输出连续的值(一般为浮点值)。请与分类模型进行比较,分类模型会输出离散值,例如“黄花菜”或“虎皮百合”。

对模型复杂度的惩罚。正则化有助于防止出现过拟合,包含如下类型:

  • 早停法(这不是正式的正则化方法,但能够有效限制过拟合)

一种标量值,以 lambda 表示,用于指定正则化函数的相对重要性。从下面简化的损失公式中能够看出正则化率的影响:

提升正则化率能够减小过拟合,但可能会使模型的准确率下降。

将数据映射到实用特征的过程。

不一样分类阈值下的正例率和假正例率构成的曲线。另请参阅曲线下面积。

您指定的目录,用于托管多个模型的 TensorFlow 检查点和事件文件的子目录。

在图像分类问题中,即便图像的方向发生变化,算法也能成功地对图像进行分类。例如,不管网球拍朝上、侧向仍是朝下放置,该算法仍然能够识别它。请注意,并不是老是但愿旋转不变;例如,倒置的“9”不该分类为“9”。

另请参阅平移不变性和大小不变性。

保存和恢复 TensorFlow 模型时建议使用的格式。SavedModel 是一种独立于语言且可恢复的序列化格式,使较高级别的系统和工具能够建立、使用和转换 TensorFlow 模型。

如需完整的详细信息,请参阅《TensorFlow 编程人员指南》中的保存和恢复。

一种 TensorFlow 对象,负责保存模型检查点。

特征工程中的一种经常使用作法,是指对某个特征的值区间进行调整,使之与数据集中其余特征的值区间一致。例如,假设您但愿数据集中全部浮点特征的值都位于 0 到 1 区间内,若是某个特征的值位于 0 到 500 区间内,您就能够经过将每一个值除以 500 来缩放该特征。

训练模型时采用的数据中,某些训练样本有标签,而其余样本则没有标签。半监督式学习采用的一种技术是推断无标签样本的标签,而后使用推断出的标签进行训练,以建立新模型。若是得到有标签样本须要高昂的成本,而无标签样本则有不少,那么半监督式学习将很是有用。

一种模型,其输入具备序列依赖性。例如,根据以前观看过的一系列视频对观看的下一个视频进行预测。

一种函数,可将逻辑回归输出或多项回归输出(对数概率)映射到几率,以返回介于 0 到 1 之间的值。S 型函数的公式以下:

在逻辑回归问题中, 很是简单:

换句话说,S 型函数可将 转换为介于 0 到 1 之间的几率。

在某些神经网络中,S 型函数可做为激活函数使用。

在图像分类问题中,即便图像的大小发生变化,算法也能成功地对图像进行分类。例如,不管一只猫以 200 万像素仍是 20 万像素呈现,该算法仍然能够识别它。请注意,即便是最好的图像分类算法,在大小不变性方面仍然会存在切实的限制。例如,对于仅以 20 像素呈现的猫图像,算法(或人)不可能正确对其进行分类。

另请参阅平移不变性和旋转不变性。

一种函数,可提供多类别分类模型中每一个可能类别的几率。这些几率的总和正好为 1.0。例如,softmax 可能会得出某个图像是狗、猫和马的几率分别是 0.九、0.08 和 0.02。(也称为完整 softmax。)

一种特征向量,其中的大多数值都为 0 或为空。例如,某个向量包含一个为 1 的值和一百万个为 0 的值,则该向量就属于稀疏向量。再举一个例子,搜索查询中的单词也可能属于稀疏特征 - 在某种指定语言中有不少可能的单词,但在某个指定的查询中仅包含其中几个。

一种张量表示法,仅存储非零元素。

例如,英语中包含约一百万个单词。表示一个英语句子中所用单词的数量,考虑如下两种方式:

  • 要采用密集表示法来表示此句子,则必须为全部一百万个单元格设置一个整数,而后在大部分单元格中放入 0,在少数单元格中放入一个很是小的整数。
  • 要采用稀疏表示法来表示此句子,则仅存储象征句子中实际存在的单词的单元格。所以,若是句子只包含 20 个独一无二的单词,那么该句子的稀疏表示法将仅在 20 个单元格中存储一个整数。

例如,假设以两种方式来表示句子“Dogs wag tails.”。以下表所示,密集表示法将使用约一百万个单元格;稀疏表示法则只使用 3 个单元格:

向量或矩阵中设置为 0(或空)的元素数除以该向量或矩阵中的条目总数。以一个 10x10 矩阵(其中 98 个单元格都包含 0)为例。稀疏性的计算方法以下:

特征稀疏性是指特征向量的稀疏性;模型稀疏性是指模型权重的稀疏性。

合页损失函数的平方。与常规合页损失函数相比,平方合页损失函数对离群值的惩罚更严厉。

在线性回归中使用的损失函数(也称为 L2 损失函数)。该函数可计算模型为有标签样本预测的值和标签的实际值之差的平方。因为取平方值,所以该损失函数会放大不佳预测的影响。也就是说,与 L1 损失函数相比,平方损失函数对离群值的反应更强烈。

数据集中数据的一种属性,表示数据分布在一个或多个维度保持不变。这种维度最多见的是时间,即代表平稳性的数据不随时间而变化。例如,从 9 月到 12 月,代表平稳性的数据没有发生变化。

对一个批次的向前和向后评估。

与学习速率的含义相同。

批次大小为 1 的一种梯度降低法。换句话说,SGD 依赖于从数据集中随机均匀选择的单个样原本计算每步的梯度估算值。

一种算法,用于平衡如下两个目标:

  • 指望构建最具预测性的模型(例如损失最低)。
  • 指望使模型尽量简单(例如强大的正则化)。

例如,旨在将基于训练集的损失和正则化降至最低的函数就是一种结构风险最小化算法。

如需更多信息,请参阅 

与经验风险最小化相对。

在卷积运算或池化中,下一个系列的输入切片的每一个维度中的增量。例如,下面的动画演示了卷积运算过程当中的一个 (1,1) 步长。所以,下一个输入切片是从上一个输入切片向右移动一个步长的位置开始。当运算到达右侧边缘时,下一个切片将回到最左边,可是下移一个位置。

前面的示例演示了一个二维步长。若是输入矩阵为三维,那么步长也将是三维。

在 TensorFlow 中的某一步计算出的一个值或一组值,一般用于在训练期间跟踪模型指标。

根据输入数据及其对应的标签来训练模型。监督式机器学习相似于学生经过研究一系列问题及其对应的答案来学习某个主题。在掌握了问题和答案之间的对应关系后,学生即可以回答关于同一主题的新问题(之前从未见过的问题)。请与非监督式机器学习进行比较。

一种特征,不在输入特征之列,而是从一个或多个输入特征衍生而来。合成特征包括如下类型:

  • 对连续特征进行分桶,以分为多个区间分箱。
  • 将一个特征值与其余特征值或其自己相乘(或相除)。

仅经过标准化或缩放建立的特征不属于合成特征。

在不一样时间点记录的数据。例如,记录的一年中每一天的冬外套销量就属于时态数据。

TensorFlow 程序中的主要数据结构。张量是 N 维(其中 N 可能很是大)数据结构,最多见的是标量、向量或矩阵。张量的元素能够包含整数值、浮点值或字符串值。

一种 ASIC(应用专用集成电路),用于优化 TensorFlow 程序的性能。

张量在各类维度中包含的元素数。例如,张量 [5, 10] 在一个维度中的形状为 5,在另外一个维度中的形状为 10。

张量包含的标量总数。例如,张量 [5, 10] 的大小为 50。

一个信息中心,用于显示在执行一个或多个 TensorFlow 程序期间保存的摘要信息。

一个大型的分布式机器学习平台。该术语还指 TensorFlow 堆栈中的基本 API 层,该层支持对数据流图进行通常计算。

虽然 TensorFlow 主要应用于机器学习领域,但也可用于须要使用数据流图进行数值计算的非机器学习任务。

一款用于直观呈现不一样的超参数对模型(主要是神经网络)训练的影响的程序。要试用 TensorFlow Playground,请前往 

一个平台,用于将训练过的模型部署到生产环境。

数据集的子集,用于在模型经由验证集的初步验证以后测试模型。

与训练集和验证集相对。

一种标准协议缓冲区,旨在描述用于机器学习模型训练或推断的输入数据。

机器学习和统计学的一个子领域,旨在分析时态数据。不少类型的机器学习问题都须要时间序列分析,其中包括分类、聚类、预测和异常检测。例如,您能够利用时间序列分析根据历史销量数据预测将来每个月的冬外套销量。

肯定构成模型的理想参数的过程。

数据集的子集,用于训练模型。

与验证集和测试集相对。

将信息从一个机器学习任务迁移到另外一个机器学习任务。例如,在多任务学习中,一个模型能够完成多项任务,例如针对不一样任务具备不一样输出节点的深度模型。迁移学习可能涉及将知识从较简单任务的解决方案迁移到较复杂的任务,或者将知识从数据较多的任务迁移到数据较少的任务。

大多数机器学习系统都只能完成一项任务。迁移学习是迈向人工智能的一小步;在人工智能中,单个程序能够完成多项任务。

在图像分类问题中,即便图像中对象的位置发生变化,算法也能成功对图像进行分类。例如,不管一只狗位于画面正中央仍是画面左侧,该算法仍然能够识别它。

另请参阅大小不变性和旋转不变性。

被模型正确地预测为负类别的样本。例如,模型推断出某封电子邮件不是垃圾邮件,而该电子邮件确实不是垃圾邮件。

被模型正确地预测为正类别的样本。例如,模型推断出某封电子邮件是垃圾邮件,而该电子邮件确实是垃圾邮件。

与召回率的含义相同,即:

正例率是 ROC 曲线的 y 轴。

包含特征但没有标签的样本。无标签样本是用于进行推断的输入内容。在半监督式和非监督式学习中,在训练期间会使用无标签样本。

训练模型,以找出数据集(一般是无标签数据集)中的规律。

非监督式机器学习最多见的用途是将数据分为不一样的聚类,使类似的样本位于同一组中。例如,非监督式机器学习算法能够根据音乐的各类属性将歌曲分为不一样的聚类。所得聚类能够做为其余机器学习算法(例如音乐推荐服务)的输入。在很难获取真标签的领域,聚类可能会很是有用。例如,在反滥用和反欺诈等领域,聚类有助于人们更好地了解相关数据。

非监督式机器学习的另外一个例子是主成分分析 (PCA)。例如,经过对包含数百万购物车中物品的数据集进行主成分分析,可能会发现有柠檬的购物车中每每也有抗酸药。

请与监督式机器学习进行比较。

数据集的一个子集,从训练集分离而来,用于调整超参数。

与训练集和测试集相对。

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是肯定每一个特征的理想权重。若是权重为 0,则相应的特征对模型来讲没有任何贡献。

一种线性模型,一般有不少稀疏输入特征。咱们之因此称之为“宽度模型”,是由于这是一种特殊类型的神经网络,其大量输入均直接与输出节点相连。与深度模型相比,宽度模型一般更易于调试和检查。虽然宽度模型没法经过隐藏层来表示非线性关系,但能够利用特征组合、分桶等转换以不一样的方式为非线性关系建模。

我要回帖

更多关于 健身如何突破瓶颈期 的文章

 

随机推荐