谷歌Embedding Projector開源,高維數據可視化變得超簡單!
最近谷歌開源了網頁版數據可視化工具 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 在機器學習應用方面,對研發人員有所幫助,也希望幫助大家更好理解,機器學習算法是如何對數據進行解釋的。如果想了解更多的細節,請參看這里。
來自: 雷鋒網