1. 程式人生 > >從零開始-Machine Learning學習筆記(27)-降維與度量學習

從零開始-Machine Learning學習筆記(27)-降維與度量學習

文章目錄

1. k近鄰學習 - (k-Nearest Neighbor, KNN)

  這一小節的內容在之前已經間斷的學習了,所以這裡就不再贅述了,放上之前的連結,有興趣的朋友可以隨時去檢視。
從零開始-Machine Learning學習筆記(20)-kNN(k-Nearset Neignbor)學習筆記

2. 低維嵌入

  在高維情形下出現的資料樣本稀疏、距離計算困難等問題,是所有機器學習方法共同面臨的嚴重障礙,被稱為"維數災難" (curse of
dimensionality)。緩解維數災難的一個重要途徑是降維(dimension red uction),亦稱維數“約簡”。
  即通過某種數學變換將原始高維屬性空間轉變為一個低維"子空間" (subspace),在這個子空間中樣本密度大幅提高,距離計算也變得更為容易為什麼能進行降維,這是因為在很多時候,人們觀測或收集到的資料樣本雖是高維的,但與學習任務密切相關的也許僅是某個低維分佈,即高維空間中的一個低維"嵌入" (embedding)。
  若要求原始空間中樣本之間的距離在低維空間中得以保持,如下圖示,即得到"多維縮放" (Multiple Dimensional Scaling,簡稱MDS):

這感覺像是什麼呢,我將一張A4紙彎曲放在空間中,A4紙上每一點的距離都是固定的,現在我將這張A4紙平鋪在桌面上,即從“三維”降到了“二維”,但是紙上任意兩點之間的距離並沒有發生改變,這就是MDS所幹的工作。

  假定m個樣本在原始空間的距離矩陣為 D R m

× m D ∈ R^{m \times m} ,其第i行j列的元素 d i s t i j dist_{ij} 為樣本 x i x_i x j x_j 的距離。我們的目標是獲得樣本在d’維空間的表示 Z R d × m Z ∈ R^{d' \times m} 且任意兩個樣本在d’維空間中的歐氏距離等於原始空間中的距離,即 z i z j = d i s t i j ||z_i-z_j|| = dist_{ij} ,令 B = Z T Z R m × m B=Z^TZ ∈ R^{m \times m} ,其中B為降維度後的樣本內積矩陣,則有 b i j = z i T z j b_{ij} = z_i^Tz_j :
d i s t i j 2 = z i 2 + z j 2 2 z i T z j = b i i + b j j 2 b i j dist_{ij}^2 = ||z_i||^2+||z_j||^2-2z_i^Tz_j \\ =b_{ii}+b_{jj}-2b_{ij}

其中令Z在降維後樣本Z被中心化,即有 i = 1 m z i = 0 \sum_{i=1}^{m}z_i = 0 ,對於矩陣B則有行和列和為0,即 i = 1 m b i j = j = 1 m b i j = 0 \sum_{i=1}^{m}b_{ij}=\sum_{j=1}^{m}b_{ij}=0 ,那麼對於上面的式子,我們分別左右兩邊同時取: i = 1 m , j = 1 m , i = 1 m j = 1 m \sum_{i=1}^{m}, \sum_{j=1}^{m}, \sum_{i=1}^{m}\sum_{j=1}^{m} 於是有:

i = 1 m d i s t i j 2 = i = 1 m b i i + i = 1 m b j j 2 i = 1 m b i j = t r ( B ) + m b j j j = 1 m d i s t i j 2 = j = 1 m b i i + j = 1 m b j j 2 j = 1 m b i j = m b i i + t r ( B ) i = 1 m j = 1 m d i s t i j 2 = i = 1 m j = 1 m b i i + i = 1 m j = 1 m b j j 2 i = 1 m j = 1 m b i j = 2 m t r ( B ) \sum_{i=1}^{m}dist_{ij}^2 = \sum_{i=1}^{m}b_{ii}+\sum_{i=1}^{m}b_{jj}-2\sum_{i=1}^{m}b_{ij} = tr(B)+mb_{jj}\\ \sum_{j=1}^{m}dist_{ij}^2 = \sum_{j=1}^{m}b_{ii}+\sum_{j=1}^{m}b_{jj}-2\sum_{j=1}^{m}b_{ij} = mb_{ii}+tr(B) \\ \sum_{i=1}^{m}\sum_{j=1}^{m}dist_{ij}^2 = \sum_{i=1}^{m}\sum_{j=1}^{m}b_{ii}+\sum_{i=1}^{m}\sum_{j=1}^{m}b_{jj}-2\sum_{i=1}^{m}\sum_{j=1}^{m}b_{ij} = 2mtr(B)