机器学习术语以及tensorflow专用术语的定义

  1. 本篇内容是:一般的机器学习术语和 TensorFlow 专用术语的定义。https://developers.google.com/machine-learning/glossary/#t
  2. 机器学习速成课程:based on tensorflow API (application programming interface)。https://developers.google.com/machine-learning/crash-course/
  3. 了解tensorflow的网址:https://www.tensorflow.org适合所有人的开放源代码机器学习框架
    TensorFlow™ 是一个开放源代码软件库,用于进行高性能数值计算。借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。TensorFlow™ 最初是由 Google Brain 团队(隶属于 Google 的 AI 部门)中的研究人员和工程师开发的,可为机器学习和深度学习提供强力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。

一. API

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

Layers API (tf.layers)
一种 TensorFlow API,用于以层组合的方式构建深度神经网络。通过 Layers API,您可以构建不同类型的层,例如:
通过 tf.layers.Dense 构建全连接层。
通过 tf.layers.Conv2D 构建卷积层。
在编写自定义 Estimator 时,您可以编写“层”对象来定义所有隐藏层的特征。

Metrics API (tf.metrics)
一种用于评估模型的 TensorFlow API。例如,tf.metrics.accuracy 用于确定模型的预测与标签匹配的频率。在编写自定义 Estimator 时,您可以调用 Metrics API 函数来指定应如何评估您的模型。

Keras API (tf.keras)
一种热门的 Python 机器学习 API。Keras 能够在多种深度学习框架上运行,其中包括 TensorFlow(在该框架上,Keras 作为 tf.keras 提供)。

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

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

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

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

TensorFlow
一个大型分布式机器学习平台。该术语还指 TensorFlow 堆栈中的基本 API 层,该层支持对数据流图进行一般计算。
虽然 TensorFlow 主要应用于机器学习领域,但也可用于需要使用数据流图进行数值计算的非机器学习任务。

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

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

tf.Example
一种标准的 proto buffer,旨在描述用于机器学习模型训练或推断的输入数据。

优化器 (optimizer)
梯度下降法的一种具体实现。TensorFlow 的优化器基类是 tf.train.Optimizer。不同的优化器(tf.train.Optimizer 的子类)会考虑如下概念:
  1. 动量 (Momentum)
  2. 更新频率 (AdaGrad = ADAptive GRADient descent; Adam = ADAptive with Momentum;RMSProp)
  3. 稀疏性/正则化 (Ftrl)
  4. 更复杂的计算方法 (Proximal, 等等)
  5. 甚至还包括 NN 驱动的优化器。

二. Other perceptions

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

学习速率 (learning rate)
在训练模型时用于梯度下降的一个变量。在每次迭代期间,梯度下降法都会将学习速率与梯度相乘。得出的乘积称为梯度步长。学习速率是一个重要的超参数。

线性回归 (linear regression)
一种回归模型,通过将输入特征进行线性组合,以连续值作为输出。

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

三. 评判标准

ROC and AUC

ROC受试者工作特征曲线(receiver operating characteristic, 简称 ROC 曲线)
TP 真正例 (true positive): 正——>正
TN 真负例 (true negative): 负——>负
FN 假负例 (false negative): 正——>负
FP 假正例 (false positive):负——>正

真正率 true positive rate(=召回率 recall rate),是 ROC 曲线的 y 轴。
TP rate = TP/(TP+FN)
    =(正—>正)/(正—>正+正—>负)
    = 正cor/正all
    =  所有正类样本,被正确分类的概率

假正例率(false positive rate),ROC 曲线中的 x 轴。
FP rate = FP/(FP+TN)
    =负—>正/(负—>正+ 负—>负)
    = 负wrong/负all
    =  所有负类样本,被错误分类的概率

AUC: (Area under the ROC Curve):一种会考虑所有可能分类阈值的评估指标。
ROC 曲线下面积是,对于随机选择的正类别样本确实为正类别,以及随机选择的负类别样本为正类别,分类器更确信前者的概率。

协同过滤 (collaborative filtering)
根据很多其他用户的兴趣来预测某位用户的兴趣。协同过滤通常用在推荐系统中。

交叉熵和困惑度

交叉熵 (cross-entropy)
对数损失函数向多类别分类问题进行的一种泛化。交叉熵可以量化两种概率分布之间的差异。
困惑度 (perplexity)
一种衡量指标,用于衡量模型能够多好地完成任务。例如,假设任务是读取用户使用智能手机键盘输入字词时输入的前几个字母,然后列出一组可能的完整字词。此任务的困惑度 (P) 是:为了使列出的字词中包含用户尝试输入的实际字词,您需要提供的猜测项的个数。
困惑度与交叉熵的关系如下:P = 2^(-cross_entrophy)

丢弃正则化 (dropout regularization)

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

泛化 (generalization)

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

修正线性单元 (ReLU, Rectified Linear Unit)

一种激活函数,其规则如下:
如果输入为负数或 0,则输出 0。
如果输入为正数,则输出等于输入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值