人脸识别中矩阵的维数n>>样本个数m。
计算矩阵A的主成分,根据PCA的原理,就是计算A的协方差矩阵A'A的特征值和特征向量,但是A'A有可能比较大,所以根据A'A的大小,可以计算AA'或者A'A的特征值,原矩阵和其转置矩阵的特征值是一样的,只是特征向量不一样。
假如我们的数据按行存放,A是m*n的矩阵,n>>m,m是样本个数,n是维数,则协方差矩阵应该是A'A,A'A是n*n维的一个矩阵,这个矩阵非常大,不利于求特征值和特征向量,所以先求AA'的特征值,它是一个m*m维的矩阵。
由矩阵性质,AA'的特征值就是A'A的特征值。下面推导A'A的特征向量和AA'的特征向量的关系。
B = A'A; C = AA';
C*y=c*y -> AA'*y=c*y ;左乘A'
A'A*(A'*y)=c*(A'*y) --> B * (A'*y)=c*(A'*y);
所以B的特征向量A'*y,特征值与C相同为c。