本文转自开源中国,作者达尔文。

原文链接如下:https://www.oschina.net/news/79788/open-sourcing-embedding-projector-tool

博主说:最近想实现特定词向量的可视化,实现这一目标,首先你要有词向量,然后你要有可视化方法。得到词向量的方法有很多,Python中的gensim自带word2vec包,非常友好,4行代码就能训练自己的词向量。此外,好心的Google还为我们训练好了大量的词向量/词组向量,具体可参考https://code.google.com/archive/p/word2vec/。

本文介绍的是在已知词向量的条件下实现其可视化。博主觉得,将高维向量在二维空间可视化,无非是主成分分析等技巧(转载文章时还没仔细阅读其内容)。本文提供了可视化的工具,以及一个可视化的在线版本。


近段时间以来,机器学习领域内的进展已经催生出了很多激动人心的结果,其应用已经延展到了图像识别、语言翻译、医学诊断等许多领域。对研究科学家来说,随着机器学习系统的广泛应用,理解模型解读数据的方式正变得越来越重要。但是,探索数据的一大主要难题是数据往往具有数百个乃至数千个维度,这需要我们使用特别的工具才能研究调查清楚数据空间。

为了实现一种更为直观的探索过程,谷歌今日布开源了一款用于交互式可视化和高维数据分析的网页工具 Embedding Projector,其作为 TensorFlow 的一部分,能带来类似 A.I. Experiment 的效果(参阅:业界 | 谷歌推出 A.I. Experiments:让任何人都可以轻松实验人工智能)。同时,谷歌也在 projector.tensorflow.org 放出了一个可以单独使用的版本,让用户无需安装和运行 TensorFlow 即可进行高维数据的可视化

  • Embedding Projector 地址:

    https://www.tensorflow.org/versions/master/how_tos/embedding_viz/index.html

  • 可单独使用的版本:http://projector.tensorflow.org/

  • 相关论文地址:https://arxiv.org/pdf/1611.05469v1.pdf

探索嵌入(embeddings)

训练机器学习系统所需的数据一开始的形式是计算机无法直接理解的。为了将这些我们人类能够自然而然理解的东西(如:话语、声音或视频)翻译成算法能够处理的形式,我们会使用到嵌入(embeddings)——一种获取了数据的不同方面(即:维度 dimension)的数学向量表征。比如说,在一个语言嵌入中,相似的词会被映射到彼此相近的点。

降维的方法

Embedding Projector 提供了三种常用的数据降维(data dimensionality reduction)方法,这让我们可以更轻松地实现复杂数据的可视化,这三种方法分别是 PCA、t-SNE 和自定义线性投影(custom linear projections):

  • PCA 通常可以有效地探索嵌入的内在结构,揭示出数据中最具影响力的维度。

  • t-SNE 可用于探索局部近邻值(local neighborhoods)和寻找聚类(cluster),可以让开发者确保一个嵌入保留了数据中的所有含义(比如在 MNIST 数据集中,可以看到同样的数字聚类在一起)。

  • 自定义线性投影可以帮助发现数据集中有意义的「方向(direction)」,比如一个语言生成模型中一种正式的语调和随意的语调之间的区别——这让我们可以设计出更具适应性的机器学习系统。

在一个拥有 3.5 万个电子邮件常用短语的语料库中,「see attachment」的 100 个最近的点到「yes」-「yeah」向量上(yes 在右,yeah 在左)的自定义线性投影

谷歌的博客写道:

Embedding Projector 网站包括一些可供试玩的数据组。我们也让用户更容易使用它并与其他人共享他们的嵌入(仅需点击左边的* publish *按钮)。我们希望 Embedding Projector 能有效帮助研究社区探索并调节他们的机器学习应用,也让所有人更好地理解机器学习算法如何解读数据。如果对 Embedding Projector 细节有兴趣,请阅读我们的论文。祝你在嵌入的世界里玩得开心!

以下是论文摘要:

摘要:嵌入在机器学习领域,比如推荐系统、NLP 以及许多其他应用领域中很常见。研究人员和开发者常常需要探索某个具体嵌入的属性,并找到分析嵌入的方法以将它们视觉化。我们为交互式可视化和嵌入的诠释工作推出了 Embedding Projector 这款工具。

原文链接:Open sourcing the Embedding Projector: a tool for visualizing high dimensional data

编译:机器之心

