機器學習中降維和特徵選擇的對比介紹
作者 | Ankit Sanjyal
轉 | Deephub Imba
在machine learning中,特徵降維和特徵選擇是兩個常見的概念,在應用machine learning來解決問題的論文中經常會出現。特徵降維和特徵選擇的目的都是使數據的維數降低,使數據維度降小。但實際上兩者的區別是很大,他們的本質是完全不同的。
降維?
降低數據集中特徵的維數,同時保持儘可能多的信息的技術被稱為降維。它是機器學習和數據挖掘中常用的技術,可以最大限度地降低數據複雜性並提高模型性能。
降維可以通過多種方式實現,包括:
主成分分析 (PCA):PCA 是一種統計方法,可識別一組不相關的變量,將原始變量進行線性組合,稱為主成分。
第一個主成分解釋了數據中最大的方差,然後每個後續成分解釋主鍵變少。PCA 經常用作機器學習算法的數據預處理步驟,因為它有助於降低數據複雜性並提高模型性能。
LDA(線性判別分析):LDA是一種用於分類工作的統計工具。它的工作原理是確定數據屬性的線性組合,最大限度地分離不同類別。為了提高模型性能,LDA經常與其他分類技術(如邏輯回歸或支持向量機)結合使用。
t-SNE: t-分佈隨機鄰居嵌入(t-SNE)是一種非線性降維方法,特別適用於顯示高維數據集。它保留數據的局部結構來,也就是說在原始空間中靠近的點在低維空間中也會靠近。t-SNE經常用於數據可視化,因為它可以幫助識別數據中的模式和關係。
獨立份量分析(Independent Component Analysis) ICA實際上也是對數據在原有特徵空間中做的一個線性變換。相對於PCA這種降秩操作,ICA並不是通過在不同方向上方差的大小,即數據在該方向上的分散程度來判斷那些是主要成分,那些是不需要到特徵。而ICA並沒有設定一個所謂主要成分和次要成分的概念,ICA認為所有的成分同等重要,而我們的目標並非將重要特徵提取出來,而是找到一個線性變換,使得變換後的結果具有最強的獨立性。PCA中的不相關太弱,我們希望數據的各階統計量都能利用,即我們利用大於2的統計量來表徵。而ICA並不要求特徵是正交的。如下圖所示:
還有許多其他技術可以用於降維,包括多維縮放、自編碼器等。技術的選擇將取決於數據的具體特徵和分析的目標。
特徵選擇?
在數據集中選擇一個特徵子集(也稱為預測因子或自變量)用於機器學習模型的過程被稱為特徵選擇。特徵選擇的目的是發現對預測目標變量(也稱為響應變量或因變量)最相關和最重要的特徵。
使用特徵選擇有很多優點:
-
改進的模型可解釋性:通過降低模型中的特徵量,可以更容易地掌握和解釋變量和模型預測之間的關係。
-
降低過擬合的危險:當一個模型包含太多特徵時,它更有可能過擬合,這意味著它在訓練數據上表現良好,但在新的未知數據上表現不佳。通過選擇最相關特徵的子集,可以幫助限制過擬合的風險。
-
改進模型性能:通過從模型中刪除不相關或多餘的特徵,可以提高模型的性能和準確性。
有許多可用的特徵選擇方法:
-
過濾方法:這些方法基於相關或相互信息等統計測量來選擇特徵。
-
包裝器方法:這些方法利用機器學習算法來評估各種特徵子集的性能,並選擇最佳的一個。
-
嵌入方法:這些方法將特徵選擇作為機器學習算法訓練過程的一部分。
所使用的特徵選擇方法將由數據的質量和研究的目標決定。為了為模型選擇最優的特徵子集,通常是嘗試各種方法並比較結果。
降維與特徵選擇的區別
特徵選擇從數據集中選擇最重要特徵的子集,特徵選擇不會改變原始特徵的含義和數值,只是對原始特徵進行篩選。而降維將數據轉換為低維空間,會改變原始特徵中特徵的含義和數值,可以理解為低維的特徵映射。這兩種策略都可以用來提高機器學習模型的性能和可解釋性,但它們的運作方式是截然不同的。