主成分分析(PCA)

定义

  主成分分析(Principal Component Analysis)也称为主分量分析,主要是利用降维的思想,把多指标转化为少数几个综合指标(即主成分),其中每一个主成分都能够反映原始变量的大部分信息,并且所含信息互不重复。

  优点:降低数据的复杂性,识别最重要的多个特征。

  缺点:不一定需要,且可能损失有用信息。

  适用数据类型:数值型数据。

求解

  PCA由所选的解码函数所决定。具体地,为了简化解码器,使用矩阵乘法将编码映射回Rng(c) = Dc,其中D ∈Rn×l 是定义解码的矩阵。 首先,我们根据一个输入x得到一个最优编码c*一种方法是最小化原始输入向量x和重构向量 g(c*) 之间的距离。可以使用范数来衡量他们之间的距离。在PCA算法中,我们使用L2范数:c =  arg minc ||x - g(c)||2 ,我们可以用平方L2范数替代L2范数,因为两者在相同的值c上取得最小值(L2 范数是非负的,并且平方运算在非负值上是单调递增的。):

c =  arg minc ||x - g(c)||2= (x - g(c))T(x - g(c))=xTx - xg(c) - g(c)Tx + g(c)T g(c)                                                                               (1.1)

  标量 g(c)T的转置等于本身。除去上式中不依赖与c的项,得到如下优化目标:

c =  arg minc  - 2 xg(c) + g(c)T g(c)                                                                                                                              (1.2)

  g(c) = Dc代入上式,(矩阵D的正交性和单位范数约束)得 

c =  arg minc  - 2 xDc + cT DTDc  =   arg minc  - 2 xDc + cT Ilc =   arg minc  - 2 xDc + cT c                                                        (1.3)

  通过向量微积分求解最优化问题:

c( - 2 xDc + cT c )  =  0

- 2 DT x + 2 c  = 0

解得    c = Dx

  最优编码 x只需要一个矩阵-向量乘法操作。为了编码向量,可使用编码函数f(x) = Dx,进一步使用矩阵乘法,可以定义PCA重构操作:r(x) = g(f(x)) = DDx

  给定一组数据:x = {x1, x2, ..., xn}

  求出平均值μ,x中心化得{z1, z2, ..., zn} = {x1, x2-μ, ..., xn-μ}

  中心化后的数据在第一主轴u1方向上分布散的最开u1方向上的投影的绝对值之和最大(也可以说方差最大),计算投影的方法就是将zu1做内积,因为只需求的u1方向,故设u1是单位向量。最大化1/n∑i=1n|z• u1|,即最大化:1/n∑i=1n|z• u1|1/n∑i=1nz• u12

  两个向量做内积可以转化成矩阵相乘:z• u1 =ziT• u1

所以目标函数可以表示为:

1/n∑i=1nziTu11/n∑i=1nziTu1TziTu1) =  1/n∑i=1u1zziTu

由于u1i无关故原式可化为 1/n ×u1T(i=1zziT)u1         其中,Z = [z1, z2, ..., zn ] , ZT = [z1T, z2 T, ..., zn T ]T

最后目标函数化为:1/n ×u1TZZ T u1 

  证明XX T 是半正定的对称阵以及求解目标函数最大值和u1方向后续给出。

 

 

 

  

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

导航