主成分分析
AI ·降維打擊 PCA
:::info
降維的意義: 將高維數據轉換到低維空間,同時盡可能保留原始數據的特性。 目的是簡化數據、去除冗餘資訊、方便視覺化和分析。 :::
PCA 的核心概念:
找出數據中 最具代表性 的方向(主成分),並將數據投影到這些方向上。 第一個主成分解釋數據 最大變異 的方向,第二主成分解釋 次大變異,依此類推。 主成分彼此 正交,代表它們所代表的資訊是 獨立 的。
主成分分析(PCA)預先必備知識
- 線性代數 向量、矩陣的基本運算:瞭解矩陣和向量的操作,尤其是加法、乘法等。 特徵值與特徵向量:PCA 的核心是對共變異數矩陣進行特徵值分解。 奇異值分解(SVD):PCA 可透過奇異值分解來實現,這是重要的數學工具。
- 機率與統計 均值、變異數與共變異數:理解這些基本統計量,共變異數矩陣在 PCA 中尤其重要。 資料中心化:在進行 PCA 前,需將資料標準化或中心化,消除偏差。 機率分布:理解資料的分布特性,有助於對 PCA 結果的解釋。
- 微積分 導數與積分:在優化算法中,微積分的知識不可或缺,特別是在最大化變異數的過程中。
- 資料處理與標準化 資料前處理:PCA 通常需要對資料進行標準化或正規化,確保不同維度的資料在同一尺度下進行比較。 資料降維:理解資料降維的概念及實際應用,如在大數據中的應用。
- 機器學習基礎(可選) 特徵提取與降維:PCA 在機器學習中的應用通常是用於特徵提取和降維,以提高模型效能。 無監督學習:PCA 屬於無監督學習的技術,理解基本的無監督學習算法有助於更好應用 PCA。
找出主成分的過程

- 資料標準化 由於 PCA 受資料的尺度影響,首先要將數據進行標準化處理。這通常是指將資料轉換為零均值且單位變異數的形式。
公式如下: \(𝑋_{std}=\frac{(𝑋−𝜇)}{\sigma}\) 其中,$X$ 代表數據,$\mu$ 代表每個特徵的平均值,$\sigma$ 代表每個特徵的標準差。
- 計算共變異數矩陣 接著,計算標準化後數據的共變異數矩陣。共變異數矩陣描述了數據特徵之間的線性相關性。
共變異數矩陣的公式為: \(Σ=\frac{1}{𝑛−1}𝑋^𝑇𝑋\)其中,$n$ 是樣本數,$X$ 是標準化後的數據矩陣。
如果是二維 則形式為: \(Σ = \left[ \begin{matrix} 變異數(x_1) & 共變異數(x_1,x_2)\\ 共變異數(x_1,x_2)& 變異數(x_2) \end{matrix} \right]\)
-
計算特徵值和特徵向量 對共變異數矩陣進行特徵值分解,得到共變異數矩陣的特徵值和特徵向量。特徵值表示數據在該特徵向量方向上的變異數大小,而特徵向量則代表新的座標軸,也就是主成分的方向。
-
選擇主成分 根據特徵值的大小,選擇前 k 個最大的特徵值對應的特徵向量,這些向量將形成新的特徵空間。一般來說,我們會選擇能解釋數據總變異數較大比例的主成分。
-
轉換數據到新空間 最後,將數據投影到選出的主成分空間中,完成降維。這可以透過將原始數據與選出的特徵向量矩陣相乘來實現。
公式為: \(𝑋_{new}=𝑋_{std}𝑊\) 其中,$W$ 是包含前 k 個特徵向量的矩陣。
共變異數矩陣的意義:
描述數據中各個特徵之間的 線性關係。 對角線上的元素代表各特徵自身的 變異,非對角線元素代表 共變異。 PCA 找出的主成分即為共變異數矩陣的 特徵向量 (Eigenvectors)。
基底變換的意義:
選擇不同的基底來描述數據,可以改變數據呈現的方式。 PCA 的過程可以視為將數據從標準基底變換到以主成分為基底的空間。
PCA 的應用:
- 降維: 將高維數據投影到低維空間,方便視覺化、減少計算量。
- 去關聯: 將相關性高的特徵轉換成獨立的特徵,方便模型訓練和分析。
- 數據視覺化: 將高維數據投影到 2 維或 3 維空間,方便觀察數據分布和趨勢。
- 特徵提取: 將主成分作為新的特徵,用於其他機器學習模型的訓練。