---
# System prepended metadata

title: Manifold Learning

---

# Diffusion Maps (DM)

## Introduction

在高維度的空間中，數據往往容易變得稀疏，也不容易觀察出其性質，因此我們想要利用 Diffusion Maps 的方法讓高維度數據 maps 到低維度的空間中觀察，並同時保持數據間的關聯性(affinity).

## Algorithm

### Affinity

首先，我們先給定一個關係矩陣 (Affinity Matrix)，這邊使用Gaussian Kernal

$$K_{ij} := \exp(\frac {-\||X_{i} - X_{j}||^{2}} {\sigma^2})$$

公式中的 $\sigma$ 是一個常數。而這個 $K$ 矩陣滿足下性質

* $K$ 是對稱矩陣 (Symmetric Matrix)
* $K$ 的每一個元素都 $\geq 0$
* $K$ 是一個半正定矩陣 (Non-negative definite)

接著我們對$K$矩陣normalize.

$$P := D^{-1}K$$

$D$ 是一個 rowsum 矩陣，$D_{ii} := \sum^{n}_{j=1}K_{ij}$

$P$ 矩陣滿足一下性質

* P 是馬可夫矩陣 (Markov matrix)
* P 是機率密度函數矩陣 (Probability Density Function)

接著我們可以就可以定義新的空間下的距離。

$$d(X_{i}, X_{j})^{2} := \|p_i-p_j\|^{2}_{R^n}$$

$p_{i}$ 表示 $P$ 的第 i 個 row。

如果兩個點**很近**的話，那麼他們兩個到其他所有點的 Random walk 機率應該會很相似，所以我們將 Diffusion Distance 定義為兩個p.d.f.的距離(Euclidean distance)

### Mapping

我們想要對 $P$ 做 eigen-decomposition，但是 $P$ 沒有很好的性質，會花恨多時間計算。
所以我們定義一個新的 $P'$ 矩陣：

$$P' := D^{-\frac{1}{2}}KD^{-\frac{1}{2}}$$

可以很輕易地判斷 $P'$ 是一個對稱矩陣，而對稱矩陣滿足兩個性質

* Eigenvalues are all real
* Eigenvectors are orthogonal

Apply eigen-decomposion

$$P' = Q\Lambda Q^{T}$$

而我們可以利用 $P'$ 的 eigenvalues, eigenvectors 找出 $P$ 矩陣的 eigen-decomposion.

$P = S\Lambda S^{-1} = \sum^n_{i=1}\lambda_iv_ie_i^T$

其中

* $P$ 和 $P'$ 有相同的 eigenvalues
* $S = D^{-\frac{1}{2}}Q$

$S^{-1}$ is orthogonal. In the other word, it's a orthonormal basis in $R^{n}$ (Diffusion Space). And $S\Lambda$ is the coordinates.

所以現在我們知道何謂 Diffusion Maps 了，就是將 d-dimension 的數據先送到 n-dimension 的 Diffusion Space，而 Diffusion Distance 就是 Diffusion Space 的距離(Euclidean Distance).

### Dimensional Reduction

$\Lambda$ is a diagonal matrix and $\lambda_1\geq
\lambda_2\geq...\geq \lambda_n\geq 0$.

Since $P$ is markov matrix, 最大的 eigenvalue $\lambda_1$ 都會是 $1$ 

運用類似PCA的想法，我們的想要將資料降到 $\mathbb{R}^q$ ，那麼取 $\lambda_2v_2\sim\lambda_{q+1}v_{q+1}$ 當作 Diffusion Space 的座標就行了。

為什麼是從第二個開始取呢，因為 Markov matrix 的性質，$v_1$ 通常是定值
所以可以想像如果投影到 $[\lambda_1v_1, \lambda_2v_2, \lambda_3v_3]$ 的話，第一個component都是定值的話，等同於三維空間中，其中一個軸的值是固定的，那麼它就會在一個面上。這個結果和投影到 $[\lambda_2v_2, \lambda_3v_3]$ 是一樣的，因此在投影的時候我們可以忽略掉第一個 vector 。

