這篇文章主要的目的是在降低空間維度的同時,能較好的保持內部固定的局部結構,並且它對異化值(通常理解爲錯誤的點,或者爲污點)不敏感,這一點可以與主成分分析法(PCA)相區別。
對於高維的空間(x1,x2,x3、、、,xn)——屬於S維空間,一般而言,我們需要選擇一個降維矩陣A對X進行降維從而得到Y,其中Y=(y1,y2、、、,yn)——屬於L維空間,其中L<<S,其表達式如下所示:
不多說,直接進入主題——
- 首先目標函數定義爲 :
(1)
其中yi與yj代表降維之後的點,Wij是權重矩陣;
通過最小化上述目標函數,便達到降維目的。大家可以先好好想爲什麼要這樣設置(後面將進行講解),爲了便於計算結果,將(1)轉化爲矩陣形式如下所示:
爲了防止過擬合的現象(大家可以試想如果全部溶縮爲一個點,那麼結果則爲0),於是給定一個限制:
則原公式可簡化爲:
- 接下來我們就開始解答這個目標函數,其算法的步驟爲:
step one :Constructing the adjacency graph
a:ᵋ-neighboorhoods.
可以設想爲一個半徑爲ᵋ圓的面積內剛好有K個點,但是由於ᵋ 一般難以確定,故經常選擇第二種方法,而原文采用的也是下面一種.
b.k nearest nighbors. 依次選取,一直到尋找到第k個近的點的集合構成鄰接圖.
step two :Choosing the Weights
a.Heat kernel.
注:其中Xi與Xj代表原始空間的點,t爲自定義.權重的設定與目標函數有很大的關係,他們相互限制,相互約束,從而達到保持原空間結構的目的。
b.Simple-minded.
Wij=1 if and only if vertices i and j are connect by an edge.
step three :Eigenmaps(計算特徵值與特徵向量)
XLX'a=λXDX'a
此函數大家可以根據已知條件試着推導,注意求特徵向量的公式爲|aE-A|=0.
(including Dii=EWij——其中矩陣D的對角線元素爲矩陣W每一列或者每一行的和,L=D-W is the laplacian matrix.The ith column of matrix X is xi)
對eigenvalues進行從小到大排序,選取前l小的特徵值的特徵向量構成的矩陣A,最後可得
x-->y=A'x, A=(a0,a1,...,al-1)
其中A爲降維矩陣.
在總結中大家如發現有錯誤,或者不理解的,可以相互討論討論哈。
參考:He X. Locality preserving projections[J]. Advances in Neural Information Processing Systems, 2003, 16(1):186-197.