博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于PCA和SVD的认识
阅读量:7076 次
发布时间:2019-06-28

本文共 1491 字,大约阅读时间需要 4 分钟。

我想如果线性代数中向量空间的基底、坐标、基变换与坐标变换的内容理解的比较成熟的话,那么对理解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/archive/2012/06/20/2557102.html

你可能感兴趣的文章
n个元素的入栈顺序有多少种出栈顺序?
查看>>
Unity3D的Android移动之路之平台依赖编译
查看>>
layer close 关闭层IE9-浏览器崩溃问题解决
查看>>
排序算法之选择排序
查看>>
SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR
查看>>
AX 条码打印
查看>>
面向对象1
查看>>
解析微信开发之搜索歌曲
查看>>
ping,
查看>>
破碎吧,
查看>>
happy,
查看>>
section 和 row,
查看>>
据说每个大牛、小牛都应该有自己的库——Event处理
查看>>
APIX招聘
查看>>
A-Treepath//dfs
查看>>
spring源码解析之IOC容器(三)——依赖注入
查看>>
长文章手动分页显示代码
查看>>
with…do语句的用法
查看>>
tail tailf 使用
查看>>
BT原理分析
查看>>