1. 程式人生 > >Locally linear embedding (LLE)演算法簡介

Locally linear embedding (LLE)演算法簡介



Locally linear embedding (LLE) (Sam T.Roweis and Lawrence K.Saul, Science,2000)是一種非線性降維方法,它能夠使降維後的資料保持原有拓撲結構。   

原始特徵的數量可能很大,或者說樣本是處於一個高維空間中,通過對映或變換的方法,降高維資料降低到低維空間中的資料,這個過程叫特徵提取,也稱降維

   特徵提取得基本任務研究從眾多特徵中求出那些對分類最有效的特徵,從而實現特徵空間維數的壓縮。傳統的降維技術可以分為線性和非線性兩類。

(1)線性降維演算法主要有PCA(Principal Component Analysis)、MDS(Multidimensional Scaling)及ICA;

(2)非線性降維演算法主要有自組織影射網路(Self-organising map, 生成拓撲對映(Generative Topographic mapping), 主曲線和表面(Principal Curves and Surfaces), 自編碼神經網路(Auto-encoder Neural Networks)和線性混合模型(Mixtures of Linear Models)。其中LLE,作為一種新的降維方法,既有非線性的特點,又有線性方法的優點,這幾年成為人們研究的熱點。

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

 

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

 

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

    LLE演算法是最近提出的針對非線性資料的一種新的降維方法,處理後的低維資料均能夠保持原有的拓撲關係。它已經廣泛應用於影象資料的分類與聚類、文字識別、多維資料的視覺化、以及生物資訊學等領域中。


1 LLE演算法

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

 

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

 

圖2 LLE演算法流程

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

    LLE演算法的第二步是計算出樣本點的區域性重建權值矩陣。這裡定義一個誤差函式,如下所示:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

 其中Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介為x_i的k個近鄰點,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介 x_i與x_ij之間的權值,且要滿足條件:Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介 。這裡求取W矩陣,需要構造一個區域性協方差矩陣 Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

    將上式與Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介相結合,並採用拉格朗日乘子法,即可求出區域性最優化重建權值矩陣:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

附證明:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

     在實際運算中,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介可能是一個奇異矩陣,此時必須正則化,如下所示:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

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

    LLE演算法的最後一步是將所有的樣本點對映到低維空間中。w保持不變,對映條件滿足如下所示:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

其中,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介為損失函式值,y_i是x_i的輸出向量,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介是的k個近鄰點,且要滿足兩個條件,即:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

其中I是m*m的單位矩陣。這裡的Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介可以儲存在N*N的稀疏矩陣W中,當x_i是x_j的近鄰點時,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介,否則,Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介。則損失函式可重寫為:

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介 Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介

Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介 Locally <wbr>linear <wbr>embedding <wbr>(LLE)演算法簡介
要使損失函式值達到最小, 則取Y為M的最小m個非零特徵值所對應的特徵向量。在處理過程中,將M的特徵值從小到大排列,第一個特徵值幾乎接近於零,那麼捨去第一個特徵值。通常取第2到m+1 間的特徵值所對應的特徵向量作為輸出結果。

參考:

[1] Nonlinear dimensionality reduction by locally linear embedding.Sam Roweis & Lawrence Saul.Science, v.290 no.5500 , Dec.22, 2000. pp.2323--2326.

[2] An Introduction to Locally Linear Embedding.Lawrence Saul & Sam Roweis.

轉自:

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

  http://blog.csdn.net/liulianfanjianshi/article/details/12426991