博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再议PCA
阅读量:4078 次
发布时间:2019-05-25

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

之前对PCA学习之后做了一个总结,主要是从如何计算的角度来进行的,今天从PCA的概念出发,利用数学知识再从另外的一个角度对PCA做一个阐述:

1PCA的主要作用:

PCA是用来对数据降维的,比如一个行向量X=(X1,X2,X3,…Xn)它的维度就是n,那么对它进行PCA之后要让它变成Y=(Y1,Y2,…Ym)同时m<n,并且Y能够最大程度代表离散数据X的特征。

2PCA的数学表达:

对于一组数(以2维空间的数为例)比如

X=(X1,X2,X3,…Xn),每一个Xi是有一个2维的向量组成,它们在坐标系中的图如下:

PCA的主要任务就是找一个方向让这组数在这个方向上的投影的方差最大(简单的数就是投影到这个方向上之后最左边的点和最右边的点的距离最大)。

大家可以看到从目前图中来说,应该是在红色线上的投影的方差最大吧?我们的主要目标就是找到这样的方向,同时我们知道在坐标系中一个方向对应的就是个向量,而我们只需要这个方向而已,为了简单化这个问题我们把这个方向向量的摸取为1,同时又知道过坐标原点的向量最简单,所以为了能够找到这样的向量,那么需要我们一个操作就是0均值化(是不是想起来上次说过的再求PCA的时候需要先对每个维度的数据减去它们的平均值?这样做就是为了方便求这个方向,那么我们就先把这组数据0均值化后再来求这个方向)

经过上面的分析知道,我们要找的这个方向就是:

Max{E[(Y=wTX)2] } s.t. ||w||2=1,只要同时满足这2个条件求出来的W,就是这个方向。(WTX就是XW上的投影,我来展开下:一个向量再另外一个向量上的投影就等于[W,X]/|W|W是单位向量所以就等于[W,X],内积展开就是wTX)

3:接下来就是求这个值了,看我下面的计算过程:

F=E[(Y=wTX)2]=E(WTXXTW)= WTXXTW/n=WT[(XXT)/n]W=WTE(XXT)W

可以知道F就是个2次型,2次型的极值问题还记得怎么求的吗?这里我不给出极值的证明过程,直接给出答案,感兴趣的可以参开下如何求解。如果C=XXTn个特征值分别为

Λ1>Λ2>Λ3>….> Λn,并且依次对应的特征向量为e1`,e2,….,en,那么F的最大值就是Λ1,此时W的取值为e1

4:至此我们得到了w,也就得到了方差最大的方向向量。

5:让XW上投影就得到了这组数,如果把全部的w都找到并且分别投影那么就是全部的数据了。具体w选择几个,根据实际工程需要来,只要w的个数小于之前的维度都能够起到降维作用!

转载地址:http://elini.baihongyu.com/

你可能感兴趣的文章
现在发现如果无人机的电机不同,浆可能是不能混用的。
查看>>
不要买铝合金机架的无人机,不耐摔,易变形弯曲。
查看>>
ACfly也是基于FreeRTOS的
查看>>
F330装GPS的位置
查看>>
STM32时钟系统
查看>>
我想先用三个或者五个激光测距做无人机的室内定位和避障
查看>>
pixhawk也可以用Airsim仿真
查看>>
《无人机电机与电调技术》可以看看
查看>>
我发现七月在线的GAAS课程基本都讲到了
查看>>
电机堵转
查看>>
一个真正好的无人机应该是需要自己慢慢去调参的,别人的默认参数是可以飞但是可能达不到perfect的效果。
查看>>
carzepony也在想往FreeRTOS上迁移
查看>>
可以买个好点的电烙铁
查看>>
ACfly调参记录(包括ACfly-F330和ACfly-T265)
查看>>
一定记得每飞几次或者隔一天要把螺丝和浆帽拧一次,确实会松的
查看>>
《多旋翼无人飞行器嵌入式飞控开发指南》里基于FreeRTOS的无人机软件框架
查看>>
我感觉无人机借助于激光雷达实现定点悬停的效果应该好于光流才是
查看>>
思岚A1的SDK其实很好读懂,每个函数清晰明了,可以直接调用
查看>>
六角铜柱的型号
查看>>
目前在STM32高端处理器上,比如F7上,基本是只支持STM32Cube的开发方式了,已经没有原来的标准库的开发方式了。
查看>>