您好、欢迎来到现金彩票网!
当前位置:双彩网 > 显式转换 >

如何使用显式核方法改进线性模型

发布时间:2019-06-08 00:44 来源:未知 编辑:admin

  mator 构建我们的机器学习模型。如果您不熟悉此 API,不妨通过 Estimator 指南着手了解。我们将使用 MNIST 数据集。本文包含以下步骤:

  上述方法会加载整个 MNIST 数据集(包含 7 万个样本),然后将数据集拆分为训练数据(5.5 万)、验证数据(5 千)和测试数据(1 万)。拆分的每个数据集均包含一个图像 NumPy 数组(形状为 [sample_size, 784])以及一个标签 NumPy 数组(形状为 [sample_size, 1])。在本文中,我们仅分别使用训练数据和验证数据训练和评估模型。

  要将数据馈送到 tf.contrib.learn Estimator,将数据转换为张量会很有帮助。为此,我们将使用 input function 将操作添加到tensorflow图,该图在执行时会创建要在下游使用的小批次张量。有关输入函数的更多背景知识,请参阅 输入函数 这一部分(rs?hl=zh-CN#create_input_functions)。在本示例中,我们不仅会将 NumPy 数组转换为张量,还将使用 tf.trAIn.shuffle_batch 操作指定 batch_size 以及是否在每次执行 input_fn 操作时都对输入进行随机化处理(在训练期间,随机化处理通常会加快收敛速度)。以下代码段是加载和准备数据的完整代码。在本示例中,我们使用大小为 256 的小批次数据集进行训练,并使用整个样本(5 千个条目)进行评估。您可以随意尝试不同的批次大小。

  除了调整(训练)批次大小和训练步数之外,您还可以微调一些其他参数。例如,您可以更改用于最小化损失的优化方法,只需明确从可用优化器集合中选择其他优化器即可。例如,以下代码构建的 LinearClassifier Estimator 使用了 Follow-The-Regularized-Leader (FTRL) 优化策略,并采用特定的学习速率和 L2 正则化。

  线性模型在 MNIST 数据集上的错误率相对较高(约 7%)表明输入数据不是可线性分隔的。我们将使用显式核映射减少分类错误。

  直觉:大概的原理是,使用非线性映射将输入空间转换为其他特征空间(可能是更高维度的空间,其中转换的特征几乎是可线性分隔的),然后对映射的特征应用线性模型。如下图所示:

  上述表达式右侧的量也称为 RBF(或高斯)核函数。此函数是机器学习中使用最广泛的核函数之一,可隐式衡量比原始空间维度高得多的其他空间中的相似性。要了解详情,请参阅 径向基函数核(adial_basis_function_kernel)。

  传递到 KernelLinearClassifier 的唯一额外参数是一个字典,表示从 feature_columns 到要应用到相应特征列的核映射列表的映射。以下行指示分类器先使用随机傅里叶特征将初始的 784 维图像映射到 2000 维向量,然后在转换的向量上应用线性模型:

  请注意 stddev 参数。它是近似 RBF 核的标准偏差 (σ),可以控制用于分类的相似性指标。stddev 通常通过微调超参数确定。

  下表总结了运行上述代码的结果。我们可以通过增加映射的输出维度以及微调标准偏差,进一步提高准确率。

  分类质量与标准偏差的值密切相关。下表显示了分类器在具有不同标准偏差值的评估数据上达到的准确率。最优值为标准偏差 = 5.0。注意标准偏差值过小或过大会如何显著降低分类的准确率。

  直观地来讲,映射的输出维度越大,两个映射向量的内积越逼近核,这通常意味着分类准确率越高。换一种思路就是,输出维度等于线性模型的权重数;此维度越大,模型的 “自由度” 就越高。不过,超过特定阈值后,输出维度的增加只能让准确率获得极少的提升,但却会导致训练时间更长。下面的两个图表展示了这一情况,分别显示了评估准确率与输出维度和训练时间之间的函数关系。

  显式核映射结合了非线性模型的预测能力和线性模型的可扩展性。与传统的双核方法不同,显式核方法可以扩展到数百万或数亿个样本。使用显式核映射时,请注意以下提示:

  核映射的参数通常取决于数据。模型质量与这些参数密切相关。通过微调超参数可找到最优值

  如果您有多个数值特征,不妨将它们合并成一个多维特征,然后向合并后的向量应用核映射

  文章出处:【微信号:tensorflowers,微信公众号:TensorFlow】欢迎添加关注!文章转载请注明出处。

  上面的示例显示了MF因为使用一个简单的和固定的内积,来估计在低维潜在空间中用户-项目的复杂交互,从而....

  Estimator如何使您能够轻松地在TensorFlow中构建线性模型

  对于 “height” 等连续特征和 “eye_color” 等类别特征,数据中的单个值可能先转换为....

  针对功能磁共振成像( fMRI)模型回归量之间存在共线性的问题,提出了一种正交化的方法。首先,确定感....

  我们将机器学习中最突出、最常用的算法分为三类:线性模型、基于树的模型、神经网络,用一张图表简明地指出....

  LTR同样是一个回归问题。你手头上有一系列评价数据,来衡量一个文档与某个查询的相关度等级。我们的相关....

  本文介绍了一种线性模型下的摄像机标定方法。在获取交通视频的基础上,利用实际路面上的参照物和图像处理的....

http://lusobeat.com/xianshizhuanhuan/155.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有