1. 程式人生 > >ESL讀書筆記14章:無監督學習之SOM,PCA,NMF,FA,ICA,MDS,ISOMAP,Local MDS

ESL讀書筆記14章:無監督學習之SOM,PCA,NMF,FA,ICA,MDS,ISOMAP,Local MDS

筆者自己的理解,無監督學習是挖掘資料自身的分佈,找出一種低維的具有代表性或者某種性質的子空間(流形)。SOM是一種加約束的k-means,既可以看做是尋找具有代表性的特徵點,也可以看做是尋找具有代表性的二維流形曲面。PCA是非常經典的最小化投影誤差的子空間,也可以看做最大化投影方差的子空間。NMF則是基於假設最大化似然的同時,限制基向量非負。FA也是尋找某種子空間,目的是得到uncorrelated的基向量,並用變換矩陣近似實際觀測值中的相關性。ICA同樣是尋找子空間,但進一步要求基向量independent(此假設強於uncorrelated),不能用於高斯分佈的資料,使得基向量不能隨意旋轉。MDS則是直接尋找保距的低維子空間,即子空間投影之間的距離儘可能與原空間相同。ISOMAP以及Local MDS是MDS的區域性版本,旨在更好的保留資料的流形分佈。
其中SOM是聚類演算法,只能找到離散的特徵點來近似資料分佈;PCA、NMF、MDS、ISOMAP、Local MDS等則是尋找一個低維流形空間近似資料分佈;FA以及ICA不僅可以得到線性子空間,而且還可以基於假設得到資料分佈的概率密度。

Self-Organizing Map (SOM)

SOM可以看做是k-means的約束版本,即不同於k-means所有特徵點之間毫無關聯,SOM的特徵點位於某個假象的方格上面,各個特徵點之間基於方格上的距離存在不同程度的關聯。
SOM的具體演算法是先假象有一個方格(q1×q2),其中q1,q2任意指定,其選擇決定了SOM的特徵點數,共用q1q2個特徵點(每個方格的交叉點)。每個特徵點均位於觀測的資料空間中Rp,有一個特徵值。故不同於k-means只有一個位於觀測空間Rp的特徵值,SOM的特徵點同時位於方格空間Rq1×q2中,存在一個方格空間座標。特徵點的方格座標在學習的過程中是不變的,而特徵值R

p在學習過程中不斷改變,更加接近資料分佈。方格座標是SOM為特徵點之間加入約束的方式,每次根據資料點更新特徵值的時候,不僅僅更新特徵值離資料點最近的特徵點的特徵值,而且同時更新在方格中與最近特徵點較近的特徵點的特徵值。每次僅僅處理一個數據點,重複多次之後,得到的SOM中q1q2個特徵點的特徵值即表示了資料的空間分佈,也可以將每個資料點分配給特徵值離其最近的特徵點,進行聚類分析。
基於不同的距離度量,更新時各個特徵點的權重賦予,以及每次處理的資料點的多少 可以構造不同的SOM演算法。每種演算法都保證了SOM的保距性質,即觀測空間中相近的資料點投影到方格空間中相近的特徵點。

最簡單的方法如下:
SOM


根據距離賦予特徵點更新權重的方法如下:
SOM2
batch版本如下:
batch SOM

Principle Component Analysis (PCA)

主成分分析法非常常見常用,以至於Ng認為它被過度濫用了。有很多種對PCA結論的解釋,這裡僅闡述兩種:最小化投影誤差,以及最大化投影方差。

首先,常見的資料預處理步驟包括資料平移(減均值),以及縮放(除以方差)。故以下分析中存在多解的情況,均以方便以上假設成立的情況下進行求解。

PCA尋找的是低維線性子空間,故存在一組正交基Vp×qVTV=Iq,其中p為觀測空間維度,q為子空間維度,有q<p。在未白化的資料中進行PCA,則是尋找一個平移過後的子空間,設平移向量為μ,即該向量集合中包括所有的{μ+Vb,b}

任意向量xRp在該空間中的投影為VVT(xμ)+μRp。首先我們討論最小化投影誤差的情況:e=x(VVT(xμ)+μ)=(IpVVT)(xμ) ,我們希望最小化訓練集中的平方投影誤差

err=i=1meTiei=i=1m(xμ)T(IpVVT)T(IpVVT)(xμ)
μ求導有μ=x¯
errμ=i=1m2eieiμ=i=1m2ei[(IpVVT)]=0
構造Xp×n使得X的第iXi=xix¯,從而
err=trace[XT(IpVVT)T(IpVVT)X]=trace[XTX]trace[XTVVT