保定網(wǎng)站設(shè)計網(wǎng)站app開發(fā)軟件
局部保持投影(Locality preserving projections,LPP)
方法概述
核心思想
-
有映射 Y m ? n = f ( X d ? n ) \underset{m*n}{Y}=f(\underset {d*n}X) m?nY?=f(d?nX?),能夠?qū)崿F(xiàn)將d維的樣本變換到m維空間之中
-
假設(shè):對于一個好的降維方法,在高維空間下距離近(相似度高)的兩個點,在低維空間下依舊保持相近的關(guān)系。高維空間相似度高的兩個點在低維空間相似度依舊很高
-
考慮映射 Y = W T X Y=W^TX Y=WTX,即原樣本空間中有 x i x_i xi?與 x j x_j xj?距離近, y i y_i yi? 與 y j y_j yj?( y i = W T x i y_i=W^T x_i yi?=WTxi?)仍保持相近關(guān)系
優(yōu)化目標(biāo)
- 定義優(yōu)化目標(biāo):
m i n ∑ i ∑ j ∣ ∣ y i ? y j ∣ ∣ 2 s i j min\sum_i \sum_j ||y_i - y_j||^2s_{ij} mini∑?j∑?∣∣yi??yj?∣∣2sij?
即在原始空間中近的點( s i j s_{ij} sij?大),其在降維后應(yīng)該盡可能接近( y i 與 y j 距離更小 y_i與y_j 距離更小 yi?與yj?距離更小)
方法推導(dǎo):
- 對于LPP方法,有目標(biāo):
a r g m i n W ∑ i ∑ j ∣ ∣ y i ? y j ∣ ∣ 2 s i j \underset{W}{arg\ min} \sum_i \sum_j ||y_i- y_j||^2s_{ij} Warg?min?i∑?j∑?∣∣yi??yj?∣∣2sij?
- 對于目標(biāo):
∑ i = 1 n ∑ j = 1 n ∣ ∣ y i ? y j ∣ ∣ 2 s i j = ∑ i = 1 n ∑ j = 1 n ( y i T y i ? y i T y j ? y j T y i + y j T y j ) s i j = ∑ i = 1 n ( ∑ j = 1 n s i j ) 2 y i T y i ? ∑ i = 1 n ∑ j = 1 n y i T y j s i j = 2 ∑ i n y i T y i d i i ? 2 ∑ i n ∑ j n y i T y j s i j = 2 t r ( Y D Y T ) ? 2 t r ( Y S Y T ) = 2 t r ( Y L Y T ) \sum_{i=1}^n \sum_{j=1}^n ||y_i- y_j||^2s_{ij}\\ =\sum_{i=1}^n \sum_{j=1}^n (y_i^Ty_i-y_i^Ty_j-y_j^Ty_i+y_j^Ty_j)s_{ij}\\ =\sum_{i=1}^n (\sum_{j=1}^ns_{ij})2y_i^Ty_i-\sum_{i=1}^n \sum_{j=1}^ny_i^Ty_js_{ij}\\ =2\sum_i^ny_i^Ty_id_{ii}-2\sum_i^n\sum_j^ny_i^Ty_js_{ij}\\ =2tr(YDY^T)-2tr(YSY^T)\\ =2tr(YLY^T)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i=1∑n?j=1∑n?∣∣yi??yj?∣∣2sij?=i=1∑n?j=1∑n?(yiT?yi??yiT?yj??yjT?yi?+yjT?yj?)sij?=i=1∑n?(j=1∑n?sij?)2yiT?yi??i=1∑n?j=1∑n?yiT?yj?sij?=2i∑n?yiT?yi?dii??2i∑n?j∑n?yiT?yj?sij?=2tr(YDYT)?2tr(YSYT)=2tr(YLYT)?????????????????????????
去除乘數(shù),最終優(yōu)化目標(biāo)為:
t r ( Y L Y T ) tr(YLY^T) tr(YLYT)
帶入 Y = W T X Y = W^TX Y=WTX,得到最小化目標(biāo):
t r ( W T X L X T W ) tr(W^TXLX^TW) tr(WTXLXTW)
-
該目標(biāo)存在平凡零解: W = O m ? d W=O_{m*d} W=Om?d?
此時L取最小值0,出現(xiàn)維度坍縮,所有樣本映射到同一個點上,此解無意義
-
當(dāng)W不取零矩陣時,由于沒有添加尺度約束,在降維子空間一定(組成基向量方向一致)情況下,當(dāng)尺度不斷變小時,目標(biāo)L會同時變小,無限趨于0,不存在最小值
-
因此,考慮對最小化目標(biāo)變形為:
-
t r ( Y L Y T ) t r ( Y D Y T ) = t r ( W T X L X T W ) W T X D X T W \frac{tr(YLY^T)}{tr(YDY^T)} = \frac{tr(W^TXLX^TW)}{W^TXDX^TW} tr(YDYT)tr(YLYT)?=WTXDXTWtr(WTXLXTW)?
考慮到尺度因素,加以約束 Y D Y T = I YDY^T=I YDYT=I也即 W T X D X T W = I W^TXDX^TW=I WTXDXTW=I,
原始優(yōu)化問題有多個解。由于是線性映射,若同比例縮小低維樣本 y i y_i yi?,得到的數(shù)據(jù)集Y都可作為最優(yōu)的低維數(shù)據(jù)集。故加入約束: t r ( Y D Y ? ) = ∑ i = 1 n d i i y i T y i = 1 tr(YDY^\top)=\sum_{i=1}^nd_{ii}y_i^Ty_i=1 tr(YDY?)=∑i=1n?dii?yiT?yi?=1,通過限制 y i y_i yi?的模長,使問題有唯一解。
-
-
參考LDA中提到的廣義瑞利商,可知:
-
λ m i n ( ( X D X T ) ? 1 ( X L X T ) ) ≤ t r ( W T X L X T W ) t r ( W T X D X T W ) ≤ λ m a x ( ( X D X T ) ? 1 ( X L X T ) ) λ_{min}((XDX^T)^{-1}(XLX^T))≤\frac{tr(W^TXLX^TW)}{tr(W^TXDX^TW)}≤λ_{max}((XDX^T)^{-1}(XLX^T)) λmin?((XDXT)?1(XLXT))≤tr(WTXDXTW)tr(WTXLXTW)?≤λmax?((XDXT)?1(XLXT))
變換矩陣: W = [ w 1 , w 2 , . . . , w m ] W=[w_1,w_2,...,w_m] W=[w1?,w2?,...,wm?]由 ( X D X T ) ? 1 ( X L X T ) (XDX^T)^{-1}(XLX^T) (XDXT)?1(XLXT)最小m個特征向量構(gòu)成
-
-
矩陣形式推導(dǎo):
由拉格朗日乘子法,構(gòu)建L: L = t r ( W T X L X T W ) ? t r ( Λ ( W T X D X T W ? I ) ) L = tr(W^TXLX^TW)-tr(\Lambda(W^TXDX^TW-I)) L=tr(WTXLXTW)?tr(Λ(WTXDXTW?I))
對W求偏導(dǎo)并令為0:
2 X L X T W ? 2 X D X T W Λ = 0 X L X T W = X D X T W Λ 有: ( X D X T ) ? 1 X L X T W = W Λ 2XLX^TW-2XDX^TW\Lambda=0\\ XLX^TW= XDX^TW \Lambda\\ 有:(XDX^T)^{-1}XLX^TW=W\Lambda 2XLXTW?2XDXTWΛ=0XLXTW=XDXTWΛ有:(XDXT)?1XLXTW=WΛ
W由 ( X D X T ) ? 1 X L X T (XDX^T)^{-1}XLX^T (XDXT)?1XLXT的特征向量作為列向量構(gòu)成,且為了最小化目標(biāo)函數(shù),選取的特征向量應(yīng)該是最小m個特征值對應(yīng)的特征向量
相關(guān)定義
-
權(quán)重矩陣S:
-
定義樣本 x i x_i xi?和 x j x_j xj?之間的權(quán)重 w i j w_{ij} wij?, 原則是樣本點之間距離越小,權(quán)重越大
-
權(quán)重矩陣S常用定義方式:
S i j = { s i j = e x p ( ? ∣ ∣ x i ? x j ∣ ∣ 2 t ) x i ∈ N k ( x j ) 即 x i 是 x j 的 k 近鄰 s i j = 0 e l s e S_{ij} = \left\{ \begin{matrix} s_{ij} = exp(-\frac{||x_i - x_j||^2}{t})\ \ \ \ \ x_i∈N_k(x_j) 即x_i是x_j的k近鄰\\ s_{ij}=0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ else \end{matrix} \right. Sij?={sij?=exp(?t∣∣xi??xj?∣∣2?)?????xi?∈Nk?(xj?)即xi?是xj?的k近鄰sij?=0????????????????????????????????????????????????????????????????else?
-
-
度矩陣D:
-
度矩陣D是一個對角陣,其對角元素 D i i = ∑ j = 1 n s i j D_{ii} = \sum_{j=1}^{n} s_{ij} Dii?=∑j=1n?sij?
-
D = { ∑ j = 1 n s 1 j 0 . . . 0 0 ∑ j = 1 n s 2 j . . . 0 . . . . . . . . . . . . 0 0 . . . ∑ j = 1 n s n j } D= \left. \left \{ \begin{matrix} \sum_{j=1}^ns_{1j}\ \ \ \ 0\ \ \ \ ...\ \ \ \ 0 \\ 0\ \ \ \ \sum_{j=1}^ns_{2j}\ \ \ \ ...\ \ \ \ 0 \\ ...\ \ \ \ ...\ \ \ \ ...\ \ \ \ ... \\ 0\ \ \ \ 0\ \ \ \ ...\ \ \ \ \sum_{j=1}^ns_{nj} \end{matrix} \right. \right\} D=? ? ??∑j=1n?s1j?????0????...????00????∑j=1n?s2j?????...????0...????...????...????...0????0????...????∑j=1n?snj??? ? ??
-
-
拉普拉斯矩陣L:L=D-S
有運(yùn)算:
Y D Y T = [ y 1 , y 2 , . . . , y n ] [ d 11 0 . . . 0 0 d 22 . . . 0 . . . . . . . . . . . . 0 0 . . . d n n ] [ y 1 T y 2 T . . . y n T ] = [ d 11 y 1 , d 22 y 2 , . . . , d n n y n ] [ y 1 T y 2 T . . . y n T ] = d 11 y 1 y 1 T + d 22 y 2 y 2 T + . . . + d n n y n y n T = ∑ i = 1 n y i d i i y i T = ∑ i = 1 n d i i y i y i T YDY^T = [y_1,y_2,...,y_n] \left. \left [ \begin{matrix} d_{11}\ \ \ \ 0\ \ \ \ ...\ \ \ \ 0 \\ 0\ \ \ \ d_{22}\ \ \ \ ...\ \ \ \ 0 \\ ...\ \ \ \ ...\ \ \ \ ...\ \ \ \ ... \\ 0\ \ \ \ 0\ \ \ \ ...\ \ \ \ d_{nn} \end{matrix} \right. \right] \left. \left [ \begin{matrix} y_1^T \\ y_2^T \\ ... \\ y_n^T \end{matrix} \right. \right] \\ =[d_{11}y_1,d_{22}y_2,...,d_{nn}y_n] \left. \left [ \begin{matrix} y_1^T \\ y_2^T \\ ... \\ y_n^T \end{matrix} \right. \right] \\ =d_{11}y_1y_1^T + d_{22}y_2y_2^T + ... + d_{nn}y_ny_n^T=\sum_{i=1}^ny_id_{ii}y_i^T=\sum_{i=1}^nd_{ii}y_iy_i^T\\ YDYT=[y1?,y2?,...,yn?] ?d11?????0????...????00????d22?????...????0...????...????...????...0????0????...????dnn?? ? ?y1T?y2T?...ynT?? ?=[d11?y1?,d22?y2?,...,dnn?yn?] ?y1T?y2T?...ynT?? ?=d11?y1?y1T?+d22?y2?y2T?+...+dnn?yn?ynT?=i=1∑n?yi?dii?yiT?=i=1∑n?dii?yi?yiT?
因此有:
t r ( Y D Y T ) = ∑ i = 1 n d i i y i T y i tr(YDY^T) = \sum_{i=1}^nd_{ii}y_i^Ty_i tr(YDYT)=i=1∑n?dii?yiT?yi?
類似可得:
t r ( Y S Y T ) = ∑ i = 1 n ∑ j = 1 n s i j y i T y j tr(YSY^T) = \sum_{i=1}^n\sum_{j=1}^ns_{ij}y_i^Ty_j tr(YSYT)=i=1∑n?j=1∑n?sij?yiT?yj?
方法流程
1)由樣本矩陣X構(gòu)建權(quán)重矩陣S,度矩陣D,拉普拉斯矩陣L
2)求 ( X D X T ) ? 1 X L X T (XDX^T)^{-1}XLX^T (XDXT)?1XLXT的特征向量,取最小m個作列向量構(gòu)成變換矩陣W
3)由 Y = W T X Y=W^TX Y=WTX完成降維