1. 程式人生 > >主成份分析圖解

主成份分析圖解

隨機生成原始資料分佈,共計300個點,服從正態分佈。為了便於區分X方向和Y方向。使X方向服從均值為50,標準差為50的正態分佈,Y方向服從均值為0,標準差為100的正態分佈。
這裡寫圖片描述
手動旋轉θ=45度。先構建旋轉矩陣rot,可以在wiki中找到rot矩陣的定義

rot=[cos(θ),sin(θ);sin(θ),cos(θ)]
然後執行選擇操作,X=rotX,得到旋轉45度後的分佈
這裡寫圖片描述
到了求主成份的時候了。先求協方差矩陣c=XXT。然後分解協方差矩陣,求得特徵值d和特徵向量e,這一步可以借用matlab的eig函式求解。特徵向量e就是兩個主成份方向,我們用rotX=eX得到X旋轉後主成份正交(???)時的分佈形態。看,又旋轉回來了。只不過X方向正負對調了。
這裡寫圖片描述

啟發:

1.主成份的特徵向量可以起到旋轉的作用;

2.在二維平面中,旋轉矩陣其實就是新定義的兩個特徵向量的方向,不用死記,畫個圖就記住了。

怎樣理解下圖呢?先求X方向的變化,就把下面的矩形框中cosθsinθ填到旋轉矩陣的第一列中,然後把右邊的矩形框中的sinθcosθ先到第二列中。

rot=[cos(θ),sin(θ);sin(θ),cos(θ)]
先記錄X方向,再記錄Y方向,所以填入矩陣的順序是cos(θ),sin(θ),sin(θ),cos(θ)
這裡寫圖片描述
這個圖是偏理解,理解這個圖之後,就記住旋轉向量了,同時也就知道的特徵向量的作用。