证明XX'是半正定的对称阵并求目标函数的最大值以及PCA实现步骤

证明

  由上一篇可得到目标函数1/n × u1T XXTu1 ,并且X = [x1,x2,......,xn],XT =[x1T,x2T,......,xnT]T ,由于(XXTT =XXT,所以XXT是对称阵

  假设XXT的某一个特征值为λ,对应的特征向量为ξ,则有:

XXTξ = λξ

(XXTξ )ξ= (λξ)Tξ

ξTXXTξ = λξTξ

ξTXXTξ = (XTξ)T(XTξ) = ||XTξ||= λξTξ = λ||ξ||2

||XTξ||2 = λ||ξ||≥ 0

故λ ≥ 0

  故 XXT 是半正定的对称阵。

对于半正定阵的二次型,存在最大值。接下来求目标函数的最大值以及取最大值时u1的方向。

方法:拉格朗日乘子法

  目标函数和约束条件组成最大化问题:max{u1T XXTu1},s.t. u1Tu=1

  构造拉格朗日函数:f(u1)= (u1T XXTu1)+ λ( 1- u1Tu1 )

  对u1求导

∂f/∂u1 = 2XXTu-2λu1 = 0

2XXTu1   = 2λu1

   所以,u1即为 XXT特征值λ对应的特征向量。将上式代入目标函数得:

u1T XXTu1 = λ u1Tu = λ

  故取最大的特征值可得到目标值最大。求取二阶导数确定极大值:

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)

 

posted on 2018-03-29 14:04  小虫子12  阅读(2442)  评论(0编辑  收藏  举报

导航