Introduction
- sklearn中的降維演算法都被包括在模塊
decomposition
中decomposition
模塊為一個矩陣分解模塊
- SVD和主成分分析PCA都屬於矩陣分解算法中的入門算法,通過分解特徵矩陣來進行降維
- 降維(矩陣分解)的過程中追求既減少特徵的數量,又保留大量有效信息的 新特徵矩陣
- 將帶有重複信息(特徵與特徵之間有線性相關)的特徵合併
- 刪除無效信息(noise)的特徵
- 如果一個特徵的方差(Variance)很大,則可以說明這個特徵帶有大量信息
- 兩種主要的降維方法;其矩陣分解的方法不同,信息量衡量指標不同,但都涉及大量矩陣運算
- 主成分分析(PCA)
- 奇異值分解(SVD)
- 通常在能進行PCA降維的情況下,不會進行特徵選擇
主成分分析(PCA)
- PCA使用的信息量衡量指標,就是樣本方差(Variance);又稱可解釋性方差,其值越大,特徵所帶的信息量越多
樣本方差公式如下
- $Var$代表 一個特徵的方差
- $n$代表樣本量
- $x_i$代表一個特徵中的每個樣本的取值
- $\hat{x}$代表該列樣本的均值
PCA本質就是將已存在的特徵進行壓縮,降維後的特徵不是原本特徵中的任何一個特徵,而是通過某些方式組合起來的新特徵
- 新特徵矩陣生成不具有可讀性
- 以PCA為代表的 降維方法 是屬於特徵創造(feature creation)
- 在線性模型當中,不能使用PCA
- 通常使用特徵選擇進行降維
- 在線性模型當中,不能使用PCA
奇異值分解(SVD)
- 奇異值分解可以在不計算協方差矩陣等等複雜計算冗長的情況下,直接求出新特徵空間和降維後的特徵矩陣
- SVD在矩陣分解中會比PCA簡單快速
- SVD的信息衡量指標為奇異值 比較複雜