Feng, J., Xu, H., & Yan, S. (2013). Online robust pca via stochastic optimization. In Advances in Neural Information Processing Systems (pp. 404-412).
本文是这篇 NIPS 会议论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。
摘要:RPCA 是一种典型的基于批量数据的优化方法,并需要在优化过程中,将所有样本载入内存中。这阻碍了它用于高效地处理大数据。此文设计了一种 Online RPCA 的算法,可以一次处理一张图像,使其内存消耗与样本的数量无关,极大地提升了计算和存储的效率。提出的方法是基于随机优化的,等价于批量形式的 RPCA 。确实,ORPCA 提供了一系列的子空间估计,收敛至其批量形式的最优点,所以被证明是对于稀疏的损坏是鲁棒的。另外,ORPCA 是很自然地用于动态子空间跟踪。基于子空间恢复和跟踪的仿真展示了其鲁棒性和效率上的优势。
1 简介
略
2 相关工作
略
3 构建问题
3.1 符号
向量用粗体小写字母表示,
x∈Rp
表示真实的样本,没有噪声,
e∈Rp
是噪声,
z∈Rp
是实际的样本,
z=x+e
。这里
p
表示样本的维度。
3.2 目标函数构建
Robust PCA (RPCA) 可以准确地估计观测样本的潜在子空间,即使样本被严重的、不稀疏的噪声破坏。非常流行的 RPCA 方法之一,Principal Component Pursuit (PCP) 方法 1 提出用于解决:将样本矩阵
Z
分解为一个低秩部分
X
代表低维的子空间,加上总体的稀疏矩阵
E
表示稀疏的损坏。在合适的条件下,PCP 保证这两项
X
和
E
可以被准确地恢复,通过
要求解该问题,迭代优化的方法比如 Accelerated Proximal Gradient (APG) 2 或 Augmented Lagrangian Multiplier (ALM) 3 通常被采用。然而,这些方法都是以批量的形式实现的。在优化的每一次迭代中,它们需要通过所有的样本进行 SVD 操作。所以,大量的存储的代价就出现,当其用于处理大数据时,比如网络数据,大规模图像集。
此文考虑的是 online 的 PCP 方法的实现。主要的困难是核范数紧密地结合了所有的样本,使得样本不能被分离地考虑,像典型的在线优化问题。为了克服这个,此文使用一个核范数的等价形式:一个矩阵 X 的秩最大值为 r ,正如 4
也就是说,核范数可以明确地用低秩分解的形式表示。其最初于 5 中提出,并在 6 7 中很好地应用。在公式中, L∈Rp×r 可以被看作低秩子空间的基, R∈Rn×r 则表示样本的关于基的系数。于是,RPCA 问题可以被重写为
将 X 用 LRT 代入,除去等式约束,以上的问题可以等价为
尽管此目标函数并不是关于 L 和 R 凸的,此文可以证明其局部极小值就是原问题的全局的最优值。
给定一个有限的样本集
Z=[z1,⋯,zn]∈Rp×n
,求解以上的问题也就是最小经验的代价函数
其中,每一个样本的损失函数定义如下
该损失函数测量一个样本 z 基于固定的基 L 的表达误差,其中每一个样本的系数 r 和稀疏的噪声 e 通过最小化损失得到。在随机优化过程中,一般通常关心的是最小化期望的全样本的损失 [16]
其中期望是通过样本 z 的分布计算的。此文首先通过建立一个替代函数,来近似期望,然后再以在线的形式优化它。
4 Online RPCA 随机优化
该算法的主要思想是设计一个随机优化的算法,最小化代价函数,每一个时间点处理一个样本。系数
r
,噪声
e
,基
L
被交替优化。在第
t
个时间点,可以获得基的估计
这是经验的代价函数 ft(L) 的代替函数,可以证明它是一个上界 gt(L)≥ft(L) 。
算法被总结于 Algorithm 1 中。其中第一个子问题涉及一个小规模的凸问题,可以被有效地求解。具体推导见 Appendix 。为了更新基 L ,采用了块坐标下降法 8 。具体来说,基 L 的每一列都是独立地更新,而同时固定其他列。
接下来的部分为理论推导省略,详见原文。
Algorithm 1 Online RPCA 随机优化
输入:
{z1,⋯,zT}
观测的数据,
λ1,λ2
约束系数,
L0∈Rp×r
,
r0∈Rr
,
e0∈Rp
初始值,
T
最大迭代次数。
for
2) 新样本计算
3) 更新中间变量 At←At−1+rtrTt , Bt←Bt−1+(zt−et)rTt ;
4) 计算 Lt 使用 Lt−1 使用 Algorithm 2;
end for
Return XT=LTRTT ,低秩数据矩阵, ET 稀疏噪声矩阵。
Algorithm 2 基更新步骤
输入:
L=[l1,⋯,lr]∈Rp×r
,
A=[a1,⋯,ar]∈Rr×r
,
B=[b1,⋯,br]∈Rp×r
。
for
j
= 1 to
end for
Return L 。
5 实验
略
Appendix
Algorithm 1: 2) 过程推导。
r
的更新公式
e 的更新公式
其中 Sσ(x)=sign(x)⋅max(x−σ,0) 是一个 shrinkage 函数,用于近似求解 ℓ1 约束问题。
Algorithm 2: 过程推导。
采用块坐标下降,其更新 L 每一列的公式为
- E.J. Candes, X. Li, Y. Ma, and J. Wright. Robust principal component analysis? ArXiv:0912.3599, 2009. ↩
- Z. Lin, A. Ganesh, J. Wright, L.Wu, M. Chen, and Y. Ma. Fast convex optimization algorithms for exact recovery of a corrupted low-rank matrix. Computational Advances in Multi-Sensor Adaptive Processing (CAMSAP), 2009. ↩
- Z. Lin, M. Chen, and Y. Ma. The augmented lagrange multiplier method for exact recovery of corrupted low-rank matrices. arXiv preprint arXiv:1009.5055, 2010. ↩
- B. Recht, M. Fazel, and P.A. Parrilo. Guaranteed minimum-rank solutions of linear matrix equations via nuclear norm minimization. SIAM review, 52(3):471–501, 2010. ↩
- Samuel Burer and Renato Monteiro. A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization. Math. Progam., 2003. ↩
- B. Recht, M. Fazel, and P.A. Parrilo. Guaranteed minimum-rank solutions of linear matrix equations via nuclear norm minimization. SIAM review, 52(3):471–501, 2010. ↩
- Jasson Rennie and Nathan Srebro. Fast maximum margin matrix factorization for collaborative prediction. In ICML, 2005. ↩
- D.P. Bertsekas. Nonlinear programming. Athena Scientific, 1999. ↩