機器學習實戰——PCA和SVD


一、 利用PCA簡化數據

1、對數據進行降維的原因

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

2、 主成分分析PCA(Principal Component Analysis)

數據從原來的座標系轉換到了新得座標系。第一個新座標軸選擇的是原始數據集中方差最大的方向,第二個選擇的和第一個座標軸正交且具有最大方差,此過程一直重複,重複次數爲原始數據中特徵的數目。我們發現,大部分方差都包含在最前面的幾個新座標軸中。因此可以忽略餘下的座標軸,即對數據進行了降維處理。

3、 PCA的優缺點

  • 優點:降低數據的複雜性,識別最重要的多個特徵;
  • 缺點:不一定需要,可能會損失信息;
  • 使用數據類型:數值型數據。

4、 PCA原理

數據的最大方差給出了數據最重要的信息,我們首先選擇覆蓋數據最大差異性的座標軸,然後選擇與第一條座標軸垂直的覆蓋數據次大差異性的座標軸,利用PCA我們實際上是將座標軸旋轉到了數據角度上那些最重要的方向。座標軸旋轉並沒有降低數據的維度。通過降維處理,我們可以同時獲得SVM和決策樹的優點:一方面得到了和決策樹一樣簡單的分類器,另一方面分類間隔和SVM一樣好。
通過對數據集的協方差矩陣及特徵值分析,我們就能得到這些主成分的值。

5、 PCA實現

去除平均值
計算協方差矩陣
計算協方差矩陣的特徵值和特徵向量
將特徵值從大到小排序
保留最上面N個特徵向量
將數據轉化到上述N個特徵向量構建的新空間

6、 小結

PCA可以從數據中識別出主要的特徵,他是通過沿着數據最大方差方向旋轉座標軸來實現的。

二、 因子分析和獨立成分分析

1、 因子分析Factor Analisis

在因子分析中,我們假設觀察數據的生成中有些觀察不到的隱變量,假設觀察數據是這些隱變量和某些噪聲數據的線性組合,那麼隱變量可能比觀察數據的數目要少,通過找到隱變量就可以實現數據的降維。

2、 獨立成分分析Independent Component Analysis

ICA假設數據是從N個數據源生成的,假設數據爲多個數據源的混合觀察的結果,如果數據源的數目少於觀察數據的數目,那麼就可以實現降維。

三、 SVD

在數據的背後,可能有一些因素導致了數據的產生,我們可以從數據中找出這些因素,從而對數據進行降維處理。利用SVD我們可以用小得多的數據集來表示原始數據集,這樣做其實是去除了噪聲和冗餘數據。我們稱利用SVD的方法爲隱語義索引(latent Semantic Indexing)或隱語義分析(Latent Semantic Analysis)。

1、 SVD奇異值分解優缺點

  • 有點:簡化數據、去除噪聲、提高算法結果;
  • 數據的轉換可能難以理解
  • 適用數據:數值型數據

2、 矩陣分解

在很多情況下,數據中的一小段攜帶了大量的信息,其他信息要麼是噪聲要麼是毫不相關的信息。SVD將原始的數據分解成三個矩陣:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章