关于PCA和SVD的认识

我想如果线性代数中向量空间的基底、坐标、基变换与坐标变换的内容理解的比较成熟的话,那么对理解PCA和SVD的理解将是水到渠成的事。

一.数学基础

基底:

α1,α2,...,αn为向量空间Rn的一线性无关的向量组,且Rn中任一向量均可由α1,α2,...,αn线性表示,则称α1,α2,...,αn 为向量空间Rn的一个基底。

补充:

1.基底的特殊情况是 α1,α2,...,α相互正交而且都是单位向量,最最特殊的情况是单位矩阵E

2.基底包含的向量个数=R向量空间维数 <=向量维数。

坐标:

α1,α2,...,α为向量空间Rn的一组基,对任意α属于Rn,存在唯一一组数,使

α=x1α1+x2α2+...+xnαn=[α1,α2,...,αn]X 

则X=(x1,x2,...,xn)是向量α在基α1,α2,...,αn 上的坐标。

补充:

1.基底与坐标的线性组合就是坐标表示的向量。

基变换与坐标变换

若α1,α2,...,αn β1 β2,...,β为向量空间R中的两组基,

则:

[β1 β2,...,βn]=[α1,α2,...,αn ]P

[α1,α2,...,αn ]=[β1 β2,...,βn]P-1

称为基变换公式.其中可逆矩阵P称为由基α1,α2,...,α到基 β1 β2,...,βn 的过渡矩阵。若向量α在基α1,α2,...,αn 和基 β1 β2,...,βn  上的坐标分别为X和Y,

即: 

α=[α1,α2,...,αn]X =[β1 β2,...,βn]Y=[α1,α2,...,αn ]PY,

则:

X=PY

Y=P-1 X

称为坐标转换公式。

补充:

1.可逆矩阵的特殊情况为正交矩阵,正交转换矩阵的特性是可以保持原向量之间的相对位置。

2.单就坐标而言,X是Y在P行向量上的投影。

3.当α1,α2,...,α是单位矩阵E,这时:

 α=[α1,α2,...,αn]X=EX=X

   [β1 β2,...,βn]=[α1,α2,...,αn ]P=E*P=P

 α=[β1 β2,...,βn]Y=PY

 而P是正交矩阵时,这就是PCA和SVD的应用环境。

二.PCA和SVD的应用

以PCA为例,

对以列向量为样本的矩阵A(假设已经中心化),以AA’ 的特征向量矩阵 P 为过渡矩阵,这个P既是转换矩阵、投影矩阵,又是基矩阵,列向量为基向量。P’*A即对A的转换(坐标转换,A就是坐标矩阵),这也是A的列向量向P’的行向量,即P的列向量的投影。结果就得到转换后的坐标。

(若是以行向量为样本的矩阵A(假设已经中心化),以A’A 的特征向量矩阵 P 为过渡矩阵,这个P既是转换矩阵、投影矩阵,又是基矩阵,列向量为基向量。A*P即对A的转换(坐标转换,A就是坐标矩阵),这也是A的行向量向P的列向量的投影。)

由于转换后的向量坐标方差降序(而且相邻维度的协方差为零),所以末尾维度上的方差趋近零,所以所有样本向量末尾维度上的坐标趋近均值且波动较小。而中心化的坐标均值为零,所以末尾维度上的坐标趋近于零。

有一中的知识,样本向量

α=x1α1+x2α2+...+xnαn=[α1,α2,...,αn]X 

由于所有αi 都是单位向量,所以模都为1;所以坐标为零的项可以忽略。这样就是去掉了冗余,实现了压缩存储,和近似还原(失真还原)。

原文地址:https://www.cnblogs.com/kevinGaoblog/p/2557102.html