主成分分析(Principal Component Analysis, PCA)與其有關的數學

用來降維的好用分析方法

現況和問題

在機器學習/深度學習裡,預測能力會維度數(變數)增加,但增加到某個上限後,機器學習/深度學習就無法從更多的維度數(變數)挖掘出有用的資訊,從而導致預測能力的下降(參考維基百科)。

那現在我們的問題就是:有沒有一種辦法,可以把維度數降到最低的同時,維持最多的資訊量(變異數)呢?

有,方法就是主成分分析(Principal Component Analysis, PCA)。PCA就是一個將原本維度投影到幾個存在最大的變異數的維度,來達到既降維,又維持足夠的資訊量(變異數)。

預備數學

在詳細介紹PCA前,先講幾個會用到的數學。

變異數(Variance) & 共變異數(Covariance) & 共變異數矩陣(Covariance Matrix)

內積(Inner Product) & 投影(Projection)

特徵值(Eigen Value) & 特徵向量(Eigen Vector)

Lagrange 乘數法(Lagrange Multiplier Method)

主成分分析(Principal Component Analysis, PCA)

主成分分析步驟

  1. 標準化d維原”數據集”。
  2. 建立共變異數矩陣(covariance matrix)。
  3. 分解共變異數矩陣(covariance matrix)為特徵向量(eigenvector)與特徵值(eigenvalues)。
  4. 選取k個最大特徵值(eigenvalues)相對應k個的特徵向量(eigenvector),其中k即為新特徵子空間的維數。
  5. 使用排序最上面的k個的特徵向量(eigenvector),建立投影矩陣(project matrix)W。
  6. 使用投影矩陣(project matrix)W轉換原本d維的原數據至新的k維特徵子空間。

Reference

https://blog.bioturing.com/2018/06/14/principal-component-analysis-explained-simply/

--

--