LLE原理
局部線性嵌入(Locally Linear Embedding, LLE)是無監督非線性降維算法,是流行學習的一種。
LLE和Isomap一樣試圖在降維過程中保持高維空間中的流形結構。Isomap把任意兩個樣本點之間的測地距離作爲流形結構的特徵,而LLE認爲局部關係刻畫了流形結構。
LLE認爲,在高維中間中的任意一個樣本點和它的鄰居樣本點近似位於一個超平面上,所以該樣本點可以通過其鄰居樣本點的線性組合重構出來。
我們假設共有N個鄰居點。重構誤差爲
J(W)=∑i=1N||xi−∑k=1Kwikηik||2(1)
其中wik時的鄰居係數。
爲了得到W,求解最小化問題
minWs.t.J(W)∑k=1Kwik=1,i=1,2,⋯,N.(2)
\begin{align}
\min_W & \quad J(W) \\\\
s.t. & \quad \sum_{k=1}^K w_{ik}=1, i=1,2,\cdots, N. \\\\
爲了使得流形結構在低維空間中得以保持,LLE要求低維空間中的樣本點仍能保持上面的局部線性關係。假設xi可以通過下面的優化問題進行求解:
minYs.t.∑i=1N||yi−∑j=1Nwijyj||21N∑i=1NyiyTi=I.(3)
\begin{align}
\min_Y & \quad \sum_{i=1}^N ||y_i-\sum_{j=1}^N w_{ij} y_j||^2 \\\\
s.t. & \quad \frac{1}{N}\sum_{i=1}^N y_i y_i^T = I . \\\\
注意,這裏的wij,根據上下文確定到底是哪個。
兩個優化問題的求解
上面兩個優化問題都可以直接得到最優解的解析式。
高維空間中的優化問題
有兩種方法可以推出優化問題(2)的最優解。
方法一
令wi,則
J(W)=∑i=1N||xi−NiwTi||2=∑i=1N(xi−NiwTi)T(xi−NiwTi)=∑i=1N(xTixi−2xTiNiwTi+wiNTiNiwTi).
\begin{align}
J(W)&=\sum_{i=1}^N||x_i-N_i w_i^T||^2 \\\\
&=\sum_{i=1}^N(x_i-N_i w_i^T)^T(x_i-N_i w_i^T) \\\\
&=\sum_{i=1}^N(x_i^Tx_i - 2x_i^TN_i w_i^T + w_i N_i^T N_i w_i^T)
由於第一項和W無關,所以目標函數等價於
J(W)=∑i=1N(−2xTiNiwTi+wiNTiNiwTi).(4)
構建拉格朗日函數
L(W,λ)=∑i=1N(−2xTiNiwTi+wiNTiNiwTi)+∑i=1Nλi(wi1−1),
求導得到:
∂L∂wi=−2xTiNi+2wiNTiNi+λi1T=0,(5)
∂L∂λi=(wi1−1)=0.(6)
令
Ci=NTiNi∈RK×K.(7)
由公式(5)可以得到
wi=(xTiNi−12λi1T)(Ci)−1,(8)
於是有
wi1=(xTiNi−12λi1T)⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑_m=1K(Ci)−1_1m∑_m=1K(Ci)−1_2m⋮∑_m=1K(Ci)−1_Km⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=xTiNi⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑_m=1K(Ci)−1_1m∑_m=1K(Ci)−1_2m⋮∑_m=1K(Ci)−1_Km⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟−12λi1T⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑_m=1K(Ci)−1_1m∑_m=1K(Ci)−1_2m⋮∑_m=1K(Ci)−1_Km⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=[xTiηi1,xTiηi2,⋯,xTiηiK]⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑_m=1K(Ci)−1_1m∑_m=1K(Ci)−1_2m⋮∑_m=1K(Ci)−1_Km⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟−12λi∑n=1K∑_m=1K(Ci)−1_nm=∑n=1KxTiηin∑_m=1K(Ci)−1_nm−12λi∑n=1K∑_m=1K(Ci)−1_nm=∑n=1K∑_m=1KxTiηin(Ci)−1_nm−12λi∑n=1K∑_m=1K(Ci)−1_nm,
\begin{align}
w_i 1 &= (x_i^T N_i - \frac{1}{2}\lambda_i 1^T)\begin{pmatrix}
\sum\_{m=1}^K (C^i)^{-1}\_{1m} \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{2m} \\\\
\vdots \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{Km}
\end{pmatrix} \\\\
&=x_i^T N_i \begin{pmatrix}
\sum\_{m=1}^K (C^i)^{-1}\_{1m} \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{2m} \\\\
\vdots \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{Km}
\end{pmatrix} - \frac{1}{2}\lambda_i 1^T \begin{pmatrix}
\sum\_{m=1}^K (C^i)^{-1}\_{1m} \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{2m} \\\\
\vdots \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{Km}
\end{pmatrix} \\\\
& = [x_i^T\eta_{i1}, x_i^T\eta_{i2}, \cdots, x_i^T\eta_{iK}] \begin{pmatrix}
\sum\_{m=1}^K (C^i)^{-1}\_{1m} \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{2m} \\\\
\vdots \\\\
\sum\_{m=1}^K (C^i)^{-1}\_{Km}
\end{pmatrix} - \frac{1}{2}\lambda_i \sum_{n=1}^K \sum\_{m=1}^K (C^i)^{-1}\_{nm} \\\\
& = \sum_{n=1}^K x_i^T\eta_{in} \sum\_{m=1}^K (C^i)^{-1}\_{nm} - \frac{1}{2}\lambda_i \sum_{n=1}^K \sum\_{m=1}^K (C^i)^{-1}\_{nm} \\\\
& = \sum_{n=1}^K \sum\_{m=1}^K x_i^T\eta_{in} (C^i)^{-1}\_{nm} - \frac{1}{2}\lambda_i \sum_{n=1}^K \sum\_{m=1}^K (C^i)^{-1}\_{nm} \\\\
代入(6)中,得到
∑n=1K∑_m=1KxTiηin(Ci)−1_nm−12λi∑n=1K∑_m=1K(Ci)−1_nm=1,
所以
λi=2(∑Kn=1∑_m=1KxTiηin(Ci)−1_nm−1)∑Kn=1∑_m=1K(Ci)−1_nm,
代入公式(7)中得到
wi=(xTiNi−(1−∑Kn=1∑_m=1KxTiηin(Ci)−1_nm)∑Kn=1∑_m=1K(Ci)−1_nm1T)(Ci)−1.(9)
根據公式(9)得到所有的wi。
方法二
J(W)=∑i=1N||xi−∑k=1Kwikηik||2=∑i=1N||∑k=1Kwikxi−∑k=1Kwikηik||2=∑i=1N||∑k=1Kwik(xi−ηik)||2=∑i=1N||(Xi−Ni)wTi||2=∑i=1N((Xi−Ni)wTi)T((Xi−Ni)wTi)=∑i=1Nwi(Xi−Ni)T(Xi−Ni)wTi,(10)
\begin{align}
J(W) &= \sum_{i=1}^N ||x_i-\sum_{k=1}^K w_{ik}\eta_{ik}||^2 \\\\
& = \sum_{i=1}^N ||\sum_{k=1}^K w_{ik} x_i-\sum_{k=1}^K w_{ik}\eta_{ik}||^2 \\\\
& = \sum_{i=1}^N ||\sum_{k=1}^K w_{ik} (x_i-\eta_{ik})||^2 \\\\
& = \sum_{i=1}^N || (X_i-N_i)w_i^T||^2 \\\\
& = \sum_{i=1}^N ((X_i-N_i)w_i^T)^T((X_i-N_i)w_i^T) \\\\
& = \sum_{i=1}^N w_i(X_i-N_i)^T(X_i-N_i)w_i^T
其中Xi=[xi,⋯,xi]∈Rd×K。
構建拉格朗日函數
L(W,λ)=∑i=1Nwi(Xi−Ni)T(Xi−Ni)wTi+∑i=1Nλi(wi1−1),
求導得到
∂L∂wi=2wi(Xi−Ni)T(Xi−Ni)+λi1T=0,(11)
∂L∂λi=(wi1−1)=0.(12)
令
S=(Xi−Ni)T(Xi−Ni).(13)
可以得到
wi=−12λi1TS−1,(14)
代入公式(12)中,得到
12λi1TS−11−1=0,
1TS−11
代入公式(14)得到
wi=−1TS−11TS−11.(15)
暫時還沒有證明(9)和(15)是否等價,留作以後的習題吧。
低維空間中的優化問題
令Y=[y1,y2,⋯,yN]∈RN×N行元素。優化問題(3)的目標函數可以化簡成:
J(Y)=∑i=1N||yi−∑j=1Nwijyj||2=∑i=1N||yi−YwTi||2=∑i=1N(yi−YwTi)T(yi−YwTi)=∑i=1N(yTiyi−2yTiYwTi+wiYTYwTi)=∑i=1NyTiyi−2∑i=1NyTiYwTi+∑i=1NwiYTYwTi=∑i=1NyTiyi−2∑i=1N[yTiy1,yTiy2,⋯,yTiyN]⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜wi1wi2⋮wiN⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟+∑i=1N(wi1,wi2,⋯,wiN)⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜yT1yT2⋮yTN⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟(y1,y2,⋯,yN)⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜wi1wi2⋮wiN⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=∑i=1NyTiyi−2∑i=1N∑j=1NyTiyjwij+∑i=1N∑m=1NwimyTm∑n=1Nwinyn=∑i=1NyTiyi−2∑i=1N∑j=1NyTiyjwij+∑i=1N∑m=1N∑n=1NwimwinyTmyn=∑i=1NyTiyi−2∑i=1N∑j=1NyTiyjwij+∑k=1N∑i=1N∑j=1NwkiwkjyTiyj=∑i=1NyTiyi−∑i=1N∑j=1N2wijyTiyj+∑i=1N∑j=1N(∑k=1Nwkiwkj)yTiyj,(16)
\begin{align}
J(Y)&= \sum_{i=1}^N ||y_i-\sum_{j=1}^N w_{ij} y_j||^2 \\\\
& = \sum_{i=1}^N ||y_i- Yw_i^T||^2\\\\
& = \sum_{i=1}^N(y_i- Yw_i^T)^T(y_i- Yw_i^T) \\\\
&= \sum_{i=1}^N(y_i^Ty_i - 2y_i^TYw_i^T+w_iY^TYw_i^T) \\\\
&= \sum_{i=1}^N y_i^Ty_i -2 \sum_{i=1}^N y_i^TYw_i^T + \sum_{i=1}^N w_iY^TYw_i^T \\\\
&=\sum_{i=1}^N y_i^Ty_i - 2 \sum_{i=1}^N [y_i^Ty_1, y_i^Ty_2, \cdots, y_i^Ty_N] \begin{pmatrix} w_{i1} \\\\ w_{i2} \\\\ \vdots \\\\ w_{iN}\end{pmatrix} \\\\
& \quad + \sum_{i=1}^N \begin{pmatrix} w_{i1}, w_{i2},
\cdots, w_{iN}
\end{pmatrix} \begin{pmatrix} y_1^T \\\\ y_2^T
\\\\ \vdots \\\\ y_N^T
\end{pmatrix} \begin{pmatrix} y_1,y_2, \cdots,y_N
\end{pmatrix}\begin{pmatrix} w_{i1}\\\\w_{i2}\\\\ \vdots\\\\ w_{iN} \end{pmatrix} \\\\
&= \sum_{i=1}^N y_i^Ty_i - 2 \sum_{i=1}^N \sum_{j=1}^N y_i^T y_j w_{ij} + \sum_{i=1}^N \sum_{m=1}^N w_{im}y_m^T \sum_{n=1}^N w_{in}y_n \\\\
&= \sum_{i=1}^N y_i^Ty_i - 2 \sum_{i=1}^N \sum_{j=1}^N y_i^T y_j w_{ij} + \sum_{i=1}^N \sum_{m=1}^N \sum_{n=1}^N w_{im} w_{in} y_m^T y_n \\\\
&= \sum_{i=1}^N y_i^Ty_i - 2 \sum_{i=1}^N \sum_{j=1}^N y_i^T y_j w_{ij} + \sum_{k=1}^N \sum_{i=1}^N \sum_{j=1}^N w_{ki} w_{kj} y_i^T y_j \\\\
&= \sum_{i=1}^N y_i^Ty_i - \sum_{i=1}^N \sum_{j=1}^N 2 w_{ij} y_i^T y_j + \sum_{i=1}^N \sum_{j=1}^N \left( \sum_{k=1}^N w_{ki} w_{kj} \right) y_i^T y_j \\\\
令
δij=⎧⎩⎨1,ifi=j0,ifi≠j,
\delta_{ij}=\begin{cases}
1,\quad if \quad i=j \\\\
0, \quad if \quad i \neq j
令
Mij=δij−2wij+∑k=1Nwkiwkj,(17)
則(16)可以寫成
J(Y)=∑i=1N∑j=1NMijyTiyj.(18)
通過展開進行矩陣相乘,可以證明
J(Y)=∑i=1N∑j=1NMijyTiyj=tr(YMYT).
令Z=YT,那麼
J(Z)=tr(ZTMZ).(19)
優化問題(3)的約束條件等價於
1NYYT=I,
用
Z
於是優化問題(3)現在變成
minZs.t.tr(ZTMZ),1NZTZ=I(21)
\begin{align}
\min_Z & \quad tr(Z^TMZ), \\\\
s.t. & \quad \frac{1}{N}Z^TZ=I
拉格朗日乘子法,可以得到這個優化問題的最優解滿足
Mzi=λizi,(22)
即最優解肯定是M
又因爲約束條件1NZTZ=I\frac{1}{N}Z^TZ=I
所以
J(Z)=N2∑i=1Nλi,
所以爲了最小化
J(Z)。
綜上,M。
LLE算法總結
算法流程
步驟一
首先根據歐氏距離或者其他度量標準得到每個樣本的K。
步驟二
根據公式(7)求出Ci。代入(9)中,得到根據每個樣本的重構係數。
步驟三
把步驟二中的權重係數重新構建成稀疏矩陣W。
算法優缺點
優點
- 算法中只涉及矩陣運算,容易實現;
- 低維空間維度變化時,不需要重新運行LLE,只要在原有低維空間的基礎上增加或者減去維度;
缺點
疑問
- 優化問題(18)怎麼應用拉格朗日乘子法?
自己嘗試推導了一下,發現得到的方程組非常繁瑣,不知道怎麼化簡。
參考
[1] Nonlinear dimensionality reduction by locally linear embedding. Sam T. Roweis and Lawrence K. Saul. 2000.
[2] 降維打擊之LLE算法
[3] 機器學習降維算法三:LLE (Locally Linear Embedding) 局部線性嵌入