谷歌开源 Embedding Projector 高维数据可视化--转自开源中国相关推荐

  1. python高维数据_t-SNE高维数据可视化(python)

    t-SNE实践--sklearn教程 t-SNE是一种集降维与可视化于一体的技术,它是基于SNE可视化的改进,解决了SNE在可视化后样本分布拥挤.边界不明显的特点,是目前最好的降维可视化手段. 关于t ...

  2. R使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    R使用tsne进行高维数据可视化实战:二维可视化.三维可视化 t-SNE是一种非常强大的技术,可以用于多维数据中的可视化分析(寻找模式).它对复杂多维数据的可视化能力是显而易见的,它以无监督的方式对数 ...

  3. Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...

  4. echarts数据可视化_Golang 数据可视化利器 go-echarts 开源啦

    Golang 数据可视化利器 go-echarts 开源啦 如果一门语言可以用来写爬虫,那么它就需要一个优雅的数据可视化库. ---沃.兹基硕德 在 Golang 这门语言中,目前数据可视化的第三方库 ...

  5. 数据可视化分析平台开源方案集锦

    B/S 架构的数据可视化分析平台开源方案不完全集锦,供各位参考. 排名不分先后.欢迎补充. kibana Elasticsearch 专用的数据分析检索仪表盘.ELK Stack 中的 K. 日志系统 ...

  6. 文件可视化编辑_高维数据可视化必备图形平行坐标图

    作者:科研猫 | 小飞鼠 责编:科研猫 | 依米 如果我们想比较某个数值在不同分组之间的变化差异.或者随着时间序列的变化趋势,往往会用到折线图.折线图是在我们的科研绘图当中最为常用的图形之一. 正如在 ...

  7. matlab利用t-SNE实现高维数据可视化(tsne函数用法实例)

    tsne用法 tsne - t-Distributed Stochastic Neighbor Embedding This MATLAB function returns a matrix of t ...

  8. GitHub开源城市结构公交路线数据可视化

    本开源项目用公交路线数据,还原城市结构,通过数据可视化手段,还原了 30 多个城市的城市结构. 该项目中有数据获取和处理的脚本,而且该项目充分体现了数据可视化带来的便利和效果,易于激发学习编程的热情. ...

  9. 大数据可视化html模板开源_5个最受工程师欢迎的大数据可视化工具

    大数据可视化是进行各种大数据分析解决的最重要组成部分之一. 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了. 为了满足并超越客户的期望,大数据可视化工具应该具备这些特征: 能够处理不同种类 ...

  10. 大数据可视化html模板开源_让数据栩栩如生,蚂蚁金服新一代开源数据可视化解决方案——AntV...

    介绍 AntV 是蚂蚁金服全新一代数据可视化解决方案,致力于提供一套简单.方便.专业可靠.无限可能的数据可视化最佳实践. 分类 G2 使用文档:https://www.yuque.com/antv/g ...

最新文章

  1. boost库之tcp实例(同步方式)
  2. Unity 安卓连调profile失败
  3. .NET core2.0 发布至IIS中
  4. C++程序设计语言(特别版) -- 一个桌面计算器
  5. 日期范围 java_JavaJoDA时间-实现日期范围迭代器
  6. postfix邮件系统之邮件客户端无法收邮件问题解析
  7. 如何着手分析一个行业?
  8. QuickSort的基本CPU实现代码
  9. 清华EMBA课程系列思考之十七(1) -- 新企业的孵化与创业投资
  10. 电子签章服务器位置的确定,一文看懂如何实现服务端电子签章
  11. 【整理】显微镜下人体细胞视频合集
  12. 打砖块python游戏源代码_python制作一个打砖块小游戏
  13. 365天深度学习训练营-第P3周:天气识别
  14. Xposed框架Xposed安装器|Xposed for Android 5.0/5.1/6.0|详细安装教程
  15. 小米机器人虚拟墙设置_扫地机器人虚拟墙介绍及怎样设置
  16. linux 微信不能发图片,微信回应发原图泄露位置信息​;元旦起 AI 造假音视频不得随意发布...
  17. 柔性电子 --基于碳纳米管的柔性压力传感器
  18. k8s 介绍与基本使用
  19. Hive实现32位UUID
  20. HDU 1593 find a way to escape

热门文章

  1. 解密Google Deepmind AlphaGo围棋算法
  2. IOCCC大赛代码分析笔记
  3. Matlab实现杨氏双缝干涉和(单缝+多缝+圆孔+矩孔)衍射
  4. DEAP2.1 使用方法(运筹学)
  5. java关联vss 80020009_Eclipse结合VSS方法
  6. 千锋2015.04月最新C语言基础视频教程
  7. 华为海思总裁深夜发文:进入至暗时刻,技术“备胎”将全部转正应敌
  8. 82C55控制交通灯
  9. 地震数据爬取——Scrapy爬虫框架应用
  10. win7开启不了Aero