一、 利用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將原始的數據分解成三個矩陣: