PCA原理分析

無監督學習:數據沒有附帶任何標籤,也即無監督學習的目標是找到數據的某種內在結構。
降維:將數據從高維空間降低到低維,降維可見的優勢包括:1、使得數據更容易使用;2、降低很多算法的計算開銷;3、去除噪聲(下面結合PCA再解釋);4、使得結果易懂。
常見的降維方法包括但不限於: 1. PCA(Principal Compotent Analysis),主成分分析;2. 因子分析;3. 獨立成分分析(Indepedent Component Analysis ,ICA)
解釋:PCA不是針對原有的數據刪減,而是把原來的數據映射到新的特徵空間。一般認爲,捨棄掉一些特徵是必要的。一方面,捨棄這些特徵使的樣本的採樣密度增大;另一方面、從信號處理方面而言,認爲信號的方差較大而噪聲的信號方差較小,因此我們在丟棄一些方差較小的特徵(特徵值)時,相應的減少了噪聲,因此起到了去噪的作用。
算法思想:相同的一組數據,給定不同的的基,數據有不同的表示,當選擇的基的數量少於向量本身維數時,就能起到降維的作用。但是我們得選擇一組基使其能夠最大程度的保留原有的信息。此時爲了能最大程度的保留原有的信息,我們希望投影之後的數據儘量的分散,而這種分散在數學上可以用方差去衡量。二維空間上,我們想要找到在一維空間上方差最大的投影,由此如果在多維甚至高維空間上,我們找到了第一個投影方向,還需要選擇第二個投影方向,第三個甚至更多。
  但同時我們又不能讓不同的方向上存在線性相關,因爲線性相關意味着這兩維不是完全獨立,也就存在重複表示的信息。這種關係在數學上我們通過協方差衡量,協方差是衡量不同變量(而不是不同樣本)之間的相關性。而協方差矩陣在最大化方差和協方差爲0時具有了統一性,因此通過協方差矩陣求其解特徵值和特徵向量,選擇前k個特徵值對應的特徵向量,對角元素從大到小依次排序,各主成分方差依次遞減,而選擇的k個特徵值對應的特徵向量就是投影方向的方向向量。
  因此有如下算法步驟:
  1. 初始數據集零均值化(初始樣本每一維均值爲0,因此投影到基上的樣本點的均值依舊爲0,在求解時帶來計算上的方便);
  2. 計算協方差矩陣;
  3. 求出協方差矩陣對應的特徵值和對應的特徵向量;
  4. 按大小順序排序取得前k個特徵值對應的特徵向量,組成(n * k)的基矩陣;
  5. Y (m * k) = X (m * n) * P(n * k),將樣本從X的n維轉化爲Y的k維。
注意:降維技術可以運用在監督學習和非監督學習中
代碼實現:參照《機器學習實戰》
參考資料(很重要):
1.http://www.360doc.com/content/13/1124/02/9482_331688889.shtml,PCA的數學原理講的很透徹; 2.http://blog.csdn.net/fngy123/article/details/45153163,分析協方差矩陣求特徵向量的那一部分講解的很到位。

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