簡單地講,PCA是一個降維的過程,ICA則是幫助你從多個維度分離有用數據的過程。
附上兩個鏈接地址:
PCA: Principal Component Analysis explained visually
ICA: What is the difference between PCA and ICA?
主成分分析(PCA)
3D示例:
在三個維度上,PCA更有用,因爲很難看清數據雲。在下面的例子中,原始數據以3D形式繪製,但您可以通過轉換將數據投影到2D中,與查找相機角度不同:旋轉軸以找到最佳角度。要查看“官方”PCA轉換。
請單擊“顯示PCA”按鈕。PCA變換確保水平軸PC1變化最大,垂直軸PC2次之,第三軸PC3最小。很明顯,PC3是我們放棄的。
獨立成分分析(ICA)
作爲ICA的一個例子,考慮兩個圖像:
將它們按不同比例混合製作這兩種混合物:
如果我們現在將ICA應用於這些圖像,我們會得到以下結果:
雖然不是100%完美,但它是兩幅混合圖像的完美分離。
總結:
當你希望查找數據的排名較低的表示時,PCA可以提供幫助;
當你希望將數據表示形式看作獨立的子元素時,ICA可以提供幫助;
通俗的將:PCA有助於壓縮數據,而ICA有助於分離數據。
注意1:PCA和SVD是相同的,通常使用中心數據矩陣的SVD更好,因爲SVD算法比PCA更快,更穩定。
注意2:在某些情況下,NMF(非負矩陣分解)可以用作ICA。在NMF中,您希望找到的基礎是幫助您將數據重建爲基礎向量的正向求和。這意味着基礎將具有表示原始數據部分的矢量,如果數據包含圖像,則NMF基礎包含部分圖像,這些圖像可幫助您重建數據集中的任何圖像。