PCA

主成分分析(PCA, Principal Component Analysis)是一種常用於降維的線性方法,能將高維資料轉換為較低維的表示,保留大部分變異性。


一、PCA 原理概述

  • 目標:從原始特徵中找出能解釋資料變異最多的方向(主成分)。

  • 特性:主成分彼此正交(無關)、依變異量排序。

  • 用途:資料視覺化、降維、去除共線性、加速模型訓練。


二、步驟流程

  1. 標準化資料(使平均為 0、變異為 1)

  2. 計算共變異數矩陣

  3. 求出特徵值與特徵向量

  4. 依特徵值排序,選取前 $k$ 個主成分

  5. 投影原始資料至新主成分空間


三、使用 scikit-learn 實作 PCA

1. 基本降維與視覺化

2. 解釋變異比例


四、非 scikit-learn 傳統實作

以下是純 NumPy 的 PCA 實作,展示其數學背景:

此實作流程與 PCA 原理完全對應,可用於了解數學計算細節或自訂流程。


五、參數說明

參數
說明

n_components

降維維度數或保留變異百分比

whiten=True

將主成分正規化(常用於影像)

svd_solver

使用的特徵值分解方式(auto, full 等)


六、應用場景

  • 圖像處理(如臉部辨識、影像壓縮)

  • 基因表達資料視覺化與降維

  • 資料預處理以解決特徵共線性問題

  • 作為其他模型(如 LDA、SVM)的前置降維步驟


PCA 是資料科學與機器學習中常見的資料轉換工具之一,理解其數學背景與應用情境有助於更有效地處理高維資料。

Last updated