Unsupervised Learning (4) -- Neighbor Embedding
有了前面 Word Embedding 的概念後,我們可以把問題想得更 generalization 一些 : 「面對流形 ( Manifold )或其他 非線性 ( Non-Linear ) 的狀況,我們是否能嵌入 (Embedding) 到更低維度的空間中並且保留其特性呢 ?」
Locally Linear Embedding ( LLE )
LLE 的核心概念是這樣 ,原本的資料中,任一筆資料
要解決這樣的問題,可以經由兩段最優化過程而得 :
Step 1 : 周圍
Step 2 : 利用周圍
轉換的優劣其實取決於
當我們
Laplacain Eigenmap
我們也可以利用於 " Semi-supervised Learning " 中所提到的 Graph Theory 來對非線性資料做轉換。
一但我們將資料利用 Graph Theory 的方式連結成為 Graph 後,我們便可以計算其
但這裡是 Unsupervised Learning ,所以我們要將原本的 Loss Function
去掉 Supervied 項
但又因為沒有了 Supervised 項,這會導致我們在進行最小化的同時,或使得最後的解必然會是
這其實在講說,當我們投射到 Z 空間時,這個 Z 空間必然是「最小」的空間。
T-Distributed Stochastic Neighbor Embedding (t-SNE)
從 LLE 的演算過程可以看出來,它要做的事情是,把距離近的資料點,經過轉換後可以依然保持得很近。但是它卻沒有確保原本距離遠的資料點經過轉換後會一樣離的很遠。
因此,很多時候利用 LLE 轉換後,容易有大量重疊的現象發生。
而 t-SNE 則是試圖解決這樣的問題的一種方法。 它的概念簡單來說就是,原本的分布,經過轉換後,分布狀況要盡可能的相同。
首先我們要先對轉換前後的資料空間定義出距離 ( 在這裡,我們將距離定義成為相似度 ) :
利用轉換前後空間不同的距離定義,來使資料間遠近能在轉換後更加明顯。
再來便可以定義轉換前後的分布為
一切就緒後,Loss function 便為兩個分布之間的差距,在數學上使用 KL 散度 ( 相對熵 )來計算,接著再找最優解即可 :
經過 t-SNE 處理,很明顯的改善了 LLE 的問題
各個類別,經過轉換後都可以將各群距離拉開。