---
# System prepended metadata

title: Unsupervised Learning - Neighbor Embedding
tags: [李宏毅]

---

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)