## Extension

在選擇 Kernal Function 的常數 $\sigma$ 時，可以參考Local Scaling 的 Idea 選擇 每個點到第 s 個點的距離，而因為是Global，所以選擇這些距離的中位數。

### Proof of non-negative definite

We shall prove that 

$$x^TKx\geq0$$
$K_{ij}=exp(\frac{-\|x_i-x_j\|}{\sigma})\ ,\ x=[a_1\ a_2\cdots a_n]$

我們先討論 1-norm 的情況( $\sigma$是常數，視為 1 )
$x^TKx=\sum_{i,j=1}a_i\ e^{-|x_i-x_j|}\ a_j$

$=\sum_{i,j=1}a_i\ a_j\ e^{-(x_i+x_j)+2\min\{x_i,x_j\}}$

$=\sum_{i,j=1}\frac{a_ia_j}{e^{x_i}e^{x_j}} e^{2\min\{x_i,x_j\}}$

Define a function $\mathbb I_S: \mathbb{R} \to \mathbb{R}$ s.t.

$\mathbb I_S^{(t)} = \left\{ \begin{array}{} 1& \mbox{for}& t\in S \\ 0 & \mbox{for} & t\notin S\end{array}\right.$

Then, $\min\{x, y\}=\int_0^\infty \mathbb{I}_{[0,x]}^{(t)}\ \mathbb{I}_{[0,y]}^{(t)}dt$

$\Rightarrow\sum_{i,j=1}\frac{a_ia_j}{e^{x_i}e^{x_j}} e^{2min\{x_i,x_j\}}$

$=\sum_{i,j=1}\frac{a_ia_j}{e^{x_i}e^{x_j}}\min\{e^{2x_i}, e^{2x_j}\}$

$=\sum_{i,j=1}\frac{a_ia_j}{e^{x_i}e^{x_j}}\int_0^\infty \mathbb{I}_{[0,e^{x_i}]}^{(t)}\ \mathbb{I}_{[0,e^{x_j}]}^{(t)}dt$

$=\int_0^\infty\sum_{i,j=1}\frac{a_ia_j}{e^{x_i}e^{x_j}}\mathbb{I}_{[0,e^{x_i}]}^{(t)}\ \mathbb{I}_{[0,e^{x_j}]}^{(t)}dt$

$=\int_0^\infty[\sum_{i=1}\frac{a_i}{e^{x_i}}\mathbb{I}_{[0,e^{x_i}]}^{(t)}]^2dt\geq0$

$\Rightarrow x^TKx \geq 0$

所以，在1-norm的情況下，Affinity Matrix 是半正定矩陣。

在其他p-norm的情況下
By the $\href{https://proofwiki.org/wiki/Norms_on_Finite-Dimensional_Real_Vector_Space_are_EquivalentThm}
{Equivalent\ Norm},\ \exists\ n,\ m\gt 0$ s.t.

$$n\, \|x\|_{p}\leq |x|\leq m\, \|x\|_p$$

$\Rightarrow n\, \|x\|_p \leq |x|$

$\Rightarrow -|x|\leq -n\, \|x\|_p$

$\Rightarrow e^{-|x|} \leq e^{-n\, \|x\|_p}$

$\Rightarrow$ For all $i,\ j\ ,\ e^{-|x_i-x_j|} \leq e^{-n_{ij}\|x_i-x_j\|_p}$

$\Rightarrow$ Choose $n=\min\{n_{ij}\}$, then $e^{-|x_i-x_j|} \leq e^{-n\|x_i-x_j\|_p} \leq ne^{-\|x_i-x_j\|_p}$


$\Rightarrow K \leq \, ?K_p$, where n is scalar

$\Rightarrow 0 \leq x^TKx \leq n\, x^TK_px$

$\Rightarrow x^TK_px \geq 0$

因此，對於所有 p-norm 而言，這邊所定義的 Affinity Matrix 一定是半正定的。
