ML Lecture 15: Unsupervised Learning - Neighbor Embedding
Manifold Learning
- 在高維空間上,只有靠得比較近的 data point 做 Euclidean Distance 才合理,若 data point 之間離得比較遠,使用 Euclidean Distance 就不合理,因此降維使得 Euclidean Distance 合理
Locally Linear Embedding (LLE)
- 先選出 的 neighbor ,他們之間的關係寫做
- 希望 可以寫成 neighbors 的 linear combination,因此要 minimize ,得到所有
- 希望降維後的 space 仍然保持原來 space 的關係,也就是希望可以利用同樣的 linear combination 產生 ,因此要 minimize
LLE 需要選好 neighbor 的數量,才會 work
- 太少不會 work
- 太多也不 work,原因:回想 manifold learning,距離太遠的 data point 使用 Euclidean Distance 不合理
Laplacian Eigenmap / Spectral Clustering
- Graph-based approach
- Assumption: if and are close in a high density region, and are then close to each other
回想 semi-supervised learning
- w_{i,j}: 相連的data i和j的相似程度,若沒相連則=0
- 寫平方不太好,寫 Euclidean Distance 比較好
- 但是這樣的 constraint 還不夠,因為它會想把所有 z 都設 0,所以要再對 z 下 constraint
- if the dim of is ,
- 這樣解出來的 其實就是 graph Laplacian 的 Eigen Vector
- 找到 之後再對 做 clustering,這種做法叫 spectral clustering
T-distributed Stochastic Neighbor Embedding(t-SNE)
之前做法的問題
- 只假設相近的 data point 要相似,沒有說不相近的要分開
t-SNE
- 計算所有 之間的相似度
- 之後會說相似度的計算方式
- 對 做 normalize 得到
- normalize 是必要的,因為你不知道計算出的 scale 在什麼範圍
- 可以用類似的方式對 lower dimension 計算
- 找到 使得 和 的 distribution 越接近越好,因此 minimize
- 可以用 gradient descent 解這問題
- 將x降維到z上
- : 對於而言,與他相似的機率,各個xj的此項加總為1
- 找出一組 z 使得 和 之間的 KL Divergence越小越好
- data point 很多的時候,可能先做 PCA 降維,再 t-SNE 比較快
- 每有一個新的 data point 就要重 train 一次 t-SNE,所以通常只用來 visualize
Similarity Measure
之前的 graph-based 方法說用 RBF function 比較好
因此計算 之間的 similarity 時:
而計算 的 similarity 時:
SNE
- 合理, 和 使用同樣的 similarity function
t-SNE
- 可是錄音說是 Euclidean Distance 的平方欸@@
- 利用 t-distribution,則本來遠的會拉更遠