1. 程式人生 > >【模式識別與機器學習】——PCA與Kernel PCA介紹與對比

【模式識別與機器學習】——PCA與Kernel PCA介紹與對比

 

PCA與Kernel PCA介紹與對比

1. 理論介紹

  PCA:是常用的提取資料的手段,其功能為提取主成分(主要資訊),摒棄冗餘資訊(次要資訊),從而得到壓縮後的資料,實現維度的下降。其設想通過投影矩陣將高維資訊轉換到另一個座標系下,並通過平移將資料均值變為零。PCA認為,在變換過後的資料中,在某一維度上,資料分佈的更分散,則認為對資料點分佈情況的解釋力就更強。故在PCA中,通過方差來衡量資料樣本在各個方向上投影的分佈情況,進而對有效的低維方向進行選擇。

  KernelPCA:是PCA的一個改進版,它將非線性可分的資料轉換到一個適合對齊進行線性分類的新的低維子空間上,核PCA可以通過非線性對映將資料轉換到一個高維空間中,在高維空間中使用PCA將其對映到另一個低維空間中,並通過線性分類器對樣本進行劃分。

  核函式:通過兩個向量點積來度量向量間相似度的函式。常用函式有:多項式核、雙曲正切核、徑向基和函式(RBF)(高斯核函式)等。

2. 技術實現

  (1)在KernelPCA中,這個問題同樣是求特徵向量的問題,只不過目標矩陣是經過核變換之後的協方差矩陣;與前相同,這個問題解決的實質還是要求C矩陣的特徵向量,但對C求特徵向量的過程較為複雜,經過了幾次矩陣變化,先求得與核變換有關的矩陣K 的特徵向量a,再通過變換方程與a的點乘得到協方差矩陣的特徵向量v。

 

  (2)Kernel版的PCA思想是比較簡單的,我們同樣需要求出Covariance matrix C,但不同的是這一次我們要再目標空間中來求,而非原空間。

如果令,則Φ(i)表示i被對映到目標空間後的一個列向量,於是同樣有

C和XTX具有相同的特徵向量。但現在的問題是Φ是隱式的,我們並不知道。所以,我們需要設法藉助核函式K來求解XTX。

因為核函式K是已知的,所以XXT是可以算得的。

 

 

 

  (3)扼要總結如下:

Solve the following eigenvalue problem:

 

The projection of the test sample Φ(xj) on the i-th eigenvector can be computed by

 

所得之vTi·Φ(xj)即為特徵空間(Feature space)中沿著vi方向的座標。


  (4)最後我們給出的是一個KPCA的例子。其中左圖是用傳統PCA畫出的投影。右圖是在高維空間中找到投影點後又轉換回原空間的效果。可見,加了核函式之後的PCA變得更加強大了。

 

具體推法:https://blog.csdn.net/zhangping1987/article/details/30492433