在本篇部落格中,我們將會介紹一種方法,叫做主成分分析法(pca),這種方法試圖確定資料接近位於的子空間。pca相對於因子分析法將會更為直接,它僅僅需要進行特徵向量的計算(在matlab中使用eig函式),並不需要使用em演算法。
假設我們有這樣的乙個資料集
表示m個不同種類的汽車發動機的屬性,例如他們的最大速度,選旋轉半徑等等。使得對於每個i 滿足x(
i)∈r
(n≪m
)。但是對於我們不知道的是——對於兩個不同的屬性,例如xi
和xj ——分別代表車的最大速度由英里/小時和千公尺/小時測量的結果。這兩個屬性幾乎是線性相關的,僅僅是由於mph和kph之間湊整導致的誤差。因此,因此這個資料實際上是位於乙個接近n-1維的子空間。那麼,我們如何自動檢測,或者是移除這個冗餘呢?
考慮乙個更加自然的例子,這些資料是通過調查無線操控直公升飛機的飛行員得到的,其中x(
i)1 代表飛行員i的駕駛技能,而x(
i)2 代表他們對飛行的喜歡程度。由於rc直公升飛機非常難操控,只有正真喜歡它的學生才能成為好的飛行員。所以兩個屬性x1
和x2 高度相關。確實,我們可能假設這些資料為於一些斜線上(u1
)方向,捕獲了乙個人的內在駕駛」因素」,同時伴隨著一些小的雜訊因素(見下圖)。我們如何自動地計算出u1
方向呢?
我們將會介紹pca演算法,但是在執行pca演算法之前,一般情況下我們會先預處理這些資料,以標準化其均值和方差,如下:
1.讓μ=1
m∑mi
=1x(
i)2.用x(
i)−μ
代替x(
i)3.使得σ2
j=1m
∑i(x
(i)j
)24.用x(
i)j/
σj代替x(
i)j
如果我們知道資料的均值為0那麼步驟(1-2)可以被省略,如果不同屬性的有相同的取值規模,那麼步驟(3-4)可以被省略。
那麼,在進行完正則化之後,我們如何計算主軸線的計算主軸線的方向呢?一種解決問題的方法是我們要找到單位向量
u 以至於當我們把資料投影到
u對應的方向時,滿足投影資料的方差最大化。
考慮如下的資料集,其已經進行完正則化了:
現在,假設我們選擇了下圖中直線對應的方向為u。黑點表示原始資料在這條直線上的投影。
我們可以看到投影資料有乙個相當大的方差,並且這些點傾向於遠離0。相反的,如果我們選擇下圖所示的方向:
這裡投影點的方差相當小,並且這些點很接近原點。我們傾向於選擇第一張圖的方向。為了正式化這些,如果給定乙個單位向量u和乙個點x,x在u上的投影長度是由xt
u 給出的。也就是說x(
i)是我們資料裡的點(圖中×所代表的乙個點),它在u上的投影點到原點的距離就是xt
u ,因此,為了最大化投影點的方差,我們將要選擇能使最大化下式的單位長度向量u:
我們可以很容易識別在條件||
u||2
=1的情況下最大化目標函式就是找到∑=
1m∑m
i=1x
(i)x
(i)t
的主特徵向量,也就是我們要找到的u。
總結:如果我們想要找到乙個1維子空間用來接近資料,我們應該選擇u,這個u是
∑ 的主成特徵向量。一般的,如果我們想要投影我們的資料到乙個k維的子空間(
k<
n )我們應該選擇
∑ 最主要的k個特徵向量作為u1
,..,
uk,所有的ui
形成了乙個新的,正交的基礎系。
所以,為了在新的座標系中表示x(
i),我們只需要計算對應的向量
rn,向量y(
i)給出了乙個更低的,k維的,用來接近或者代表x(
i)的表示。pca同時也被認為是一種降維演算法,向量u1
,...
,uk 也被叫做資料的k個首要的元素。
主成分分析法
相關係數 矩陣 相當於消除量綱的表示變數間相關性的乙個矩陣 協方差矩陣 它是沒有消除 量綱的表示變數間相關性的矩陣。對比下它們的等式變換關係 r cov x,y d x d y 1 求相關係數矩陣或者協方差矩陣r 2 計算r的特徵值 3 求特徵根對應的單位特徵向量 4 主成分選取,含 釋及計算 主成...
主成分分析法(PCA)
一 數學基礎 1.方差 用來計算每乙個變數 觀察值 與總體均數之間的差異。總體方差計算公式 為總體方差,為變數,為總體均值,為總體例數。2.協方差 在概率論 和統計學中,協方差用於衡量兩個變數的總體誤差。而方差是 協方差的一種特殊情況,即當兩個變數是相同的情況。期望值分別為 e x 與 e y 的兩...
9 主成分分析法
城市環境生態化是城市發展的必然趁勢,表現為社會 經濟 環境與生態全方位的現代化水平,乙個符合生態規律的生態城市應該是結構合理 功能高效和關係協調的城市生態系統。所謂結構合理是指適度的人口密度,合理的土地利用,良好的環境質量,充足的綠地系統,完善的基礎設施,有效的自然保護 功能高效是指資源的優化配置 ...