Pca

在內核 PCA 中計算主成分的具體過程是什麼?

  • January 4, 2015

在內核 PCA(主成分分析)中,您首先選擇一個所需的內核,用它來找到您的矩陣,通過矩陣,找到它的特徵值和特徵向量,然後將中心核矩陣乘以對應於最大特徵值的所需特徵向量。

結果應該是將特徵空間數據投影到低維子空間上。

據我所知,您將特徵值除以數字原始數據點來縮放它們。所以問題是,你選擇的特徵向量是否也需要縮放來乘以中心核矩陣,如果是,你怎麼做?

要在經典 PCA 中找到 PC,可以執行中心數據矩陣的奇異值分解(列中有變量) $ \mathbf X = \mathbf U \mathbf S \mathbf V^\top $ ; 列 $ \mathbf U \mathbf S $ 被稱為主成分(即將原始數據投影到協方差矩陣的特徵向量上)。觀察所謂的格拉姆矩陣 $ \mathbf G = \mathbf X \mathbf X^\top = \mathbf U \mathbf S^2 \mathbf U^\top $ 有特徵向量 $ \mathbf U $ 和特徵值 $ \mathbf S^2 $ ,因此另一種計算主成分的方法是通過各自特徵值的平方根來縮放 Gram 矩陣的特徵向量。

完全類比,這是一個計算內核主成分的完整算法:

  1. 選擇核函數 $ k(\mathbf x, \mathbf y) $ 從概念上講,它是目標空間中的標量積。
  2. 計算一個 Gram/kernel 矩陣 $ \mathbf K $ 和 $ K_{ij} = k(\mathbf x_{(i)}, \mathbf x_{(j)}) $ .
  3. 通過以下技巧使內核矩陣居中:$$ \mathbf K_\mathrm{centered} = \mathbf K - \mathbf 1_n \mathbf K - \mathbf K \mathbf 1_n + \mathbf 1_n \mathbf K \mathbf 1_n=(\mathbf I - \mathbf 1_n)\mathbf K(\mathbf I - \mathbf 1_n) , $$在哪裡 $ \mathbf 1_n $ 是一個 $ n \times n $ 所有元素等於的矩陣 $ \frac{1}{n} $ , 和 $ n $ 是數據點的數量。
  4. 查找特徵向量 $ \mathbf U $ 和特徵值 $ \mathbf S^2 $ 的中心核矩陣。將每個特徵向量乘以各自特徵值的平方根。
  5. 完畢。這些是內核主要組件。

具體回答您的問題,我認為不需要縮放特徵向量或特徵值 $ n $ 在步驟 4–5 中。

一個很好的參考是原始論文:Scholkopf B、Smola A 和 Müller KR,內核主成分分析,1999 年。請注意,它以一種更複雜的方式呈現相同的算法:您應該找到的特徵向量 $ K $ 然後將它們乘以 $ K $ (正如您在問題中所寫)。但是將矩陣與其特徵向量相乘會得到相同的特徵向量,該特徵向量按特徵值縮放(根據定義)。

引用自:https://stats.stackexchange.com/questions/131140

comments powered by Disqus