內核 PCA 與標準 PCA 相比有哪些優勢?
我想在使用內核 SVD 分解數據矩陣的論文中實現一個算法。所以我一直在閱讀有關內核方法和內核 PCA 等的材料。但對我來說仍然非常模糊,尤其是在涉及數學細節時,我有幾個問題。
- 為什麼選擇內核方法?或者,內核方法有什麼好處?直觀的目的是什麼?
與非內核方法相比,它是否假設更高維度的空間在現實世界的問題中更現實,並且能夠揭示數據中的非線性關係?根據資料,核方法將數據投影到高維特徵空間,但它們不需要顯式計算新的特徵空間。相反,只計算特徵空間中所有數據點對的圖像之間的內積就足夠了。那麼為什麼要投影到更高維空間呢? 2. 相反,SVD 減少了特徵空間。**為什麼他們在不同的方向上這樣做?**內核方法尋求更高的維度,而 SVD 尋求更低的維度。對我來說,將它們結合起來聽起來很奇怪。根據我正在閱讀的論文(Symeonidis et al. 2010),引入 Kernel SVD 而不是 SVD 可以解決數據中的稀疏問題,從而改善結果。
從圖中的比較我們可以看出,KPCA 得到了一個比 PCA 具有更高方差(特徵值)的特徵向量,我猜?因為對於點在特徵向量(新坐標)上的投影的最大差異,KPCA 是一個圓,PCA 是一條直線,所以 KPCA 比 PCA 獲得更高的方差。那麼這是否意味著 KPCA 比 PCA 獲得更高的主成分?
PCA(作為一種降維技術)試圖找到數據被限制在的低維線性子空間。但可能是數據僅限於低維非線性子空間。那時會發生什麼?
看看這張圖,取自 Bishop 的《模式識別與機器學習》教科書(圖 12.16):
此處(左側)的數據點主要位於二維曲線上。PCA 不能將維數從 2 降到 1,因為點不是沿著直線定位的。但是,數據“顯然”位於一維非線性曲線周圍。因此,當 PCA 失敗時,必須有另一種方法!事實上,內核 PCA 可以找到這種非線性流形並發現數據實際上幾乎是一維的。
它通過將數據映射到更高維空間來實現這一點。這確實看起來像一個矛盾(你的問題#2),但事實並非如此。數據被映射到一個高維空間,但結果卻位於它的一個低維子空間。所以你增加維度以便能夠減少它。
“內核技巧”的本質是,實際上不需要明確考慮更高維空間,因此這種可能令人困惑的維度飛躍完全是秘密進行的。然而,這個想法保持不變。