Google 开发者大会 (Google Developer Days,简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各种工具获得更多收益。2018 Google 开发者大会于 9 月 20 日和 21 日于上海举办。:point_right:
2018 年 9 月 21 日 冯亦菲(Google Brain 软件工程师)带来一场《用 TensorFlow 高层 API 来构建机器学习模型》的演讲,本文将对演讲做一个回顾。
构建机器学习模型是一个循序渐进的过程:
- 首先获取数据集,并明确机器学习所要解决的问题;
- 接下来处理数据集,让我们的模型能够快速的理解形式;
- 紧接着搭建机器学习模型的结构,并且训练评估我们的模型;
- 最后,当模型达到我们预先设定的目标,就可以将其打包投入到生产环境中去。
本例中的所使用的数据集为科罗拉多州森林植被数据集。该数据集记录了美国科罗拉多州不同地块的森林植被类型,每个样本包含了描述每块土地的若干特征,包括海拔、坡度、到水源的距离、遮阳情况和土壤类型,并且随同给出了地块的已知森林植被类型。数据集下载
按照链接地址下载的原始数据集是以逗号分割、每行有55个整数列,如下图:
每一列所代表的含义如下图所示:
其中,上图中橘黄色方框选中的区域就是我们此次想要推测的自然保护区类型。
在了解我们所有的数据集之后,可以着手使用 TensorFlow 来构建我们的模型。
- 快速调试即刻的运行错误并通过 Python 工具进行整合
- 借助易于使用的 Python 控制流支持动态模型
- 为自定义和高阶梯度提供强大支持
上图中虽然我们可以看出每一行原始数据的含义,但是想要带入到机器学习的模型中,我们还需要对数据进行解析。
//土壤类型是一个特征,而不是 40 个单独的特征 //重新组成 12 个特征 //给每个特征取一个名称 //生成自然保护区标签,在原始数据集中它的一个长度为 4 //利用解析函数解析,并以 64 为单位对训练集进行分组
因为我们使用的是 Eager
执行模式,所以我们可以直接打印查看数据,如下图所示:
这里我们使用的是 keras
API 来搭建我们的模型,通过 keras
可以像搭积木一样来构造模型。
损失值与准去率如下图所示:
如果验证结果达到我们所设定的要求,可以利用 SavedModel
打包。
至此我们完成了构造机器学习模型的完整流程。在我们日常的生产环境中,不存在一次构建完美模型的情况。所以,我们可以根据上面构建模型的 5 个步骤,就单个步骤或多这个步骤进行改进。例如,我们可以获得跟多原始数据,以提高模型的普遍性等等。
前面我们使用的是 keras
模型,下面我们使用 Wide & Deep
模型就实现。
以上就是本次演讲的全部内容,希望对大家有所帮助。