有N*M矩阵L(N远大于M),求C=L*L' 的特征向量矩阵的另一种方法弄不明白 Vl 和Λl 是哪个矩阵的特征向量矩阵和特征值矩阵?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 08:41:17
有N*M矩阵L(N远大于M),求C=L*L' 的特征向量矩阵的另一种方法弄不明白 Vl 和Λl 是哪个矩阵的特征向量矩阵和特征值矩阵?
有N*M矩阵L(N远大于M),求C=L*L' 的特征向量矩阵的另一种方法
弄不明白 Vl 和Λl 是哪个矩阵的特征向量矩阵和特征值矩阵?
有N*M矩阵L(N远大于M),求C=L*L' 的特征向量矩阵的另一种方法弄不明白 Vl 和Λl 是哪个矩阵的特征向量矩阵和特征值矩阵?
首先你得把图里的东西搞懂, 我还可以告诉你这里的方法实际上有点缺陷.
图里的推导需要一个前提是 L 是列满秩的实矩阵, 缺少这些条件 (5) 和 (7) 都会出问题.
V_l 由 L^TL 的特征向量构成, Λ_l 由 L^TL 相应的特征值构成, 这一点从 (5) 来看很明确.
然后 (6), (7) 告诉你对于 LL^T 而言 E_l 由它的(一部分)特征向量构成, 相应的特征值仍然构成 Λ_l.
这些即使什么都不懂也可以由形式推导得到.
你的一个疑惑在于 LL^T 比 L^TL 大很多, 特征值也多很多, 余下的特征值都哪里去了.
要把这点搞清楚你最好知道两个常用的结论
1) 对于 MxN 的矩阵 A 和 NxM 的矩阵 B, AB 和 BA 的所有非零特征值相等, 零特征值相差 |M-N| 个.
如果不知道可以去看
http://zhidao.baidu.com/question/590453223.html
这里 LL^T 和 L^TL 所有非零特征值已经都求出来了(即 Λ_l 的对角元), LL^T 比 L^TL 多出来的 N-M 个特征值都是零, 相应的特征向量与 E_l 的列正交.
2) 奇异值分解: MxN 的实矩阵 A 一定可以分解成 A=UΣV^T, 其中 U, V 分别是 M 阶 和 N 阶正交阵, Σ 具有如下分块结构
Σ_0, 0
0, 0
Σ_0 = diag{σ_1,σ_2, ..., σ_R} 是正定的对角阵, R 是 A 的秩.
奇异值分解还有一种精简的形式: A = U_0 Σ_0 V_0^T, 其中 U_0 是 U 的前 R 列, V_0 是 V 的前 R 列.
这里对 L 做一下奇异值分解 L = U_l Σ_l V_l^T 马上就得到 LL^T 和 L^TL 的谱分解
LL^T = U_l (Σ_lΣ_l^T) U_l^T
L^TL = V_l (Σ_l^TΣ_l) V_l^T = V_l Σ_0^2 V_l^T = V_l Λ_l V_l^T
V_l 和 Λ_l 由 L^TL 的特征向量和特征值构成
而从
Σ_lΣ_l^T =
Λ_l, 0
0, 0
可以看出刚才说的两者的特征值相差 N-M 个零.
至于特征向量, 很明显 U_l 的前 N 列就是关于 Λ_l 的特征向量.
此时采用精简形式的奇异值分解 L = E_l Σ_0 V_l^T 容易算出 E_l = L V_l Σ_0^{-1}.
先把上面这些东西看懂, 慢慢看, 一步一步都要自己动手算一遍. 不要随便追问我, 看不懂的地方当习题做.
最后提一下, 实际计算的时候也要用 L 的奇异值分解来算, 而不是 L^TL 的谱分解, 因为 L 的奇异值分解比 L^TL 的谱分解算得准. 不要问我为什么, 这不是几句话能解释清楚的, 我也不指望你搞懂, 记住我说的结论就是了.
图片里的文献或者 [26] 可能有点问题, 未必是计算数学的文献, 不要过于相信里面的算法.