讀古今文學網 > 機器學習實戰 > 13.1 降維技術 >

13.1 降維技術

始終貫穿本書的一個難題就是對數據和結果的展示,這是因為這本書只是二維的,而在通常的情況下我們的數據不是如此。有時我們會顯示三維圖像或者只顯示其相關特徵,但是數據往往擁有超出顯示能力的更多特徵。數據顯示並非大規模特徵下的唯一難題,對數據進行簡化還有如下一系列的原因:

  • 使得數據集更易使用;
  • 降低很多算法的計算開銷;
  • 去除噪聲;
  • 使得結果易懂。

在已標注與未標注的數據上都有降維技術。這裡我們將主要關注未標注數據上的降維技術,該技術同時也可以應用於已標注的數據。

第一種降維的方法稱之為主成分分析(Principal Component Analysis,PCA)。在PCA中,數據從原來的坐標系轉換到了新的坐標系,新坐標系的選擇是由數據本身決定的。第一個新坐標軸選擇的是原始數據中方差最大的方向,第二個新坐標軸的選擇和第一個坐標軸正交且具有最大方差的方向。該過程一直重複,重複次數為原始數據中特徵的數目。我們會發現,大部分方差都包含在最前面的幾個新坐標軸中。因此,我們可以忽略餘下的坐標軸,即對數據進行了降維處理。在13.2節我們將會對PCA的細節進行深入介紹。

另外一種降維技術是因子分析(Factor Analysis)。在因子分析中,我們假設在觀察數據的生成中有一些觀察不到的隱變量(latent variable)。假設觀察數據是這些隱變量和某些噪聲的線性組合。那麼隱變量的數據可能比觀察數據的數目少,也就是說通過找到隱變量就可以實現數據的降維。因子分析已經應用於社會科學、金融和其他領域中了。

還有一種降維技術就是獨立成分分析(Independent Component Analysis,ICA)。ICA假設數據是從N個數據源生成的,這一點和因子分析有些類似。假設數據為多個數據源的混合觀察結果,這些數據源之間在統計上是相互獨立的,而在PCA中只假設數據是不相關的。同因子分析一樣,如果數據源的數目少於觀察數據的數目,則可以實現降維過程。

在上述3種降維技術中,PCA的應用目前最為廣泛,因此本章主要關注PCA。在下一節中,我們將會對PCA進行介紹,然後再通過一段Python代碼來運行PCA。