Belabbas M A, Wolfe P J. Fast Low-Rank Approximation for Covariance Matrices[C]. IEEE International Workshop on Computational Advances in Multi-Sensor Adaptive Processing, 2007: 293-296.
Nystorm method
和在WIKI看到的不是同一个东西?
假设G ∈ R n × n G \in \mathbb{R}^{n \times n} G ∈ R n × n 为对称正定矩阵。G = [ A B T B C ]
G =
\left [ \begin{array}{ll}
A & B^T \\
B & C
\end{array} \right ]
G = [ A B B T C ]
其中A ∈ R k × k , k < n A \in \mathbb{R}^{k \times k}, k<n A ∈ R k × k , k < n 。
假设G = U Λ U T G = U \Lambda U^T G = U Λ U T ,A = U A Λ A U A T A = U_A \Lambda_A U_A^T A = U A Λ A U A T ,令U ~ = [ U A B U A Λ A − 1 ]
\widetilde{U} =
\left [ \begin{array}{c}
U_A \\
BU_A \Lambda_A^{-1}
\end{array} \right ]
U = [ U A B U A Λ A − 1 ]
则:G ~ : = U ~ Λ A U ~ T = [ A B T B B A − 1 B T ]
\widetilde{G} := \widetilde{U} \Lambda_A \widetilde{U}^T =
\left [ \begin{array}{ll}
A & B^T \\
B & BA^{-1}B^T
\end{array} \right ]
G : = U Λ A U T = [ A B B T B A − 1 B T ]
易得:∥ G − G ~ ∥ = ∥ C − B A − 1 B T ∥
\|G - \widetilde{G}\| = \|C-BA^{-1}B^T\|
∥ G − G ∥ = ∥ C − B A − 1 B T ∥
再玩一下,令:G = [ A 1 A 2 T A 3 T A 2 M B T A 3 B C ]
G =
\left [ \begin{array}{lll}
A_1 & A_2^T & A_3^T \\
A_2 & M & B^T \\
A_3 & B & C
\end{array} \right ]
G = ⎣ ⎡ A 1 A 2 A 3 A 2 T M B A 3 T B T C ⎦ ⎤
且M = U M Λ M U M T M = U_M \Lambda_M U_M^T M = U M Λ M U M T .
再令U ~ : = [ A 2 T U M Λ M − 1 U M B U M Λ M − 1 ]
\widetilde{U} :=
\left [ \begin{array}{c}
A_2^TU_M \Lambda_M^{-1} \\
U_M \\
B U_M \Lambda_M^{-1}
\end{array} \right ]
U : = ⎣ ⎡ A 2 T U M Λ M − 1 U M B U M Λ M − 1 ⎦ ⎤
则:G ~ : = U ~ Λ M U ~ T = [ A 2 T M − 1 A 2 A 2 T A 2 T M − 1 B T A 2 M B T B M − 1 A 2 B B M − 1 B T ]
\widetilde{G} := \widetilde{U} \Lambda_M \widetilde{U}^T =
\left [ \begin{array}{ccc}
A_2^T M^{-1} A_2 & A_2^T & A_2^T M^{-1} B^T \\
A_2 & M & B^T \\
BM^{-1}A_2 & B & BM^{-1} B^T
\end{array} \right ]
G : = U Λ M U T = ⎣ ⎡ A 2 T M − 1 A 2 A 2 B M − 1 A 2 A 2 T M B A 2 T M − 1 B T B T B M − 1 B T ⎦ ⎤
这个阵型还蛮酷的。
低秩逼近
先来介绍一个性质:F ( F T F ) − 1 / 2 F(F^TF)^{-1/2} F ( F T F ) − 1 / 2 列正交(当然F T F F^TF F T F 得可逆)。( F ( F T F ) − 1 / 2 ) T F ( F T F ) − 1 / 2 = ( F T F ) − 1 / 2 F T F ( F T F ) − 1 / 2 = I
(F(F^TF)^{-1/2})^TF(F^TF)^{-1/2} = (F^TF)^{-1/2}F^TF(F^TF)^{-1/2} = I
( F ( F T F ) − 1 / 2 ) T F ( F T F ) − 1 / 2 = ( F T F ) − 1 / 2 F T F ( F T F ) − 1 / 2 = I
实际上,如果F T F = V Λ V T F^TF = V\Lambda V^T F T F = V Λ V T ,那么F V k Λ k − 1 / 2 FV_k \Lambda_k^{-1/2} F V k Λ k − 1 / 2 列正交。
所以,我们可以让F F F 的列为G G G 中某些列的组合,再让P k : = F V k Λ k − 1 / 2 P_k := FV_k \Lambda_k^{-1/2} P k : = F V k Λ k − 1 / 2 ,最后:G ~ k : = P k P k T G P k P k T
\widetilde{G}_k := P_kP_k^TGP_kP_k^T
G k : = P k P k T G P k P k T
来作为G G G 的一个近似。
矩阵乘法的逼近
如果我们能够令∥ G G T − F F T ∥ \|GG^T-FF^T\| ∥ G G T − F F T ∥ 尽可能小,那么P k P k T G P_kP_k^TG P k P k T G 就越有可能成为一个好的逼近,这需要利用矩阵乘法的逼近。
对于矩阵A ∈ R m × n A \in \mathbb{R}^{m \times n} A ∈ R m × n 和B ∈ R n × p B \in \mathbb{R}^{n \times p} B ∈ R n × p ,得:A B = ∑ i = 1 n A i B i
AB = \sum_{i=1}^n A_iB^i
A B = i = 1 ∑ n A i B i
其中A i A_i A i 为A A A 的第i列,B i B^i B i 为B B B 的第i行。
论文举了一个例子:
如果n = 2 n=2 n = 2 ,且A 2 = α A 1 A_2 = \sqrt{\alpha} A_1 A 2 = α A 1 ,B = A T B=A^T B = A T ,
那么A B = ( 1 + α ) A 1 A 1 T AB = (1+\alpha)A_1A_1^T A B = ( 1 + α ) A 1 A 1 T 。这意味着,我们只需通过A A A 的第一列就能恢复A B AB A B 。
所以接下来的问题是:
作者说,有一个神谕说列和行应该为S ⊂ { 1 , … , n } S \subset \{1, \ldots, n\} S ⊂ { 1 , … , n } ,不失一般性,假设其为S = { 1 , … , k } S = \{1, \ldots, k\} S = { 1 , … , k } 。下面的定理给出了权重的选择:
所以我们要挑选S S S ,使得Z Z Z 的对角线元素尽可能小,这意味着,我们要挑选这样的S S S ,使得< A i , A i > < B i , B i > <A_i, A_i><B^i, B^i> < A i , A i > < B i , B i > 最大。
于是有了下面的俩个算法,分别针对矩阵乘法和矩阵逼近的: