證明
由上一篇可得到目標函數1/n × u1T XXTu1 ,並且X = [x1,x2,......,xn],XT =[x1T,x2T,......,xnT]T ,由於(XXT)T =XXT,所以XXT是對稱陣
假設XXT的某一個特征值為λ,對應的特征向量為ξ,則有:
XXTξ = λξ
(XXTξ )T ξ= (λξ)Tξ
ξTXXTξ = λξTξ
ξTXXTξ = (XTξ)T(XTξ) = ||XTξ||T = λξTξ = λ||ξ||2
||XTξ||2 = λ||ξ||2 ≥ 0
故λ ≥ 0
故 XXT 是半正定的對稱陣。
對於半正定陣的二次型,存在最大值。接下來求目標函數的最大值以及取最大值時u1的方向。
方法:拉格朗日乘子法
目標函數和約束條件組成最大化問題:max{u1T XXTu1},s.t. u1Tu1 =1
構造拉格朗日函數:f(u1)= (u1T XXTu1)+ λ( 1- u1Tu1 )
對u1求導:
∂f/∂u1 = 2XXTu1 -2λu1 = 0
2XXTu1 = 2λu1
所以,u1即為 XXT特征值λ對應的特征向量。將上式代入目標函數得:
u1T XXTu1 = λ u1Tu1 = λ
故取最大的特征值可得到目標值最大。求取二階導數確定極大值:
∂2f/∂u1 = 2(XXT -λI)
當λ取最大特征值時,XXT -λI 為半負定陣。二階導數半負定,則目標函數在最大特征值所對應的特征向量上取得最大值。所以,第一主軸方向即為第一大特征值所對應的特征向量方向。第二主軸方向為第二大特征值所對應的特征向量方向。
PCA實現
步驟:對矩陣Xm×n ,
1)進行歸一化,每一行減去對應平均值;
2)計算協方差矩陣C = 1/n × XXT;
3)計算協方差矩陣C的特征值和特征向量;
4)將特征值從大到小排序;
5)保留最上面的N個特征向量;
6)將數據轉換到上述N個特征向量構建的新空間中。
(假設若只選取最大特征值對應的特征向量P1,降維后的數據Y = P1TX)
