||
协方差求解中的细节
A为原始样本或均差值样本数据矩阵[m*n],如一个样本图像大小为60*60,样本数量为30个,需要将所有单个样本数据进行变形集成为一个数据阵列A,大小为[3600*30],求解主成分过程就是各特征相关性独立,即求解协方差cov(A*AT)=0的过程。AT的大小为[30*3600],则A*AT运算后[3600,3600],需要存储的维数很大,所以运算过程消耗太多;所以,可以采用先计算cov(AT*A)的方式,结果维数为[30,30]存储量大为减少,但是由于计算次序发生了改变。由协方差的定义知,PCA本质上是要计算A*A'的特征向量u,而当A*A'运算量大于A'*A时%可以通过运算A’*A来等价求解特征向量u,所以,可以等价求解u=A*v*(1/sqrt(d(i,i))来等价,将(A*v)除以(1/sqrt(d(i,i))是进行单位化处理,因为A'*A的特征根d正好是A的对应特征根平方。非0特征根对应的特征向量就是要求解的主成分向量,维数一般小于训练样本数量,假设为26维,即,得到的特征子空间U的大小变为[3600*26]。时常被称为特征脸子空间(也可称为:投影矩阵、变换矩阵)。而A*A'的特征向量u或A’*A来等价求解特征向量V,都是样本的特征子空间,相当于一个新的坐标系,为实现降维需要将每一个训练样本或测试样本,需要向该特征子空间(特征向量)进行投影 y = u’*(X-Xmean),得到一组投影系数,维数为[26*1],每一个样本的投影系数就是该样本数据在整个特征子空间上的降维特征数据,能够在该子空间上表示该样本原始数据。当然,任何一个样本数据都可以向这个新的坐标系(特征子空间或者特征脸子空间)投影,得到一组系数,只不过是否能够找到距离最近的一个样本类别,另当别论。
此时,可以利用投影系数y来实现不同主成分特征向量的样本还原重构操作,重构过程为:
y = u’*(X-Xmean) 为了得到X在特征子空间上的表现形式,相当于对投影的逆操作,
=> u*y=u*u’*(X-Xmean)
=> u*y/(u*u’)=X-Xmean
=> 即:X= u*y/(u*u’)+Xmean
在试验中可以设置u的特征向量取值情况,如,仅取第一主成分,则u的特征向量维数为1,重构的图像效果较差,当取得主成分占到90%以上时,重构的效果较好。主成分越多,重构效果越好。
个人理解:PCA的理论基础是,任何一个数据投影到任何一个坐标系都可以得到一组系数,只不过坐标系选取不合适得到的系数不足以表示该数据特征。
1-PCA人脸识别及理论基础(附源码)-特征脸重建等细节.pdf |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-25 14:56
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社