降維(二)----Laplacian Eigenmaps

降維繫列:

---------------------   

      

        前一篇文章中介紹了主成分分析。PCA的降維原則是最小化投影損失,或者是最大化保留投影后數據的方差。在談到其缺點的時候,我們說這一目標並不一定有助於數據的分類,換句話說,原本在高維空間中屬於兩類的樣本,降維後可能反而不可分了。這時一種經典的降維方法是LDA,其原理是使降維後的數據間類內距離儘可能小,類間距離儘可能大。

        使用LDA有個條件,就是要知道降維前數據分別屬於哪一類,而且還要知道數據完整的高維信息。然而在Data Mining的很多應用下,我們是不知道數據的具體特徵的(也就是高維信息),而僅僅知道數據與數據之間的相似程度。比如,在文本聚類的時候我們可以輕鬆知道兩句話之間多麼相似,但是卻不一定設計出每句話應抽取什麼樣的特徵形式。在這種應用場景下,我們要對數據進行降維,必然要儘可能保證原本相似的數據在降維後的空間中依然相似,而不相似的數據儘可能還是距離很遠。解決這一問題可以採用的方法是MDS,LE,LLE等。這裏我就總結總結LE(Laplacian Eigenmaps)。

        還要強調一次,不是說後面每一個算法都比前面的好,而是每一種算法的降維目標都不一樣,都是從不同角度去看問題。

        Laplacian Eigenmaps看問題的角度和LLE十分相似。它們都用圖的角度去構建數據之間的關係。圖中的每個頂點代表一個數據,每一條邊權重代表數據之間的相似程度,越相似則權值越大。並且它們還都假設數據具有局部結構性質。LE假設每一點只與它距離最近的一些點相似,再遠一些的數據相似程度爲0,降維後相近的點儘可能保持相近。而LLE假設每一個點都能通過周圍鄰域數據的線性組合來描述,並且降維後這一線性關係儘可能保持不變。不過這裏我不主要介紹LLE,主要介紹LE,因爲它在spectral clustering中被使用。

        首先要構建圖的權值矩陣。構建方法爲:

  • 1)通過設置一個閾值,相似度在閾值以下的都直接置爲零,這相當於在一個 -領域內考慮局部性;
  • 2)對每個點選取 k 個最接近的點作爲鄰居,與其他的點的相似性則置爲零。這裏需要注意的是 LE 要求相似度矩陣具有對稱性,因此,我們通常會在  屬於  的 k 個最接近的鄰居且/或反之的時候,就保留  的值,否則置爲零;
  • 3)全連通。

        以上三種方法構成的矩陣W都是對稱的。按理說3會更讓大家接受,但是1)和2)能夠保證矩陣的稀疏性,而稀疏的矩陣對求特徵值是十分方便的。不小心劇透了一下,LE的求解最終還是一個特徵值分解問題。不過它和PCA不一樣。怎麼不一樣,後面慢慢說。

        LE同樣把降維考慮爲一種高維到低維的映射,則一個好的映射應該使連通的點靠的更近(作者注:不連通的點按理應該靠遠點)。設xi映射後的點爲yi,則LE的目標就是最小化以下函數:

        如果採用1)和2)的方法構造矩陣,不連通的兩點Wij爲0,所以降維對它們沒有影響。感覺有點不太合理,這不是容忍他們胡作非爲麼?!按理來說3)應該是更合理一些,但是3)構成的矩陣不是稀疏的╮(╯▽╰)╭。這就是一個trade-off了。而另一方面,靠的近的兩個點對應的Wij大,如果降維後他們距離遠了,受到的懲罰就會很大

        聰明的話你會一眼看出來:不對啊,降維後如果所有的y都等於同一個值,目標函數顯然是最小的,那還搞個屁啊?當然,我們會在後面求解的時候加上這一限制條件,不允許y爲一個各維相同的常量。

        我們快速對目標函數進行一下整理:

        其中 ,L=D-W,L就叫做Laplacian Matrix。

        於是,我們的最小化問題可以等效爲:

        這個公式是不是就似曾相識了?和PCA的目標函數十分相似,只不過現在的目標函數是求最小值,而PCA是求最大值,約束條件也小小地變形了一下。這個目標的求解就是一個廣義特徵值分解問題:

        說到這裏,還有一個問題沒有解決,就是剛纔提到的“y爲一個各維相同的常量”的情況。我們看,L和D都個半正定矩陣,因此特徵值都應該大於等於0。可以很快證明,特徵值爲0時,y的取值(如果有之一的話)是一個全1的向量(可以把矩陣乘積展開來計算一下,左邊因爲L=D-W的減號作用,結果顯然也是0的),也就是我們剛纔懷疑到的這種情況。

        因此,對於,我們將特徵值從小到大排序後,選擇第二小的特徵值到第m+1小的特徵值對應的特徵向量(共m個),組成一個Nxm的矩陣,矩陣的每一行就是原來的數據降維後得到的m維特徵。你會不會覺得很神奇,原本我們只知道數據與數據之間的相似程度,結果竟然把降維後的特徵求出來了!其實求出的特徵不過是個相對特徵罷了,他們之間相對的距離的遠近纔是實際重要的,慢慢體會目標函數你就會理解了。

        還要再說說這裏的特徵值。如果僅有一個特徵值爲0,那麼這個graph一定是全通的。關於這個結論我們可以這樣證明:

假設f是特徵值0對應的特徵向量,那麼:

        如果兩個頂點是連通的,那麼wij>0,爲了滿足上式只要讓fi=fj。如果graph是連通的話,就能找到一系列w1i,wij,wjk……大於0(其中ijk….分別屬於234…N中的一個數),這樣就成立了f1=fj=fk=…..。換句話說,f是一個全爲一個數的向量,與全1的向量是同一個向量。又因爲僅有這一個向量滿足條件,所以僅有一個特徵值0滿足全通的假設。就證明好了。

        將這個結論做點推廣,就是如果一個graph可以分爲k個連通區域,那麼特徵值分解後就有k個爲0的特徵值。

 

        Laplacian Eigenmap具有區分數據點的特性,可以從下面的例子看出:

       Laplacian Eigenmap實驗結果。左邊的圖表示有兩類數據點(數據是圖片),中間圖表示採用Laplacian Eigenmap降維後每個數據點在二維空間中的位置,右邊的圖表示採用PCA並取前兩個主要方向投影后的結果,可以清楚地看到,在此分類問題上,Laplacian Eigenmap的結果明顯優於PCA。

 

         事實上,LE和LLE都假設數據分佈在一個嵌套在高維空間中的低維流形上。Laplacian Matrix其實是流形的 Laplace Beltrami operator的一個離散近似。關於流型和Laplace Beltrami operator我也沒有怎麼研究過,這裏就給這麼一個結論給大家。大家可以參考下面給出的兩篇參考文獻做進一步閱讀。

 

Further Readings:

1.  Laplacian Eigenmaps for Dimensionality Reduction and Data Representation

2.  A Tutorial on Spectral Clustering

 

-----------------

jiang1st2010

原文地址:http://blog.csdn.net/jiang1st2010/article/details/8945083

發佈了40 篇原創文章 · 獲贊 43 · 訪問量 85萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章