PCA:在機器學習中的應用

主成分分析(PCA)是一種無監督的非引數統計技術,主要用於機器學習中的降維。

高維度意味著機器學習資料集具有大量特徵。在機器學習領域,與高維相關的主要問題是模型過擬合,這會降低在訓練集之外進行泛化的能力。1961年,理查德·貝爾曼(Richard Bellman)將這一現象描述為“維度詛咒”,“當輸入是高維的時候,許多在低維度上執行良好的演算法變得難以處理。”

PCA:在機器學習中的應用

隨著訓練資料集的維數的增加,機器學習模型泛化的能力將以指數形式變得越來越困難。透過刪除冗餘的特徵不僅降低了計算成本,還提高了學習速度,從而使模型也變得更加有效。

PCA還可以用來過濾噪聲資料集,如影象壓縮。第一個主成分表示的方差最大。較小的方差意味著較多的噪聲,因此用較小的主成分子集表示資料會保留訊號並丟棄噪聲。

主成分分析:

透過旋轉軸,PCA使資料集中的最大可變性更加明顯。PCA根據每個軸捕獲的方差量,在對基礎資料集進行排名之前,識別主軸的列表以描述基礎資料集。

PCA:在機器學習中的應用

在上圖中,第一個主成分(PC1)是一個合成變數,它被構造成一個線性組合來確定資料集中最大方差的大小和方向。在所有成分中,此成分的可變性最高,因此資訊最多。第二個主成分(PC2)也是線性組合,它捕捉資料集中剩餘的方差(與PC1無關)。後面的主成分類似地捕獲剩餘的變化,不與先前的成分關聯。

PCA是一種無監督學習演算法,因為這些成分的方向完全根據解釋性特徵集計算而不參考響應變數。

特徵組合的數量等於資料集的維數,並且通常設定可以構造的PCA的最大數量。

PCA:在機器學習中的應用

每個藍色點對應一個觀測值,每個主分量將三維空間縮小到二維。該演算法找到一對正交向量(紅色箭頭),它們定義了一個低維空間(灰色平面),以從原始資料集捕獲儘可能多的方差。

測量

特徵向量和特徵值是用於量化每個軸捕獲的變化的方向和大小的度量。特徵向量透過資料空間描述軸的角度或方向,特徵值量化了軸上資料方差的大小。

PCA:在機器學習中的應用

A是x n矩陣,ƛ是特徵值,X是特徵向量。

要素組合的數量等於資料集的維數。例如,具有十個特徵的資料集將具有十個特徵值/特徵向量組合。

每個主成分之間的相關性應該為零,因為後續的成分會捕獲剩餘的方差。任意一對特徵值/特徵向量之間的相關性為零,因此軸是正交的,即,在資料空間中相互垂直

將資料投影到資料空間後,使其方差最大化的直線等價於找到投影最小二乘距離的路徑。

PCA:在機器學習中的應用

假設

PCA基於Pearson相關係數框架並繼承了類似的假設。

樣本量:最少150個觀測值,理想情況下觀測值與特徵值之比為5:1(Pallant,2010)

相關性:特徵集是相關的,因此簡化的特徵集有效地代表了原始資料空間。

線性:所有變數都表現出恆定的多元正態關係,主成分是原始特徵的線性組合。

異常值:資料中沒有顯著的異常值,因為這些異常值對結果的影響可能不成比例。

大方差意味著更多結構:高方差軸被視為主要元件,而低方差軸被視為噪聲並被丟棄。

應用PCA工作流程

從理論上講,PCA線性變換也可以透過神經網路的輸入層權重來進行。然而,當對神經網路進行縮放時,計算網路權重所需的資料集的大小會增加,並且過度擬合會成為問題。

另一方面,PCA減少了輸入節點的數量,反過來減少了訓練網路的資料集的大小。

用於說明的資料集是Fashion-MNIST:一個包含60,000個訓練樣例的資料集和一個包含10,000個觀測值的測試集,總共有784個特徵。每個觀察示例是28x28灰度影象,與10個類別的標籤相關聯。使用具有784個輸入節點,10個隱藏層和10個輸出節點的未調整神經網路來對效能進行基準測試。

1. 歸一化資料

PCA用於識別具有最大方差的成分,每個變數對成分的貢獻基於其方差大小。最佳實踐是在執行PCA之前對資料進行歸一化,因為具有不同度量單位的未縮放資料會扭曲特徵間方差的相對比較。

2.為特徵分解建立協方差矩陣

要得到所有不同維度之間所有可能的關係,一個有用的方法是計算它們之間的協方差,並將它們放入一個協方差矩陣中,該矩陣表示資料中這些關係。瞭解每個主成分捕獲的累積方差百分比是減少特徵集的一個組成部分。

3.選擇最佳主成分數

主成分的最優數量是透過將累積解釋的方差比作為成分數量的函式來確定的。pc的選擇完全取決於維度減少和資訊損失之間的權衡。下面累積方差的圖形化表示表明,近75%的方差僅歸因於100/784個特徵,95%歸因於300/784個特徵,表明特徵冗餘度較高。

PCA:在機器學習中的應用

效能分析

沒有PCA應用的神經網路在訓練和驗證損失指標之間有很大的差異,表明存在顯著的過擬合。透過主成分分析減小特徵空間,損失度量開始收斂,對準確度測量沒有顯著影響。降維提高了模型的效能和效率。

PCA:在機器學習中的應用

PCA:在機器學習中的應用

PCA限制

模型效能:PCA會導致在沒有或低特徵相關性或不滿足線性假設的資料集上的模型效能下降。

分類準確性:基於方差的PCA框架不考慮類的區分特徵。此外,區分一個類與另一個類的資訊可能在低方差分量中並且可能被丟棄。

異常值: PCA也受到異常值的影響,資料的歸一化需要成為任何工作流程的重要組成部分。

可解釋性:每個主成分是原始特徵的組合,不允許識別單個特徵的重要性。

結論

PCA是資料科學家工具包的一個便利補充,可以在大多數情況下提高模型效能。 在Scikit-Learn庫中有一些擴充套件可以緩解PCA的特定限制。 這些包括RandomizedPCA,它適用於快速逼近高維資料中的前幾個主成分,以及SparsePCA,它引入了正則化調整引數以增加稀疏性。