http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/算法
譯文:http://demo.netfoucs.com/u010182633/article/details/45937051函數
在本文中,咱們經過探索線性變換與所得數據協方差之間的關係提供協方差矩陣一個直觀的幾何解釋。大部分教科書基於協方差矩陣的概念解釋數據的形狀。相反,咱們採起一個反向的方法,根據數據的形狀來解釋協方差矩陣的概念。大數據
在《爲何樣本方差除以N-1?》的文章中,咱們會討論方差的概念,並提供了衆所周知的估算樣本方差公式的推導和證實。這篇文章中使用的圖1代表標準差(方差的平方根)提供了數據在特徵空間上傳播多少的量度。 .net
咱們發現,樣本方差的無偏估計可由下式得到: 3d
然而,方差只能用於解釋平行於特徵空間軸方向的數據傳播。考慮圖2所示的二維特徵空間: blog
對於這個數據,咱們能夠計算出在x方向上的方差和y方向上的方差
。然而,數據的水平傳播和垂直傳播不能解釋明顯的對角線關係。圖2清楚地顯示,平均而言,若是一個數據點的x值增長,則y值也將增長,這產生了正相關。這種相關性能夠經過擴展方差概念到所謂的數據「協方差」捕捉到:
圖片
對於2D數據,咱們獲得,這些值能夠用矩陣來表示,該矩陣叫作協方差矩陣:
it
若是x與y是正相關的,那麼y和x也是正相關的。換句話說,。所以,協方差矩陣始終是一個對稱矩陣,其對角線上是方差,非對角線上是協方差。二維正態分佈數據由它的均值和2x2協方差矩陣就能夠徹底解釋。一樣,一個3x3協方差矩陣用於捕捉三維數據的傳播,一個NxN協方差矩陣捕獲N維數據的傳播。io
圖3展現了數據的總體形狀如何定義協方差矩陣: class
在下一節,咱們將討論協方差矩陣如何被解釋爲白色數據轉換成咱們觀察到數據的線性操做。然而,在深刻技術細節以前,對特徵向量和特徵值如何惟一地肯定協方差矩陣(數據形狀)有一個直觀的認識是很是重要的。
正如咱們在圖3看到的,協方差矩陣定義了咱們數據的傳播(方差)和方向(協方差)。所以,若是咱們想用一個向量和它的大小來表示協方差矩陣,咱們應該簡單地嘗試找到指向數據最大傳播方向上的向量,其大小等於這個方向上的傳播(方差)。
若是咱們定義這個向量爲,那麼咱們數據D到這個向量上的映射爲
,映射數據的方差是
。因爲咱們正在尋找指向最大方差方向的向量
,因此咱們應該選擇它的成分,使得映射數據的協方差矩陣
儘量的大。最大化
的形式爲
的任何函數,其中
是歸一化單位向量,能夠用一個所謂的瑞利商表示。經過設置
等於矩陣的最大特徵特徵向量
能夠得到這樣瑞利商的最大值。
換句話說,協方差矩陣的最大特徵向量老是指向數據最大方差的方向,而且該向量的幅度等於相應的特徵值。第二大特徵向量老是正交於最大特徵向量,並指向第二大數據的傳播方向。
如今,讓咱們來看看一些例子。在文章《特徵值和特徵向量》中http://blog.csdn.net/u010182633/article/details/45921929,咱們看到一個線性變換矩陣T徹底由它的特徵向量和特徵值定義。應用到協方差矩陣,這意味着:
若是咱們數據的協方差矩陣是對角矩陣,使得協方差是零,那麼這意味着方差必須等於特徵值λ。如圖4所示,特徵向量用綠色和品紅色表示,特徵值顯然等於協方差矩陣的方差份量。
然而,若是協方差矩陣不是對角的,使得協方差不爲零,那麼狀況稍微更復雜一些。特徵值仍表明數據最大傳播方向的方差大小,協方差矩陣的方差份量仍然表示x軸和y軸方向上的方差大小。可是,由於數據不是軸對齊的,因此這些值再也不與圖5所示的相同。
經過比較圖5與圖4,能夠清楚地看到特徵值表示沿特徵向量方向數據的方差,而協方差矩陣的方差份量表示沿軸的傳播。若是沒有協方差,則這兩個值是相等的。
如今,讓咱們忘了協方差矩陣。圖3的實例能夠簡單地認爲是圖6的一個線性變換實例:
圖6所示的數據是D,則圖3所示的每一個實例能夠經過線性變換D獲得:
其中T是變換矩陣,包括一個旋轉矩陣R和縮放矩陣S:
這些矩陣定義以下:
其中是旋轉角度。
分別是x方向和y方向的比例因子。
在下面的段落中,咱們將討論協方差矩陣與線性變換矩陣T= RS之間的關係。
讓咱們先從未縮放(縮放至關於1)和未旋轉的數據開始。在統計中,這每每爲「白數據’,由於它的樣本是從標準正態分佈引出的,所以對應於白(不相關)噪聲:
這個「白色」數據的協方差矩陣等於單位矩陣,使得方差和標準差等於1,協方差等於零:
如今讓咱們用因子4在x方向縮放數據:
數據D’如今以下:
D’的協方差如今是:
D’的協方差與線性變換矩陣T有關係,D=TD,其中:
然而,雖然數據在x和y方向上縮放時等式(12)成立,可是應用旋轉是否依然成立呢?爲了調查通常狀況下線性變換矩陣T和協方差矩陣之間的關係,咱們試圖分解協方差矩陣爲旋轉和縮放矩陣的乘積。
正如咱們前面所看到的,咱們能夠用特徵向量和特徵值表示協方差矩陣:
等式(13)保存矩陣Σ的每一個特徵向量和特徵值。在2D狀況下,咱們獲得兩個特徵值和兩個特徵值。由公式(13)定義的兩個等式能夠有效地用矩陣符號來表示:
其中V是矩陣,它的列是Σ的特徵向量,L是對角矩陣,其非零元素對應特徵值。
這意味着咱們能夠將協方差矩陣表示爲特徵向量和特徵值的函數:
方程(15)就是所謂協方差矩陣特徵值分解,並可使用奇異值分解算法來得到。而特徵向量表示數據最大方差的方向,特徵值表示那些方向方差的幅度。換言之,V表示旋轉矩陣,而表示一個縮放矩陣。協方差矩陣能夠進一步分解爲:
在等式(6)中,咱們定義了一個線性變換T= RS。因爲S是對角縮放矩陣,因此S=ST。此外,因爲R爲正交矩陣,R-1=RT。所以,協方差矩陣能夠寫爲:
換言之,若是咱們應用由T=RS定義的線性變換到圖7所示的原始白數據,咱們獲得了旋轉和縮放的數據D’及協方差矩陣。這示於圖10:
圖10的彩色箭頭表示特徵向量。最大特徵向量,即與最大特徵值對應的特徵向量,老是指向數據最大方差的方向,並由此肯定其方位。次特徵向量老是正交於最大特徵向量,由於旋轉矩陣的正交性。
總結 在本文中,咱們代表觀察到數據的協方差矩陣與白色不相關數據的線性變換有直接的關係。此線性變換徹底由數據的特徵向量和特徵值肯定。而特徵向量表示旋轉矩陣,特徵值對應於每一個維度上縮放因子的平方。