最近學習了主成份分析(principal component analysis)這個經典方法。學習的材料是a tutorial on principal component analysis(by jonathon shlens)。
學習完之後,感覺這篇材料關於pca寫得非常簡潔明瞭,也很適合自學。現在做一下總結。
我們首先來看,對於如圖所示的乙個彈簧振子模型,我們並不知道真正的x、y、z三個座標軸的位置,於是在系統附近的三個位置有三個相機來記錄彈簧振子的位置。但是我們並不知道這三個相機記錄下的位置哪乙個能更好地描述振子的運動。同時,更關鍵的是,我們想通過三組記錄資料來求出真正的振子運動方向,即x方向。
抽象地來說,我們用乙個六維向量來表示記錄下的資料:
pca的目標就是找到一組最有意義的基來更好地表示資料。即尋找變換矩陣p,令對於變換後的y應該滿足哪些性質呢?我們需要引入更多的假設。
首先,關於雜訊。在彈簧振子模型中,我們假設測量過程中的雜訊是很少的,否則任何測量都變得沒有意義,測量的結果無法提供我們需要的資訊。我們用訊雜比來表示測量的準確度,訊雜比越大,測量越準確。
有了這個假設,我們再來看振子模型。因為振子是沿直線運動的,因此干擾振子偏離該方向的因素就是雜訊。那麼記錄下的資料表明振子運動方向越接近直線,則測量的訊雜比越大,測量的準確度就越高。所以,訊雜比(就是測量方差)最大的方向,就是我們想要尋找的方向。因此最大化方差就對應於找到初始基的合適變換。
另一方面,我們還可以從另乙個角度來分析資料,即冗餘性。當資料冗餘性很大時,我們沒有必要記錄下所有的變數,因為我們通過其他變數很好地**某個變數值。這也是降低維度背後的中心思想。
那麼我們如何量化表示這些概念並且一般化應用到高維資料呢?這就需要方差矩陣。
在方差矩陣中,對角線元素表示某種測量型別的方差,值越大,我們對這種結構就越感興趣;非對角線元素表示兩種測量方式的協方差,值越大,代表資料的冗餘性越大。
現在,假設我們已經獲得了原資料的協方差矩陣,基於以上的假設和分析,我們的目標可以總結為兩個:一是去除資料冗餘性,由協方差來衡量;二是最大化訊號,由方差來衡量。那麼對於變換後的資料y的協方差矩陣,我們要求它有什麼特徵和性質呢?
現在,pca問題實際上就是給定資料x,x是乙個mxn的矩陣。我們尋找乙個正交矩陣p,對於首先將x零均值化)出發,怎麼得到y的協方差矩陣cy 呢?
要想cy為對角陣,我們該怎樣利用cx和選擇p呢?
模擬矩陣特徵值分解的方法和思想,我們對cx進行特徵值分解,使得
cy最終被轉化為對角陣。其中cx 的特徵向量即矩陣q的列稱為x的主成份,所以p的行向量就是x的主成份。cy的第i個對角線元素值是x的方差沿著pi(pi 是p的行向量)方向的投影。
最後,將推導pca解法時用到的假設條件做一總結:
一:線性性。線性性將問題等價地轉化為在基變換的框架下去解決。
二:大方差意味著重要的結構。這個假設同時包含了資料應該是具有高的訊雜比。因此具有大的方差的主成份就是我們感興趣的結構,而方差小的成份就是雜訊。要注意,這是乙個很強的假設,有時甚至是乙個錯誤的假設。
三:主成份是正交的。正是這一假設才保證了pca問題可以應用矩陣分解技術來求解。
除了以上介紹的特徵值分解方法來求解pca問題,還有一種更普遍的解法,svd分解。就暫時不在這篇文章中介紹了,以後會繼續介紹。
一:引出問題的物理模型非常形象易懂;
二:對於方差和協方差的解釋非常直白;
關於PCA的思考
pca感悟 首先對於樣本特徵向量我可以認為他是乙個通用的程度值 然後預設為ui 的向量空間中 而對於pca降維後y gtx g 我是不是可以這樣認為,就是在乙個新的向量空間中對於那個通用程度值,他的每個樣本之間的方差是最大的,然後我將他具現到當前向量空間中 而方差最大的根本原因,我感覺是把當前向量空...
PCA學習總結
一.定義 pca即主成分分析法,是一種常用的資料分析方法。pca通過線性變換將原始資料變換成一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。二.pca數學原理 下面的部落格上介紹的很清楚。覺得寫的很棒 三.pca演算法 設有m條n維資料 1 將原始資料按列組成n行m列矩...
關於PCA演算法的學習
先 幾份比較簡單的介紹,後面作補充。協方差就是這樣一種用來度量兩個隨機變數關係的統計量 我們可以仿照方差的定義 來度量各個維度偏離其均值的程度,協方差可以這麼來定義 那麼,協方差的結果有什麼意義呢?如果結果為正值,則說明兩個隨機變數是正相關的 從協方差可以引出 相關係數 的定義 結果為負值就說明負相...