0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow中专门解决机器学习问题的评估器

Tensorflowers 来源:未知 作者:李倩 2018-05-30 10:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

AIA (AI Adventures)系列现在已经进入第三期了。前两期分享当中,Yufeng 介绍了机器学习的核心概念、基本逻辑,也介绍了要进行机器学习需要经过哪些步骤。今天的分享中,他会继续用浅显易懂的表达,为我们介绍 TensorFlow 的评估器 API

总的来说,机器学习还是非常赞的(当然,除了某些时候你不得不对付复杂恼人的数学运算)。当下机器学习相关工具已经得到很大的改善,并且训练模型也更加简单方便。

我们将利用对数据集的认知来编写与之对应的模型,而不是基于对原始数学问题来求解,本期,我们将会用一些简单的代码来实操训练出一个简单的分类器

TensorFlow 中专门解决机器学习问题的评估器

要训练我们的分类模型,我们需要使用 Google 的开源机器学习库——TensorFlow。TensorFlow 对外开放了非常丰富的 API 接口,但此时我们需要用到的仅仅是一些高层次 API,也就是评估器(Estimator)。

评估器替我们打包好了训练的循环迭代,所以我们可以通过配置评估器来控制训练过程,而不是手动编码实现。这样以来,许多样板化的东西都不再存在,也让我们能够在更高级的抽象中考虑问题。同时这也意味着尽情享受机器学习的乐趣,而不必纠结实现的细节。

既然目前我们只探讨过线性模型的设计问题,不妨就此打住。今后我们会有机会回过头讨论这个问题,并提升其识别能力。

花卉分类:是否和酒水判别同样充满趣味?

本周我们会构建一个模型来区分三种非常相似的花卉。虽说这次比不上上次那样同酒水打交道那么令人向往,但是由于花卉更难辨认,所以这次的任务会更具挑战性。

上期文章AIA 系列第二课 | 机器学习常见的七个步骤

特别是,今天我们需要区分开不同品种的鸢尾花。其实我自己不太能从一片玫瑰当中找出一枝鸢尾花,但是我们的模型将会准确认出山鸢尾、变色鸢尾和维吉尼亚鸢尾。

山鸢尾、变色鸢尾和维吉尼亚鸢尾

我们有一个数据集(如下图)记录了花卉的花瓣、萼片的宽高数据。表中的四列也就是之前提到的「特征」。

载入数据

在引入 TensorFlow 和 NumPy 两个模块后,我们需要使用 TensorFlow 的 load_csv_with_header()函数来加载数据集。这些数据(或者说特征),都以浮点数的形式呈现,而每一列数据、目标花卉的标记则用 0、1 和 2 来表示,与三种花卉的品类相对应。

此时我已经将数据加载的结果输出来了,现在我们可以通过命名属性来取得训练数据和相关的标记、目标。

构建模型

下一步我们需要构建模型了。为了完成这一步操作,首先需要设定特征列。特征列定义了进入模型当中的数据类型。我们使用四个维度的特征列来表示数据集中的特征,并将之称为「花卉特征」。

要搞定评估器非常简单。 通过把特征列、模型预测的输出数量(此处为 3)和指定的用于存储模型训练进程以及输出结果的目录传入tf.estimator.LinearClassifier() 函数就能实例化模型了。这些参数有助于让 TensorFlow 从中断点继续之前的训练。

输入函数

上述的 classifier 对象会为我们记录训练状态,此时差不多可以开始训练了。胜利在望,我们的模型距离成功连接训练数据仅仅只差一个输入函数。输入函数的主要工作是创建一个可以为模型生成数据的 TensorFlow 算子。

现在,所以我们已经完成了从处理原始数据,到创建输入函数(传入之后会以特征列来映射的数据)的过程。要注意的是我们使用与元数据中同样的特征列名作为特征值的标记,这样数据与模型训练才能对应起来。

开始训练

接下来开展训练工作。只需将输入函数传入 classifier.train() 方法就可以了。我们就是这样将数据与模型联系起来的。

训练函数会控制在数据集上循环或迭代的过程,同时在每一阶中不断提升自身性能。正如我们所料,下图显示已经成功完成了 1000 个阶的训练!我们的数据集并不算大,所以这个过程非常快。

精确度评估

好啦,是时候评估结果了。由于前面的 classifier 对象保存了模型训练的状态,所以我们此处仍然使用同一个对象来评估。要评估模型的优劣,我们通过调用 classifier.evaluate() 并传入测试数据,然后从返回的矩阵当中提取出精确度数据即可。

快看!得到的精确度是 96.88%,厉害了我的哥!

评估器:一路向前的流水线

这周就先进行到这里,一起来回顾学习评估器的收获:

Estimator API 为我们提供了一个优秀的流水线用于获取元数据、传入输入函数、配置特征列和模型结构、运行训练过程和进行预测。这个易于理解的框架让我们能够关注数据和他们的属性,而不需要一直纠结数学上的问题,实在是赞!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2177

    浏览量

    66266
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136245

原文标题:Google AIA 系列 | 无需数学知识,轻松搞定鸢尾花辨识模型

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器学习模型评估指标

    机器学习模型指标在机器学习建模过程中,针对不同的问题,需采用不同的模型评估指标。
    发表于 09-06 12:51 1982次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型<b class='flag-5'>评估</b>指标

    如何使用TensorFlow构建机器学习模型

    在这篇文章中,我将逐步讲解如何使用 TensorFlow 创建一个简单的机器学习模型。
    的头像 发表于 01-08 09:25 1582次阅读
    如何使用<b class='flag-5'>TensorFlow</b>构建<b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型

    tensorflow机器学习日志

    tensorflow学习日志(四)机器学习(泛化,过拟合, 数据集,验证集,测试集)
    发表于 04-14 06:32

    Sklearn与TensorFlow机器学习实用指南——第九章习题答案

    Sklearn 与 TensorFlow 机器学习实用指南——第九章习题答案
    发表于 05-13 13:28

    浅谈深度学习TensorFlow

    机器学习 API(tf.contrib.learn),可以更容易地配置、训练和评估大量的机器学习模型。可以在
    发表于 07-28 14:34

    TensorFlow的特点和基本的操作方式

    Tensorflow是Google开源的深度学习框架,来自于Google Brain研究项目,在Google第一代分布式机器学习框架DistBelief的基础上发展起来。
    发表于 11-23 09:56

    labview+yolov4+tensorflow+openvion深度学习

    /1XavCXSIOYaukCzER7eZQ3g提取码:[hide] 3icg [/hide]随着机器学习, 深度学习的发展,很多人眼很难去直接量化的特征, 深度学习可以搞定, 这就是
    发表于 05-10 22:33

    TensorFlow的框架结构解析

    TensorFlow是谷歌的第二代开源的人工智能学习系统,是用来实现神经网络的内置框架学习软件库。目前,TensorFlow机器
    发表于 04-04 14:39 7417次阅读
    <b class='flag-5'>TensorFlow</b>的框架结构解析

    机器学习框架Tensorflow 2.0的这些新设计你了解多少

    几天前,Tensorflow刚度过自己的3岁生日,作为当前最受欢迎的机器学习框架,Tensorflow在这个宝座上已经盘踞了近三年。无论是成熟的Keras,还是风头正盛的pytorch
    的头像 发表于 11-17 11:33 3547次阅读

    如何用TensorFlow进行机器学习研究

    从理论上讲,这几乎是您使用 TensorFlow 进行机器学习研究所需要的全部内容。
    的头像 发表于 02-05 10:06 2307次阅读
    如何用<b class='flag-5'>TensorFlow</b>进行<b class='flag-5'>机器</b><b class='flag-5'>学习</b>研究

    Swift for TensorFlow:无边界机器学习,值得大家期待

    据资料显示,Swift for TensorFlow:无边界机器学习简介主要是——Swift for TensorFlow 是为下一代机器
    的头像 发表于 09-20 14:20 3272次阅读

    谷歌推出开源的量子机器学习TensorFlow Quantum

    谷歌在其官方AI博客宣布推出TensorFlow Quantum(TFQ),这是一个开源的量子机器学习库,可将量子计算与机器学习结合在一起,
    的头像 发表于 03-11 14:25 2909次阅读

    使用TensorFlow建立深度学习机器学习网络

    教你使用TensorFlow建立深度学习机器学习网络。
    发表于 03-26 09:44 18次下载

    轻松入门,高效成长: "TensorFlow 机器学习技能解锁季"

    体系,体验 TensorFlow 的最佳实践模式? 《 TensorFlow 入门实操课程》 带你零基础快速上手 想高效实践机器学习模型部署,借助
    的头像 发表于 11-10 11:35 1239次阅读

    深度学习框架tensorflow介绍

    深度学习框架tensorflow介绍 深度学习框架TensorFlow简介 深度学习框架TensorFl
    的头像 发表于 08-17 16:11 3357次阅读