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) 局部线性嵌入
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) 局部线性嵌入