Unsupervised Learning - Neighbor Embedding === ###### tags: `李宏毅` ## 教材 * [pdf](https://drive.google.com/file/d/1G-1o7O29w_aNZwv9NYyQdG3Tzk2h88NG/view?usp=sharing) * [youtube](https://www.youtube.com/watch?v=GBUEjkpoxXc&ab_channel=Hung-yiLee) ## Manifold Learning 算三個點之間的距離在二維平面是用 $x^2+y^2$ 計算,但是在高維空間當距離差太大時誤差就會變大。所以會希望有個方法可以把所有資料點降維成二維空間。 ![](https://i.imgur.com/LeRK8R9.png) ## Locally Linear Embedding(LLE) 求個 $w_{ij}$ 把點 $x^j$ 變成 $x^i$,所以要找 W 最小化 $\sum_{i}||x^i-\sum_{j}w_{ij}x^j||_2$。 ![](https://i.imgur.com/SAzjixl.png) 因此 W 在上個步驟求出來了,現在要求另一個 Space 上的點 $z^i, z^j$ 最小化 $\sum_{i}||z^i-\sum_{j}w_{ij}z^j||_2$。 ![](https://i.imgur.com/rIxiN8q.png) ## Laplacian Eigenmaps 如果 $x^1, x^2$ 在高維空間很近,那 $\hat{y}^1, \hat{y}^2$ 應該也會很近。 ![](https://i.imgur.com/kUp7DSQ.png) ## T-distributed Stochastic Neighbor Embedding(t-SNE) 前面的方法有個問題,就是雖然相似的資料是相近的,但是不同的資料可能會重疊。 因此可以計算所有資料點的相似度,會希望資料點在高維的分布跟在低維的分布是接近的,下圖 L 是計算相似度的方法。 ![](https://i.imgur.com/cFxovZ2.png) TSNE 需要一次給一組 x 產生一組 z,但是如果之後要再加其他資料點就要整個演算法重跑一次。所以 TSNE 一般不用在 Training,而是 Visualization。 t-SNE 和 SNE 不同的地方在於它的 Similarity Measure,不同的資料點降維之後距離仍然會很遠。 ![](https://i.imgur.com/3EWQX4s.png) 使用 t-SNE 做 Visualization 後會發現資料點變成一群一群的。 ![](https://i.imgur.com/Gx4yX4b.png)