前言

本文中的数据样本都是去中心化的,即可以理解为均值为0。

PCA

本例中是从二维降到一维

PCA的作用与要求

PCA是用于降维的一种方法,在降维后尽可能的保留样本最大的特征,即保证降维后方差最大化。
如下图例子所示所有样本,映射在蓝色的直线上(从二维降到一维),分布最广(用数学语言,就是映射在直线上的样本方差最大化)。
二:PCA 和 KPCA理解

PCA中方差的表达

既然要求降维后方差要最大,首先我们得表示出降维后的方差表达,然后用最优化手段,将其最大化,即找出最优解。

第一步 映射后的样本坐标

二:PCA 和 KPCA理解
上图中将第一幅图的其中一个样本,和那条降维后的线单独拿出来,进行剖析。
我们需要表达出样本xj在降维后的坐标,通过高中向量知识可以很容易得出红色向量的长度为||xj||*cosθ,方向为v/||v||。假设v是一个单位向量,式子可以化简为<xj,v>v,前面的内积用线性代数表示就是<xj,v> = (xj)的转置乘上v,后面的v因为是单位正向量所以只是用于区分方向。
到这一步,我们可以表达出降维后的坐标了: vT(xj)(这是一个标量)
需要注意的是化简到这一步有一个条件那就是||v||=1。
得出下图:二:PCA 和 KPCA理解

第二步 得出方差表达式

既然有了坐标,我们就可以表达出样本方差并化简成:
二:PCA 和 KPCA理解

最优化问题:求方差最大值时的v

得到了方差后,就需要求出 在条件 ||v|| = 1 下 (此条件等价于 vT * v = 1),方差最大。所以引入拉格朗日乘子法:
二:PCA 和 KPCA理解
变成解这个式子:
二:PCA 和 KPCA理解
好巧不巧的是 :因为我们是要求(vT)Cv的max 由上式可知 Cv = λv,所以就是求(vT)λv = (vT)vλ的最大值,更巧的是 (vT)v TM的 等于 1,所以上面就成了求(vT)vλ=λ的最大值。

其中C是样本的协方差矩阵,该问题就转变为求C的最大特征值和其特征向量(单位化),对应降维的坐标则是:vT(xj)

二:PCA 和 KPCA理解

PCA例子

以防不懂举个例子,比如我每个样本特征是二维的,一共三个样本:
X1=[1,2]T, X2=[3,4]T, X3=[5,6]T
C经过计算应该是[35 44] /2 肯定是2*2矩阵,降到一维 就取最大特针值对应的特征向量,在单位化。
[44 56]
二:PCA 和 KPCA理解

如果说三维降到二维就取前两项大的大特针值对应的特征向量。[(v1)T] * xj 第一个是23 矩阵 第二个是31
[(v2)T]
算出来的就是二维了。

KPCA

相关文章: