PCA的理解与应用

主成分顾名思义就是最主要的成分
主成分分析可以认为是分析哪些成分是最重要,具体的说就是哪些维度最重要

但是什么数据重要什么数据不重要?我们认为变化越大的轴越重要,越没什么变化的轴越不重要.
假设有一组数组,y轴全是1,那么显然他没什么用,属于可以丢掉的维度.

但是实际场景中数据的重要程度未必完全沿着坐标轴,所以说我们需要找出新的坐标系,让数据的重要性按照维度排序,这就叫主成分分析

衡量变化程度的一个好方法就是方差,所以说方差越大的维度越重要,所以主成分分析可以转化成新问题,找出新坐标系,让数据的方差的大小和坐标轴同序,并且沿着坐标轴的方差越大越好

在这之前要先介绍协方差和协方差矩阵的概念:
协方差是 c o v ( X , Y ) = E ( X − X ‾ ) E ( Y − Y ‾ ) = E ( X Y ) − E ( X ) E ( Y ) cov(X,Y)=E(X-\overline{X})E(Y-\overline{Y})=E(XY)-E(X)E(Y) cov(X,Y)=E(XX)E(YY)=E(XY)E(X)E(Y)
在XY变量独立的时候, E ( X Y ) = E ( X ) E ( Y ) E(XY)=E(X)E(Y) E(XY)=E(X)E(Y),协方差就会变成0

A A A表示数据矩阵
行是数据维度,列是数据长度
协方差矩阵C,的 C i j C_{ij} Cij表示i数据的第i维和第j维的协方差

方差是自身和均值的差异的平方和的均值 ,
第x个维度的方差是 1 / ( n − 1 ) ∑ [ ( A x i − A x ‾ ) ∗ ( A x i − A x ‾ ) ] 1/(n-1)\sum [(A_{xi} - \overline{A_{x}}) * (A_{xi} - \overline{A_{x}})] 1/(n1)[(AxiAx)(AxiAx)]
协方差就是自身和别人共同的方差,把方差中第二项换掉就可以了,
比如说第x维度和第y维度的协方差是 1 / ( n − 1 ) ∑ [ ( A x i − A x ‾ ) ∗ ( A y i − A y ‾ ) ] 1/(n-1)\sum [(A_{xi} - \overline{A_{x}}) * (A_{yi} - \overline{A_{y}})] 1/(n1)[(AxiAx)(AyiAy)]

矩阵各维度的均值组成的向量m,矩阵A的协方差矩阵可以表示成
( A − m ) ( A − m ) T / ( n − 1 ) (A-m)(A-m)^T/(n-1) (Am)(Am)T/(n1)
一般要对数据中心化,那么上面就可以简化成 A A T / ( n − 1 ) AA^T/(n-1) AAT/(n1)

回到之前的问题,主成分分析就是让协方差矩阵中的方差越大越好

最符合条件的协方差矩阵必然是对角矩阵,对角元素就是方差,并且让它从大到小排序
我们知道变换坐标系在矩阵语言中就是 Q A QA QA, 在新坐标系下协方差就是 Q T A A T / ( n − 1 ) Q = Q T C Q Q^TAA^T/(n-1)Q=Q^TCQ QTAAT/(n1)Q=QTCQ C是新协方差矩阵
C第一行只能是(x,0,0,0,…)的形式,因为旋转不改变向量的长度. 如果把第一行旋转成后面元素非0,那么第一个元素必然是小于x的.因为他们的平方和会等于 x 2 x^2 x2,后面非0元素会压缩第一个元素的值.当第一行确定,其实就是确定了一个维度,剩下的维度一个一个确定,也同样必须是(x,0,0,0,…)的形式,所以最终的协方差矩阵必然是对角矩阵.既然这样问题就简单了

首先 A A T AA^T AAT是对称矩阵,他可以分解
A A T = Q Λ Q T AA^T=Q\Lambda Q^T AAT=QΛQT
这里的Q是 A A T AA^T AAT的特征值按列堆叠
显然让这个矩阵变成对角矩阵可以这么做:
Q T A A T Q = Q T Q Λ Q T Q = Λ Q^TAA^TQ=Q^TQ\Lambda Q^TQ=\Lambda QTAATQ=QTQΛQTQ=Λ
Q T A A T Q = ( Q T A ) ( Q T A ) T Q^TAA^TQ=(Q^TA)(Q^TA)^T QTAATQ=(QTA)(QTA)T,这就很明显了,只需要把原本的数据乘以 Q T Q^T QT就可以让它的协方差矩阵变成对角矩阵

协方差矩阵变成对角矩阵之后还有一个特性,就是维度之间的耦合没了,因为协方差是0可以认为是这两个维度之间没有依赖关系

总结一下就是主成分分析其实就是让原始数据成以 Q T Q^T QT,这里面的Q就是协方差矩阵特征向量堆叠而出的,在实际应用中也可以用SVD求Q.要注意的是,我这里原始数据行是维度,列是数据.最终的Q的特征向量是按行堆叠的

现在说一下用法:
1.数据降维:很显然主成分分析可以找出最次要的维度,删了他们对数据的危害最小
2.点云算法线:第三个主成分小的方向就是法线方向, 法线是垂直于点云平面的, 点云所在的平面显然是最大和次大方向所构成的平面,那么最小方向就是法线方向了
3.直线拟合:直线不消说,变化最大的方向就是直线的方向
4.数据去耦合:新协方差矩阵是对角矩阵,本质上就是维内差异最大化,维间相关最小化.

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值