論文題目:《Nonlinear Dimensionality Reduction by Locally Linear Embedding 》
發表時間:Science 2000
論文地址:Download
tips:原論文:一篇report ,解釋的不夠清楚,博主查閱眾多資料,以及參考交大於劍老師教材總結。
簡介
區域性線性嵌入(Locally Linear Embedding,簡稱LLE)重要的降維方法。
傳統的 PCA,LDA 等方法是關注樣本方差的降維方法,LLE 關注於降維時保持樣本區域性的線性特徵,由於LLE在降維時保持了樣本的區域性特徵,所以廣泛用於影像影像識別,高維資料視覺化等領域。
流形學習
LLE 是流形學習(Manifold Learning)的一種。
流形學習是一大類基於流形的框架。我們可以認為 LLE 中的流形是一個不閉合的曲面,且流形曲面資料分佈比較均勻,比較稠密。LLE 演算法是將流形從高維到低維的降維過程,在降維過程希望流形在高維的一些特徵可以得到保留。
一個形象的流形降維過程如下圖。我們有一塊捲起來的布,我們希望將其展開到一個二維平面,我們希望展開後的布能夠在區域性保持布結構的特徵,其實也就是將其展開的過程,就想兩個人將其拉開一樣。
對於降維問題,以前的方法是基於多維標度(MDS),計算試圖保持資料點之間的 成對距離 或 廣義差異的嵌入,這些距離是沿著直線測量的,在更具權威性的 MDS 用法中,如 Isomap,沿著限制於觀測資料的流形表示的最短路徑。如等距對映(ISOMAP)演算法希望在降維後保持樣本之間的測地距離而不是歐式距離,因為測地距離更能反映樣本之間在流形中的真實距離。
在這裡,我們採用一種不同的方法,稱為區域性線性嵌入(LLE),這種方法不需要估計廣泛分離的資料點之間的成對距離。
等距對映(ISOMAP)演算法需要找所有樣本全域性最優解,當資料量很大,樣本維度很高時,計算非常的耗時,鑑於這個問題,LLE 通過放棄所有樣本全域性最優的降維,只是通過保證區域性最優來降維。同時假設樣本集在區域性是滿足線性關係的,進一步減少的降維的計算量。
LLE演算法思想
LLE 假設資料在較小區域性是線性的,即:某一資料可由它鄰域中幾個樣本線性表示。如有一個樣本$x_1$,我們在它原始高維鄰域裡用 KNN 思想找到和它最近的三個樣本 $x_2,x_3,x_4$,然後假設$x_1$可以由 $x_2,x_3,x_4$ 線性表示,即:
$x_{1}=w_{12} x_{2}+w_{13} x_{3}+w_{14} x_{4}$
其中,$w_{12}, w_{13}, w_{14}$為權重係數。在通過 LLE 降維後,我們希望 $x_1$ 在低維空間對應的投影 $x_1'$ 以及 $x_2,x_3,x_4$ 對應的投影 $x_2',x_3',x_4'$ 也儘量保持線性關係,即
$x_{1}^{\prime} \approx w_{12} x_{2}^{\prime}+w_{13} x_{3}^{\prime}+w_{14} x_{4}^{\prime}$
我們希望投影前後線性關係的權重係數 $w_{12}, w_{13}, w_{14}$ 是儘量不變或改變最小。
從上可看出,線性關係只在樣本附近起作用,遠離樣本的資料對區域性線性關係沒有影響,因此降維複雜度降低很多。
LLE演算法推導
Part 1
首先要確定鄰域大小的選擇,即需要多少個鄰域樣本來線性表示某樣本。假設這個值為 $k$ ,可以通過和 KNN 一樣的思想,採用距離度量如:歐式距離,來選擇某樣本的 $k$ 個最近鄰。
在尋找某樣本 $x_i$ 的 $k$ 個最近鄰之後,就需要找到 $x_i$ 和 這 $k$ 個最近鄰之間的線性關係,即找到線性關係的權重係數。顯然這是一個迴歸問題。
我們假設有 $ m$ 個 $n$ 維樣本 $\{x_1,x_2,...,x_m\}$ ,我們可以用均方差作為迴歸問題的損失函式:
$J(w)=\sum \limits _{i=1}^{m}\left\|x_{i}-\sum \limits_{j=1}^{k} w_{i j} x_{j}\right\|_{2}^{2}$
一般會對權重係數 $w_{ij}$ 做歸一化的限制(保證 $W$ 的平移不變性),即權重係數需滿足:
$\sum \limits _{j=1}^{k} w_{i j}=1$
對於不在樣本 $x_i$ 鄰域內的樣本 $x_j$,令對應的 $w_{ij} = 0$。
對於 $J(W)$ ,我們需要求出權重係數,可以採用拉格朗日乘法來求解,這裡先對 $J(W)$ 矩陣化:
$\begin{aligned}J(W) &=\sum \limits _{i=1}^{m}\left\|x_{i}-\sum \limits_{j=1}^{k} w_{i j} x_{j}\right\|_{2}^{2} \\&=\sum \limits_{i=1}^{m}\left\|\sum \limits_{j=1}^{k} w_{i j} x_{i}-\sum \limits_{j=1}^{k} w_{i j} x_{j}\right\|_{2}^{2} \\&=\sum \limits_{i=1}^{m}\left\|\sum \limits_{j=1}^{k} w_{i j}\left(x_{i}-x_{j}\right)\right\|_{2}^{2} \\&=\sum \limits_{i=1}^{m}\left\|\left(x_{i}-x_{j}\right) W_{i}\right\|_{2}^{2} \\&=\sum \limits_{i=1}^{m} W_{i}^{T}\left(x_{i}-x_{j}\right)^{T}\left(x_{i}-x_{j}\right) W_{i}\end{aligned}$
其中 $W_i =(w_{i1}, w_{i2},...w_{ik})$ 。
令矩陣 $Z_i=(x_i-x_j)^T(x_i-x_j)$ ,則 $J(W)$ 進一步簡化為 $J(W) = \sum\limits_{i=1}^{m} W_i^TZ_iW_i$ 。對於權重約束,可以矩陣化為:
$\sum \limits _{j=1}^{k} w_{i j}=W_{i}^{T} 1_{k}=1$
現在我們將矩陣化的 $J(W)$ 以及權重約束 用拉格朗日子乘法合為一個優化目標:
$L(W)=\sum \limits _{i=1}^{m} W_{i}^{T} Z_{i} W_{i}+\lambda\left(W_{i}^{T} 1_{k}-1\right)$
對 $W$ 求導並令其值為0,得到
$2 Z_{i} W_{i}+\lambda 1_{k}=0$
即
$W_{i}=\lambda^{\prime} Z_{i}^{-1} 1_{k}$
其中 $\lambda' = -\frac{1}{2}\lambda$ 為一個常數。利用 $W_i^T1_k = 1$,對 $W_i$ 歸一化,那麼最終的權重係數 $W_i$ 為:
$W_{i}=\frac{Z_{i}^{-1} 1_{k}}{1_{k}^{T} Z_{i}^{-1} 1_{k}}$
Part 2
現在得到了高維的權重係數,我們希望這些權重係數對應的線性關係在降維後的低維一樣得到保持。假設我們的 $n$ 維樣本集 $\{x_1,x_2,...,x_m\}$ 在低維的 $d$ 維度對應投影為 $\{y_1,y_2,...,y_m\}$ ,我們希望保持線性關係,也就是希望對應的均方差損失函式最小,即最小化損失函式 $J(Y)$ 如下:
$J(y)=\sum \limits _{i=1}^{m}\left\|y_{i}-\sum \limits _{j=1}^{k} w_{i j} y_{j}\right\|_{2}^{2}$
可以看到這個式子和高維的損失函式幾乎相同,唯一的區別是高維的式子中,高維資料已知,目標是求最小值對應的權重係數 $W$,而我們在低維是權重係數 $W$ 已知,求對應的低維資料。
為了得到標準化的低維資料,一般也會加入約束條件如下:
$\sum \limits _{i=1}^{m} y_{i}=0 ; \quad \frac{1}{m} \sum \limits _{i=1}^{m} y_{i} y_{i}^{T}=I$
首先我們將目標損失函式矩陣化:
$\begin{aligned}J(Y) &=\sum \limits _{i=1}^{m}\left\|y_{i}-\sum \limits_{j=1}^{k} w_{i j} y_{j}\right\|_{2}^{2} \\&=\sum \limits_{i=1}^{m}\left\|Y I_{i}-Y W_{i}\right\|_{2}^{2} \\&=\operatorname{tr}\left(Y^{T}(I-W)^{T}(I-W) Y\right)\end{aligned}$
如果我們令 $M=(I-W)^T(I-W)$ ,則優化函式轉變為最小化下式:$J(Y) = tr(Y^TMY)$ ,$tr$ 為跡函式。約束函式矩陣化為:$Y^TY=mI$ 。
譜聚類和 $PCA$ 的優化和這裡的優化過程幾乎一樣。最小化 $J(Y)$ 對應的 $Y$ 就是 $M$ 的最小的 $d$ 個特徵值所對應的 $d$ 個特徵向量組成的矩陣。當然我們也可以通過拉格朗日函式來得到這個:
$L(Y)=\operatorname{tr}\left(Y^{T} M Y\right)+\lambda\left(Y^{T} Y-m I\right)$
其中 $Y=\left(y_{ 1}, y_{ 2}, \ldots y_{k}\right)^T$ 。
對 $Y$ 求導並令其為 $0$ ,我們得到 $2MY + 2\lambda Y =0$ ,即 $MY = \lambda Y$ ,要得到最小的 $d$ 維資料集,就需要求出矩陣 $M$ 最小的 $d$ 個特徵值所對應的 $d$ 個特徵向量組成的矩陣 $Y=(y_1,y_2,...y_d)$ 即可。
一般的,由於 $M$ 的最小特徵值為 $0$ 不能反應資料特徵,此時對應的特徵向量為全 $1$ 。我們通常選擇 $M$ 的第 $ 2$ 個到第 $d+1$ 個最小的特徵值對應的特徵向量 $M=(y_2,y_3,...y_{d+1})$ 來得到最終的 $Y$。為什麼 $M$ 的最小特徵值為 $0$ 呢?這是因為 $W^Te =e$,得到 $|W^T-I|e =0$,由於$e \neq 0$,所以只有 $W^T-I =0$,即 $(I-W)^T=0$,兩邊同時右乘 $I-W$,即可得到 $(I-W)^T(I-W)e =0e$,即 $M$ 的最小特徵值為 $0$。
LLE演算法流程
從圖中可以看出,LLE 演算法主要分為三步,第一步是求 $K$ 近鄰的過程,這個過程使用了和 KNN 演算法一樣的求最近鄰的方法。第二步,就是對每個樣本求它在鄰域裡的 $K$ 個近鄰的線性關係,得到線性關係權重係數 $W$。第三步就是利用權重係數來在低維裡重構樣本資料。
具體過程如下:
輸入:樣本集 $D=\{x_1,x_2,...,x_m\}$,最近鄰數 $k$,降維到的維數 $d$
輸出: 低維樣本集矩陣 $D'$
1) for i 1 to m,按歐式距離作為度量,計算和 $x_i$ 最近的的 $k$ 個最近鄰 $(x_{i1}, x_{i2}, ...,x_{ik},)$
2) for i 1 to m,求出區域性協方差矩陣 $Z_i=(x_i-x_j)^T(x_i-x_j)$,並求出對應的權重係數向量:
$W_{i}=\frac{Z_{i}^{-1} 1_{k}}{1_{k}^{T} Z_{i}^{-1} 1_{k}}$
3) 由權重係數向量 $W_i$ 組成權重係數矩陣 $W$,計算矩陣 $M=(I-W)^T(I-W)$
4) 計算矩陣 $M$ 的前 $d+1$ 個特徵值,並計算這 $d+1$ 個特徵值對應的特徵向量 $\{y_1,y_2,...y_{d+1}\}$。
5)由第二個特徵向量到第 $d+1$ 個特徵向量所張成的矩陣即為輸出低維樣本集矩陣 $D' = (y_2,y_3,...y_{d+1})$
LLE總結
LLE是廣泛使用的圖形影像降維方法,它實現簡單,但是對資料的流形分佈特徵有嚴格的要求。比如不能是閉合流形,不能是稀疏的資料集,不能是分佈不均勻的資料集等等,這限制了它的應用。下面總結下LLE演算法的優缺點。
LLE演算法的主要優點有:
1)可以學習任意維的區域性線性的低維流形
2)演算法歸結為稀疏矩陣特徵分解,計算複雜度相對較小,實現容易。
LLE演算法的主要缺點有:
1)演算法所學習的流形只能是不閉合的,且樣本集是稠密均勻的。
2)演算法對最近鄰樣本數的選擇敏感,不同的最近鄰數對最後的降維結果有很大影響。
『總結不易,加個關注唄!』