首先需要了解下:什麼叫做資料降維,為什麼要對資料進行降維,如果不做降維處理會出現哪些問題?
一、什麼是資料降維
資料降維,又稱為維數約簡。顧名思義,就是降低資料的維度。
資料降維,一方面可以解決"維數災難",緩解"資訊豐富、知識貧乏"現狀,降低複雜度;另一方面可以更好的認識和理解資料。
二、什麼情況需要資料降維
資料降維是維數歸約的一個重要課題。
資料降維可以降低模型的計算量並減少模型執行時間、降低噪音變數資訊對於模型結果的影響、便於透過視覺化方式展示規約後的維度資訊並減少資料儲存空間。
資料降維一般針對高維資料進行操作,但不是所有的高維資料都需要進行資料降維,一般我們判斷是否需要進行降維可以參考以下幾個標準:
1.維度的數量。
降維的基本前提是高維,假如維度的數量不大,而且維度直接沒有明顯的共線性可以不進行降維處理。
2.是否需要在模型輸出結果中保留原始維度。
在有些場景下,需要在輸出結果中保留原始的維度資訊,以便分析原始維度對於模型結果的影響,這種情況下就不能進行轉換的方式降維,而是透過特徵篩選的方式降維。
3.對模型的計算效率與建模時效性有要求。
如果模型對資料維度量比較敏感,當高維資料會帶來模型的消耗呈幾何倍數增長,使得運算效果明顯變慢,這時就需要對資料進行降維。
4.是否需要保留完整的資料特徵。
資料降維的原則是在最大化保留原始資料特徵的情況下,降低參與建模的維度數,但是在降維過程中,無論未被表示出來的特徵是噪音還是正常分佈,這種資訊都無法參與建模,所以如果場景中需要所有資料集的完整特徵,那麼通常不選擇降維。
三、資料降維方式
1.基於特徵選擇的降維
特徵選擇就是根據一定的規則和經驗,直接選取原有維度的一部分參與到後續的計算和建模過程,用選擇的維度代替所有維度。
特徵選擇的降維方式有4種思路:
①經驗法
根據業務專家或者資料專家的以往經驗、實際資料情況、業務理解程度等進行綜合考慮。業務經驗依靠的是業務背景,從眾多維度特徵中選擇對結果影響較大的特徵;而資料專家依靠的是資料工作經驗,基於資料的基本特徵以及對後期資料處理和建模的影響來選擇或排除維度。
②測演算法
透過不斷測試多種維度的選擇參與計算,透過結果來反覆驗證和調整並最終找到最佳特徵方案。
③基於統計分析的方法
透過相關性分析不同維度間的線性相關性,在相關性高的維度中進行人工去除或者篩選;或者透過計算不同維度間的互資訊量,找到具有較高互資訊量的特徵集,然後把其中的一個特徵去除或留下。
④機器學習方法
透過機器學習演算法得到不同特徵的特徵值或權重,然後再根據權重來選擇較大的特徵。這種資料降維的好處是,在保留了原有維度特徵的基礎上進行降維,既能滿足後續資料處理和建模需求,又能保留維度原本的業務含義,以便於業務的理解和應用。
2.基於維度變換的降維
基於維度轉換的降維是按照一定的數學變換方法,把給定的一組相關變數透過數學模型將高維空間的資料點對映到低緯度空間中,然後利用對映後變數的特徵來表示原有變數的總體特徵。這種方式是一種產生新維度的過程,轉換後的維度並非原有維度的本體,而是其綜合多個維度轉換或對映後的表示式。
透過資料維度變換進行降維是非常重要的降維方法,這種降維方法分為線性降維和非線性降維兩種,其中常用的代表演算法包括獨立成分分析(ICA)、主成分分析(PCA),因子分析(FA)、線性判別分析(LDA)、核主成分分析(Kernel PCA)等等。