最近谷歌开源了网页版数据可视化工具 Embedding Projector,该项目作为 Tensorflow 的一部分,能对高维数据进行可视化展示与分析。以下是雷锋网(公众号:雷锋网)整理编译的谷歌研究院介绍内容,未经许可不得转载。
最近机器学习界可谓是硕果累累,从图像识别、语言翻译再到医疗诊断,可谓让人大开眼界。随着机器学习的广泛应用,探索模型是如何理解数据这一问题正在变得越来越重要,但是数据通常是用成百上千维的向量表示,因此我们需要一个专门的工具来探索、研究这个数据高维空间。
为了使大家能够更加直观的研究数据,我们开源了我们自己研发的网页版数据可视化工具 Embedding Projector,这个可视化工具是 TensorFlow 的一部分,可以用来对高维数据进行可视化展示与分析,此外还有一个单一版,这个版本不需要安装 TensorFlow,便可直接运行,大家可以去 projector.tensorflow.org 下载。
嵌入探索
通常我们需要训练的数据是不能直接作为机器学习算法的输入的,我们应当将这些数据(例如:词语、声音、视频等数据)表示成一种机器可以理解(处理)的数据形式。我们使用的是嵌入方法,即将数据表示成一个向量,这个向量包含了数据各个方面的信息。例如,在自然语言中,两个意思相近的词会映射到同一向量空间中两个不同的点,但这两个点的位置应该是相近的。
Embedding Projector 这个工具使用起来很简单,它可以实现数据的 2D 或 3D 效果展示。轻点鼠标,便可实现数据的旋转、缩放。我们按照 word2vec 教程在 TensorFlow 上训练了一些词向量,将这些词向量通过我们的工具进行可视化展示,点击图中任意一点(表示词向量的点),那么通过这种算法算出的,与这个词语义相关的词以及其向量空间距离就会罗列出来。它给我们提供了一种非常重要的探究算法性能的方法。下图展示了“important”这个词在向量空间中的语义相近点
降维方法
Embedding Projector 提供了三种常用的数据降维方法,这些方法可以使复杂数据可视化变的简单一些。具体为以下三种:PCA,、t-SNE、custom linear projections。PCA 用在探究数据内部结构、发现数据重要维度信息上;t-SNE 用于探究数据的周围信息、确定其与哪些周围数据属于同类(聚类效果),确保向量保留了数据的含义信息。custom linear projections 用于确定数据含义的‘方向’(在生成模型中,统一数据,正式语气与非正式语气其含义是不同的,加入这些因素可以提高机器学习模型的适应性)。
下图是在一个 35K 的电子邮件常用短语数据集上,使用 custom linear projection 方法得出的与‘See attachments’相邻的 100 个点
此外在 Embedding Projector 网站上还有一些数据集,你可以去网站下载,然后试一下我们的可视化软件,如果你想公开你的训练结果,这很简单,你只需要单击软件的“Publish”按钮,便可以实现训练结果的共享了。我们希望 Embedding Projector 在机器学习应用方面,对研发人员有所帮助,也希望帮助大家更好理解,机器学习算法是如何对数据进行解释的。如果想了解更多的细节,请参看这里。
via Open sourcing the Embedding Projector: a tool for visualizing high dimensional data