非線性數據降維方法---LLE及其改進算法介紹


LLE及其改進算法介紹

 

    Locally linear embedding (LLE) (Sam T.Roweis and Lawrence K.Saul, 2000)以及Supervised locally linear embedding (SLLE) (Dick and Robert, 2002) 是最近提出的非線性降維方法,它能夠使降維后的數據保持原有拓撲結構。

    LLE算法可以有圖1所示的一個例子來描述。在圖1所示中,LLE能成功地將三維非線性數據映射到二維空間中。如果把圖1(B)中紅顏色和藍顏色的數據分別看成是分布在三維空間中的兩類數據,通過LLE算法降維后,則數據在二維空間中仍能保持相對獨立的兩類。在圖1(B)中的黑色小圈中可以看出,如果將黑色小圈中的數據映射到二維空間中,如圖1(C)中的黑色小圈所示,映射后的數據任能保持原有的數據流形,這說明LLE算法確實能保持流形的領域不變性。由此LLE算法可以應用於樣本的聚類。而線性方法,如PCA和MDS,都不能與它比擬的。LLE算法操作簡單,且算法中的優化不涉及到局部最小化。該算法能解決非線性映射,但是,當處理數據的維數過大,數量過多,涉及到的稀疏矩陣過大,不易於處理。在圖1中的球形面中,當缺少北極面時,應用LLE算法則能很好的將其映射到二維空間中,如圖1中的C所示。如果數據分布在整個封閉的球面上,LLE則不能將它映射到二維空間,且不能保持原有的數據流形。那么我們在處理數據中,首先假設數據不是分布在閉合的球面或者橢球面上。

圖1 非線性降維實例:B是從A中提取的樣本點(三維),通過非線性降維
算法(LLE),將數據映射到二維空間中(C)。從C圖中的顏色可以看出
通過LLE算法處理后的數據,能很好的保持原有數據的鄰域特性

    LLE算法是最近提出的針對非線性數據的一種新的降維方法,處理后的低維數據均能夠保持原有的拓撲關系。它已經廣泛應用於圖像數據的分類與聚類、文字識別、多維數據的可視化、以及生物信息學等領域中。


1 LLE算法

    LLE算法可以歸結為三步: (1)尋找每個樣本點的k個近鄰點;(2)由每個樣本點的近鄰點計算出該樣本點的局部重建權值矩陣;(3)由該樣本點的局部重建權值矩陣和其近鄰點計算出該樣本點的輸出值。具體的算法流程如圖2所示。

圖2 LLE算法流程

    算法的第一步是計算出每個樣本點的k個近鄰點。把相對於所求樣本點距離最近的k個樣本點規定為所求樣本點的 個近鄰點。k是一個預先給定值。Sam T.Roweis 和 Lawrence K.Saul算法采用的是歐氏距離,則減輕復雜的計算。然而本文是假定高維空間中的數據是非線性分布的,采用了diijstra距離。Dijkstra 距離是一種測地距離,它能夠保持樣本點之間的曲面特性,在ISOMAP算法中有廣泛的應用。針對樣本點多的情況,普通的dijkstra算法不能滿足LLE算法的要求。

    LLE算法的第二步是計算出樣本點的局部重建權值矩陣。這里定義一個誤差函數,如下所示:

    

其中 為 的k個近鄰點, 是 與 之間的權值,且要滿足條件: 。這里求取W矩陣,需要構造一個局部協方差矩陣 

    將上式與相結合,並采用拉格朗日乘子法,即可求出局部最優化重建權值矩陣:

    在實際運算中,可能是一個奇異矩陣,此時必須正則化,如下所示:

其中r是正則化參數,I是一個kxk的單位矩陣。

    LLE算法的最后一步是將所有的樣本點映射到低維空間中。映射條件滿足如下所示:

其中,為損失函數值,的輸出向量,的k個近鄰點,且要滿足兩個條件,即:

其中I是的單位矩陣。這里的可以存儲在的稀疏矩陣W中,當的近鄰點時,,否則,。則損失函數可重寫為:

其中M是一個的對稱矩陣,其表達式為:

要使損失函數值達到最小, 則取Y為M的最小m個非零特征值所對應的特征向量。在處理過程中,將M的特征值從小到大排列,第一個特征值幾乎接近於零,那么舍去第一個特征值。通常取第間的特征值所對應的特征向量作為輸出結果。

2 SLLE算法

    Dick和Robert提出一種針對有監督的LLE算法,即SLLE。傳統的LLE算法在第一步時是根據樣本點間的歐氏距離來尋找 個近鄰點。而SLLE在處理這一步時,增加了樣本點的類別信息。SLLE的其余步驟同LLE算法是一致的。

    SLLE算法在計算點與點之間的距離時,采用如下公式:

其中是計算后的距離;在本文中是定義為dijkstra距離;是表示類與類之間的最大dijkstra距離;取0或者1,當兩點屬於同類時,取為0,否則取1;是控制點集之間的距離參數,是一個經驗參數。當取為零時,此時的SLLE和LLE算法相同。

3 SLLE參數設置

    SLLE算法中有4個參數需要設置,即近鄰點的個數k 、輸出維數m 、正則化參數r和距離參數。k的選取在算法中起到關鍵因素,如果k取值太大,LLE不能體現局部特性,使得LLE算法趨向於PCA算法;反之取得太小,LLE便不能保持樣本點在低維空間中的拓撲結構。本文中k沒有作出進一步的改進,相當於一個經驗參數,預先取值為12。

    本文的輸出維數m,采用類似於PCA算法求取固有維數。SLLE算法在計算每個樣本點的重建權值矩陣時,都要構造一個局部協方差矩陣,可以通過如下式子求出該樣本點的輸出維數。

其中的特征值,且以從大到小排列。對於每個樣本點,都需要計算一次樣本點的輸出維數。所有點輸出維數的平均值規定為樣本的輸出維數。

    正則化參數r可以取一個特別小的值,或者采用自適應調整的方法得到。當采取自適應調整的辦法來選定r的值。對於每個樣本點,都要校正矩陣,此時正則化參數采取如下式子:

其中的最小的個特征值。

    距離參數是一個經驗參數。在求取點間的距離時,可以增加不同類點之間的距離,從而增加類類之間的距離。

4 SLLE的測數數據處理

    設訓練樣本為,訓練樣本的輸出為為訓練樣本的維數,m為訓練樣本的輸出維數,N為訓練樣本的個數。設為測試樣本的集合。主要算法分為三步:

(1)選取一個,將x加入X矩陣中,則X變為的矩陣。在訓練樣本中尋找的k個近鄰點,此時還時采用dijkstra距離,但是不能像SLLE算法那樣加上樣本點的類別信息。

(2)求與其k個近鄰點間的權值系數,且滿足以下條件:

其中的k個近鄰點,與其近鄰點之間的權值。

(3)計算的輸出向量

其中的輸出向量。

 


參考文獻:

[1] Sam T. Roweis and Lawrence K. Saul. Nonlinear Dimensionality Reduction by Locally Linear Embedding, Science, Dec 22 2000:2323-2326

[2] Lawrence K.Saul, Sam T.Roweis. An Introduction to Locally Linear Embedding. http://www.cs.toronto.edu/~roweis/lle/, 2001

[3] Lawrence K.Saul, Sam T.Roweis. Think Globally, Fit Locally: Unsupervised Learning of Low Dimensional Manifolds. Journal of Machine Learning Research 4(2003) 119-155

[4] Dick de Ridder, Olga Kouropteva, Oleg Okun, et al. Supervised locally linear embedding. Artificial Neural Networks and Neural Information Processing, ICANN/ICONIP 2003 Proceedings, Lecture Notes in Computer Science 2714, Springer, 333-341

[5] Kouropteva O, Okun O & Pietik?inen M. Classification of handwritten digits using supervised locally linear embedding algorithm and support vector machine. Proc. of the 11th European Symposium on Artificial Neural Networks (ESANN'2003), April 23-25, Bruges, Belgium, 229-234

[6] Kouropteva O, Okun O & Pietik?inen M. Supervised Locally Linear Embedding Algorithm for Pattern Recognition. IbPRIA 2003: 386-394

 原文:http://www.pami.sjtu.edu.cn/people/xzj/introducelle.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM