# 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 一定是半正定的。