在機器學習領域中,經常會需要針對高維度的資料進行降維,首先,我們先來簡單了解一下,為什麼資料需要做降維,降維是指在某些限定條件下,降低隨機變量(資料的變項)個數,得到一組「不相關」主變量的過程(根據維基百科的說明),基本上降維可分為兩個目的,變數選擇以及特徵提取,因為研究者的資料通常包含了許多多餘或不重要的資訊(這些東西又可被稱為雜訊,如果不特別處理的話可能會對之後分析資料產生不良的影響)變數選擇的概念其實簡單來說就是從資料當中得到哪些是對於研究標的是重要的變項,特徵提取是指透過某些方法把資料當中有用的變項做一個組合,但其實兩者的目的都是想針對資料做一個純化的動作(白話來說就是找資料裡面的重點),讓之後的統計分析可以更加的準確。降維除了是想避免雜訊外,其實還有一個更重要的目的,那就是為了避免「維度災難,curse of dimensionality」這件事,維度災難最早是用於描述當(數學)空間維度增加時,分析和組織高維空間(通常有成百上千維),因體積指數增加而遇到各種問題場景。如果將此情境套用在統計學是指當維數提高時,空間的體積提高太快,可用數據因此變得很稀疏(樣本數不足的意思)。稀疏性對於任何要求有統計學意義的方法而言都是一個問題,那為了滿足統計學方法以得到可靠的結果,我們只能去增加資料的數量來去避免維度災難的問題,但當我們的資料無法持續增加時,就只能透過替資料降維的方式來避免稀疏性。

下圖是指維度增加到一個程度時,分類模型的分類能力會開始隨維度的增加而下降的過程。

 

11.jpg

 

常見的降維方法有以下幾種:

  1. 缺失值比率(Missing Values Ratio): 根據變項的遺漏情況來去決定要不要使用這個變項進行分析,例如:當變項的遺漏比率>20%,則不納入分析。
  2. 低變異數篩選(Low Variance Filter):根據變項的變異情形去做納入分析的考量,當此變項變異低於一個研究者定義的閾值,則不納入分析。
  3. 高相關篩選(High Correlation Filter): 當兩個變項(連續變項)彼此相關係數非常高時,兩個變項其實在資料中代表的是類似的事情,因此可以擇一納入要分析的變項即可。
  4. 隨機森林(Random forests):透過隨機森林根據目標屬性產生巨大的樹,再從中找到資訊量最大的變項集合,例如,我們能夠對一個非常巨大的資料集生成非常層次非常淺的樹,每顆樹只訓練一小部分屬性。如果一個屬性經常在每一次分類出現,那麼它很有可能是需要保留的特徵。
  5. 主成分分析(Principle component analysis): 透過統計方法將原始資料轉換成不同特徵的線性組合(主成分),通常會產生不只一個主成分,但第一個主成分通常的解釋力最大,之後則依序遞減。
  6. 反向特徵消除(Backward Feature Elimination):利用資料當中所有變數訓練模型並計算模型的效能,之後每刪除一個變數,用剩下的變數再次建模並重新計算效能,在這過程中會慢慢找到哪些變項對於模型的效能影響很小,可以把它刪除,重複上述步驟直到沒有任何一個變項需要被刪除為止。
  7. 前向特徵選擇(Forward Feature Selection):反向特徵消除的相反過程,每一次只增加一個變數進入模型並計算模型效能,重複以上過程直到保留效能提升最大的變數為止。

 

參考資料:

  1. 分類問題中的維度災難:https://read01.com/NymEOK.html#.XuTGLUUkvD4
  2. 常見的降維方法https://www.itread01.com/content/1549931070.html
arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()