经常把PCA和SVD搞乱了,而且理解不是特别的深,特此记录,欢迎指正
先扯点线性代数的知识:
(1)设M是n阶方阵,如果对任何非零向量z,都有zTMz> 0,其中zT 表示z的转置,就称M正定矩阵。
判定:如果M的特征值全部为正,则M也为正定矩阵。
(2)一个n阶方阵A称为可逆的,或非奇异的,如果存在一个n阶方阵B,使得
并称B是A的一个逆矩阵。不可逆的矩阵称为奇异矩阵。A的逆矩阵记作A-1。
(3)矩阵的共轭转置其中是矩阵A的转置,表示对矩阵A中的元素取复共轭。 。,
如果A的元素是实数,那么A*与A的转置AT相等
(4)正交矩阵(orthogonal matrix)是一个方块矩阵Q,其元素为实数,而且行与列皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩 阵:
PCA:对于矩阵A,如何A为可逆矩阵,则存在矩阵P使得A与P-1Ap相似,相似矩阵具有相同的特征值。
如果矩阵A又是对称矩阵,则存在正交矩阵Q(Q-1=QT),使得:
则:
其中Q为矩阵A的特征向量矩阵,为正交矩阵,中间的对角矩阵为矩阵A特征向量矩阵对应的特征值矩阵
如果A为正定矩阵,则此时特征值等于奇异值
SVD:假设M是一个m×n阶矩阵,其中的元素全部属于域K,也就是实数域或复数域。如此则存在一个分解使得
其中U是m×m阶正交;Σ是m×n阶非负实数对角矩阵;而V*,即V的共轭转置,是n×n阶正交矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
其中是对角半正定矩阵,U和V是正定矩阵,两者除了通过矩阵M没有必然的联系。
同时:根据上面,两者的关系式如下:
关系式的右边描述了关系式左边的特征值分解。于是:
特殊情况下,当M是一个正定方阵,M可以被一组特征向量对角化,所以它可以表为:
- = =
其中U为一个正交矩阵,D为一个对角阵。这时,奇异值等于特征值
参考资料:
http://www.cnblogs.com/zhangchaoyang/articles/2222048.html
https://zh.wikipedia.org/wiki/%E5%A5%87%E5%BC%82%E5%80%BC%E5%88%86%E8%A7%A3