world embedding 嵌入

 

 

http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization

 

 

 

 

 

 

嵌入  |  TensorFlow https://tensorflow.google.cn/programmers_guide/embedding

本文档介绍了嵌入这一概念,并且举了一个简单的例子来说明如何在 TensorFlow 中训练嵌入,此外还说明了如何使用 TensorBoard Embedding Projector 查看嵌入(真实示例)。前两部分适合机器学习或 TensorFlow 新手,而 Embedding Projector 指南适合各个层次的用户。

嵌入是从离散对象(例如字词)到实数向量的映射。例如,英语字词的 300 维嵌入可能包括:

 
blue:  (0.01359, 0.00075997, 0.24608, ..., -0.2524, 1.0048, 0.06259)
blues:  (0.01396, 0.11887, -0.48963, ..., 0.033483, -0.10007, 0.1158)
orange:  (-0.24776, -0.12359, 0.20986, ..., 0.079717, 0.23865, -0.014213)
oranges:  (-0.35609, 0.21854, 0.080944, ..., -0.35413, 0.38511, -0.070976)

这些向量中的各个维度通常没有固有含义,机器学习所利用的是向量的位置和相互之间的距离这些整体模式。

嵌入对于机器学习的输入非常重要。分类器(更笼统地说是神经网络)适用于实数向量。它们训练密集向量时效果最佳,其中所有值都有助于定义对象。不过,机器学习的很多重要输入(例如文本的字词)没有自然的向量表示。嵌入函数是将此类离散输入对象转换为有用连续向量的标准和有效方法。

嵌入作为机器学习的输出也很有价值。由于嵌入将对象映射到向量,因此应用可以将向量空间中的相似性(例如欧几里德距离或向量之间的角度)用作一项强大而灵活的标准来衡量对象相似性。一个常见用途是找到最近的邻点。例如,下面是采用与上述相同的字词嵌入后,每个字词的三个最近邻点和相应角度:

 
blue:  (red, 47.6°), (yellow, 51.9°), (purple, 52.4°)
blues:  (jazz, 53.3°), (folk, 59.1°), (bluegrass, 60.6°)
orange:  (yellow, 53.5°), (colored, 58.0°), (bright, 59.9°)
oranges:  (apples, 45.3°), (lemons, 48.3°), (mangoes, 50.4°)

这样应用就会知道,在某种程度上,苹果和橙子(相距 45.3°)的相似度高于柠檬和橙子(相距 48.3°)。

 

 

Embedding projector - visualization of high-dimensional data http://projector.tensorflow.org/

 

posted @ 2017-09-18 02:01  papering  阅读(228)  评论(0编辑  收藏  举报