GLRAM-矩阵的广义低秩近似
1 引言
降维问题在机器学习、计算机视角和信息检索领域已经获得广泛的关注。降维的目标是为了在有限的信息损失的条件下获得更紧凑的数据表示。传统的降维算法主要基于所谓的向量空间算法(vector space model)。在这种模型下,每一个数据都是一个向量,数据的集合被看作是一个数据矩阵,数据矩阵的每一列对应一个数据点,每一行对应一个特征维度。欧式空间中的数据表示向量允许计算数据点之间的相似性(基于欧式距离或者是其他相似性指标)。
降维的流行方法是奇异值分解(SVD)的低秩近似方法,在信息检索领域也被称为潜语义索引(LSI)。这种低秩近似的一种吸引人的性质是:在同秩的所有近似中,它实现了最小的重构误差。可是,对于高维数据,如图像和视频数据,这种技术的使用,将很快遇到实际的计算极限,主要是因为对于大矩阵来说,SVD的计算代价很昂贵。
过去也提出了一些增量计算算法来处理SVD的高空间复杂度的问题,数据点增量插入来更新SVD的计算。据我们所知,这种算法对产生的近似矩阵的质量无法保证。随机抽样可以被用来加速SVD的计算。
2 矩阵的低秩近似(Low rank approximations of matrices)
传统的处理数据的方法是向量化表示。数据的集合存储在矩阵 A ( N × n ) A(N \times n) A(N×n),A的每一列对应一个N维向量,表示一个数据点。
对于高维数据,想要简化数据,可以用传统的向量表示技术。可是,在这种简化的情况下,数据中的关键的内在信息有可能会被移除。因为这个目的,一种广泛使用的方法是用一个低秩矩阵来近似矩阵A。数学上,矩阵A的最优k秩近似被写成如下形式:
找到一个矩阵
B
∈
R
N
×
n
B \in \verb"R"^{N \times n}
B∈RN×n,其中
r
a
n
k
(
B
)
=
k
rank(B)=k
rank(B)=k,以至于
B
=
a
r
g
m
i
n
∣
∣
A
−
B
∣
∣
F
B = arg min ||A-B||_F
B=argmin∣∣A−B∣∣F
- 定理:
对于A的任意近似矩阵M,我们称
∣
∣
A
−
M
∣
∣
F
||A-M||_F
∣∣A−M∣∣F代表近似的重构误差,基于上述定理,在A所有的k秩近似中,
B
=
U
k
d
i
a
g
(
σ
1
,
σ
2
,
.
.
.
,
σ
k
)
V
k
T
B = U_k diag(\sigma_1,\sigma_2,...,\sigma_k) V_{k}^{T}
B=Ukdiag(σ1,σ2,...,σk)VkT具有最小的重构误差。
因此,在原始高维空间中的矩阵A中的两列(两个数据点)的近似度,可以被退化空间中的两列(降维空间中所对应的两个数据点)所近似表示。使用降维表示的距离计算的速度为
N
/
k
N/k
N/k。这形成了潜语义分析的基础,被广泛应用在信息检索上。
另外一个k秩近似潜在应用是数据压缩。因为每一个 a i a_i ai可以由 U k a i L U_k a_{i}^{L} UkaiL表示,对于每一个 a i a_i ai, U k U_k Uk不变,由于 U k ∈ R N × n U_k \in R^{N \times n} Uk∈RN×n, a i L ∈ R k f o r i i n 1 , . . . , n a_{i}^{L} \in R^{k} for \ i \ in \ 1,...,n aiL∈Rkfor i in 1,...,n,因此需要(n+N)k个标量来存储退化表示。而原始数据的存储需要Nn个标量,因此压缩比是 n N ( n + N ) k \frac{nN}{(n+N)k} (n+N)knN。
3 矩阵广义低秩近似(Generalized low rank approximations of matrices)
本节主要研究矩阵的广义低秩近似问题,主要目的是用低秩来近似矩阵的集合。广义低秩近似和低秩近似的关键区别是应用的数据表示模型不一样。
回顾向量空间模型应用在传统的低秩近似,向量空间模型通过计算数据矩阵的SVD得到低秩近似的简单和闭式解。可是,SVD计算限制了它应用在小样本矩阵。相反,我们采用一种不同的数据表示模型,在该模型中,每一个数据点被看作是一个矩阵,数据的集合被表示成矩阵的集合。
3.1 问题表述
上述近似中的矩阵L和R作为矩阵形式的数据的双边线性变换。再传统的低秩近似中,主要使用的是单边线性变换
U
k
U_k
Uk。但上述中的
M
i
M_i
Mi不必是对角的。上述所定义的广义低秩近似自然导致两种基本的应用。
- 数据压缩
- 距离计算
注意到,当 l 1 l_1 l1和 l 2 l_2 l2下降时,距离计算的速度和压缩比上升,但是 l 1 l_1 l1和 l 2 l_2 l2若太小也会导致原始数据的内在信息的损失。后文中会讨论两者之间的权衡。
方程1是一般的, l 1 l_1 l1和 l 2 l_2 l2是不一样的,也即 M i M_i Mi有任意形式。
3.2 主要算法
本节主要介绍如何解决方程1的最小化问题。定理3.1显示: M i M_i Mi被变换矩阵L和R所决定,显著地简化了方程1的最小化问题。
定理3.1:定义L、R和 { M i } i = 1 n \{M_i\}_{i=1}^{n} {Mi}i=1n是方程(1)最小化问题的最优解,然后,对于每一个 i i i, M i = L T A i R M_i = L^{T}A_iR Mi=LTAiR。
因为方程(2)右边的第一项是一个常数,故方程(1)的最小化等价于最小化:
很容易验证,只有当
M
i
=
L
T
A
i
R
M_i = L^T A_i R
Mi=LTAiR时,方程三的最小化才能实现,故此,定理3.1得证。
定理3.1表示: M i M_i Mi被L和R唯一决定。因此对方程(1)的最小化的关键步骤是计算共同变换矩阵L和R。最优的变换矩阵L和R的关键性质被定理3.2所陈述。
定理3.2:定义L、R和
{
M
i
}
i
=
1
n
\{M_i\}_{i=1}^{n}
{Mi}i=1n是方程(1)最小化问题的最优解。那么L和R解决了下面的最优化问题:
据我们所知,对于这个最优化方程(4)没有最优解。可以使用一个L和R的迭代计算算法,陈述如下:
**定理3.3:**定义L、R和
{
M
i
}
i
=
1
n
\{M_i\}_{i=1}^{n}
{Mi}i=1n是方程(1)最小化问题的最优解。然后:
(1)对一个给定的R矩阵,L包含矩阵的
M
L
M_L
ML的最大的前
l
1
l_1
l1个特征值所对应的特征向量:
M
L
=
∑
i
=
1
n
A
i
R
R
T
A
i
T
M_L=\sum_{i=1}^{n}A_i RR^T A_i^T
ML=i=1∑nAiRRTAiT
(2)对于给定的L,R包含矩阵
M
R
M_R
MR的最大的前
l
2
l_2
l2个特征值所对应的特征向量:
M
R
=
∑
i
=
1
n
A
i
T
L
L
T
A
i
M_R=\sum_{i=1}^{n} A_i^T LL^T A_i
MR=i=1∑nAiTLLTAi
定理3.3导致一个计算L和R的迭代程序:给定L,通过计算矩阵
M
R
M_R
MR的特征向量来计算R;使用计算的矩阵R,通过计算矩阵
M
L
M_L
ML的特征向量来更新L,重复以上步骤直至收敛,迭代算法的伪代码如下:
理论上来说,GLRAM的解仅仅是局部最优的,最优解依赖于L的初始值的选择。