Hong, B., Wei, L., Hu, Y., Cai, D., & He, X. (2016). Online robust principal component analysis via truncated nuclear norm regularization. Neurocomputing, 175, 216-222.
本文是这篇 Neurocomputing 期刊论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。
摘要: Robust principal component analyssi (RPCA) 已经被广泛用于处理高维的噪声数据,在许多应用功中。传统的 RPCA 方法考虑所有的样本恢复低维的子空间用批量的方式,导致了昂贵的存储代价并且不能有效地更新流数据的低维子空间。所以有必要设计一种在线的 RPCA 方法。此文中,提出了一种新颖的 online RPCA 算法,采取最近提出的 truncated nuclear norm 作为低秩约束的更好的近似。这里将目标函数按样本分解代价的和,并设计了 online 有效的交替优化方法。
1 简介
在许多机器学习和数据挖掘问题中,经常遇到高维的样本,包含一些噪声(损坏或奇异点)。为了恢复内部的低维子空间,从全部的样本集中, RPCA 被大量地研究,应用于视频监控 1,图像配准 2,文本语料建模 3 和 音频处理 4 。
原理上,典型的 RPCA 方法假设样本可以被分为低秩的部分和稀疏的部分。正式地,给定一个样本
Z∈Rm×n
, RPCA 尝试将
Z
分解为一个低秩的矩阵
X
和一个稀疏的矩阵
E
的和
其中 λ 是一个约束的参数。
已经被证明低维的子空间可以在合适的条件下,被精确地、有效地恢复。然而,该问题是高度非凸的,不易处理的,因为秩函数和 ℓ0 范数。大多数研究在寻找合适的秩函数和 ℓ0 范数的替代,将原问题转化为一个凸的优化问题。其中,Lin et al. 应用増广 Lagrange 乘子来得到凸问题 5。Shang et al. 6 和 Tao et al. 7 考虑更一般的情况,观测的数据是缺失的并被严重破坏的,提出了一种统一的框架,结合了 RPCA 和矩阵补全方法。
以上所有的方法都是处理批量数据的。也就是每一次迭代中,所有的样本都是需要使用的,这造成了两种限制。首先,存储代价是昂贵的,需要内存中有所有的样本在优化过程中,尤其是对于大规模数据是不可接受的。另一方面,如果数据是以流的形式获得,这些方法不能有效地处理低维子空间当一个新样本到来时。
为了解决这个问题,online RPCA 方法出现了。内存消耗与样本的规模是无关的,并发现到的低维子空间可以快速更新。另一个重要的 online RPCA 的优势是它可以跟踪动态的低维子空间,当其会随着时间变化时。所以 online RPCA 可以被用于移动摄像头的视频跟踪 8 。Goes et al. 扩展了批量版本的 PRCA 到随机,并提供了一个子线性收敛保证 9,明显地减少了存储的要求和时间复杂度。He et al. 提出了在线自适应子空间跟踪算法基于 Grassmannian 流形 10,其结合了増广 Lagrangian 和经典的随机梯度框架。Mairal 提出了更一般的 在线字典学习机制为了稀疏编码基于随机近似 11 。受到次启发之后,Feng et al. 12 和 Shen et al. 13 尝试用在线方式解决 RPCA 问题。他们分别采用了 核范数和最大范数,作为秩函数的代替,两者都可以被表示为顺序数据的矩阵分解的形式。尽管核范数和最大范数是矩阵的秩函数的凸包络,但是也导致了不能忽视的近似误差,在真实的应用中 14 。所以,一些研究者尝试设计非凸的代替,来实现更精确的近似 15 。
此文的目标是解决解决 RPCA 问题,通过一个在线非凸的优化框架。特别地,此文用最小化一个最近提出的 truncated nuclear norm 16 来代替目标函数,最小化矩阵的秩。此范数也可以被表示为矩阵分解的形式,其提供了思路来估计每一个样本对于 truncated 范数的增量的贡献。基于此,此文提出了一种用新样本更新低维空间的 online 机制。接着设计了一种有效的、迭代优化方法的实现。通过 truncated 范数,此算法的优化可以更接近矩阵的秩,子空间恢复也可以更精确。此文的主要贡献是两方面:
此文提出了一个 online 机制来解决 RPCA 问题,通过采用矩阵的非凸的近似,相比于凸的代替更为精确。
此文设计了一个高效的优化算法解决提出的目标函数。
2 预定义
大写加粗字母表示矩阵,小写加粗字母表示向量。 ||X||1 , ||X||∗ 和 ||X||F 分别表示 ℓ1 ,核范数和 Frobenius 范数。 tr(⋅) 表示方阵的迹函数。 ||v||1 和 ||v||p 表示向量的 ℓp 范数。 ⟨⋅,⋅⟩ 表示内积。 I 表示单位矩阵。
给定一个矩阵
X∈Rm×n
和一个非负的整数
s<min(m,n)
,truncated 范数
||X||s
定义为最小的
min(m,n)−s
个奇异值之和,也就是
||X||s=∑min(m,n)i=s+1σi(X)
,其中
σ1(X)≥⋯≥σmin(m,n)(X)
。换句话说,
||X||s
不关心最大的
s
个奇异值,两者的关系阐述为如下
其中 U∈Rs×m , V∈Rs×n 。公式中并不能明显看出范数和每一个样本的关系,很难估计每一个样本对范数的单独的贡献。幸运的是,核范数可以被分解为
其中 L∈Rm×d , R∈Rn×d 对任意的 d≥rank(X) 。
Lemma 2.1 truncated 范数可以分解为
其中 U∈Rs×m , V∈Rs×n , L∈Rm×d , R∈Rn×d , d≥rank(X) 。
Proof 对于任意的 U,V,L,R 满足 X=LRT , UUT=I , VVT=I ,
另一方面,假设矩阵的奇异值分解 X=PΣQT ,其中 P=(p1,⋯,pm)∈Rm×m , Q=(q1,⋯,qn)∈Rn×n 和 Σ∈Rm×n 。令 U^=(p1,⋯,ps)T 和 V^=(q1,⋯,qs)T ,然后
令 L^=PΣ1/2 和 R^=QΣ1/2 ,可以直接得到 X=L^R^T 和 ||X||∗=12||L^||2F+12||R^||2F 。
该分解将 ||X||s 基于维度削减。如此, L 可以被看做字典,而 R 的每一列可以看做系数。
3 此文提出的算法
此算法的目标是:给定一个
m
维的数据集
其中 λ1,λ2 是约束系数。注意使用 ℓ1 范数而不是 ℓ0 范数来约束稀疏项 E ,因为 ℓ1 范数计算更易处理,通常在实际方法中被采用,获得稀疏解。 ||X||s 是一个整体的形式。为了获得更多关于低维空间 X 的结构信息,将其分解 X=LRT, L∈Rm×d, R∈Rn×d, d≥rank(X) 。在 online RPCA 方法中, L 视为字典, X 的每一列都当成 L 的元素关于 R 的每一行的系数的线性组合。结合了矩阵的分解,原目标函数可以转化为如下的形式
该形式提供了一种解释:每一个样本 zi 近似 Lri+ei ,其中 rTi 是 R 的第 i 行。根据
其中 wi 是矩阵 W=VTUL∈Rn×d 的第 i 行。这里使用了如下的迹函数的交换性质:
从中,可以看出目标函数是样本逐渐累加起来的,给定字典 L ,就等价于最小化平均代价
其中 f~ 是每一个样本的损失函数,在最优的字典表示下
至此,已经将原优化问题转化为平均代价的最小化问题。其中每一个样本是在已知字典 L 的情况下获得。
4 优化
此文采用在线的方式交替地更新变量
L,R,U,V,E
假设样本是以流的形式到来,并且当前的样本是
zt
,优化步骤可以分为两个连续的部分。第一,首先优化向量
rt,et
在已知
Lt−1,Ut−1,Vt−1
的情况下,通过求解如下的优化问题
其中 wt 是 矩阵 Wt−1=VTt−1Ut−1Lt−1 的第 t 行。第二步,优化变量
其中 RTt=(r1,⋯,rt,0,⋯,0)∈Rd×n 。值得注意的是,对于每一个新的样本 zt , Lt,Vt,Ut 是完全更新的(其中所有的元素都改变),而最优的 rt 只是增加到 R 的第 t 行之中。类似地,
更新 更新
Vt
: Algorithm 1 Online RPCA 通过 Truncated nuclear norm 此文的实验过于简单。略
令
∂f/∂r=0
, 可以得到如下的闭式解
更新
et
:
求解
e
可以使用标准的内点法因为
g(e)
是凸的。然而此方法是很费时的。注意到
g(e)
是两个凸函数的和,涉及
ℓ1
范数约束,可以使用分离固定点算法。定义 shrinkage 操作
此函数是 element-wise 的。获得如下的闭式解
更新
Lt
:
使用块坐标下降法更新字典的每一列,令
A=λ1I+∑ti=1rirTi=(a1,⋯,ad)
,
B=∑ti=1(zi−ei)rTi=(b1,⋯,bd)
,
C=UTVRt=(c1,⋯,cd)
,
Lt=(lt,1,⋯,lt,d)
,那么字典
Lt
的每一列都可以更新
更新
Ut
:
这是一个正交约束问题,通常是很困难的因为其非凸性质,保证的代价太昂贵在迭代中。这里提出了一个简单、但是有效的算法求解该问题,基于以下法则:
Lemma 4.1 假设
X∈Rm×n (m<n)
满足
XXT=I
。则可以获得其中一个最优解
是
X∗=(Q,0)PT
,其中
P,Q
由
M
奇异值分解得到:
M=PΣQT
,
P∈Rn×n
,
Q∈Rm×m
,
Σ∈Rn×m
,
PTP=I
,
QTQ=I
。
Proof 通过假设,
tr(XM)=tr(XPΣQT)=tr(QTXPΣ)
。令
X~=QTXP
,接着有
X~X~T=QTXPPTXTQ=I
。所以,有
tr(XM)=tr(X~Σ)=∑mi=1X~iiσi
,其中
σi
是矩阵
M
的奇异值分解。由于
|X~ij|<1
和
σi≥0
,
∀i,j
,
tr(XM)
取得最大值在集合
{X~∣X~X~T=I, Xii~=1, if σi>0}
。一种特殊情况就是
X~∗=(I,0)
。这样的话,可以获得最优解之一
由于
Ut∈Rs×m, UtUTt=I, s<m
。原问题的形式与该定理一致,可以直接求解
LtRtVTt−1
的奇异值分解。
Ut
可以可以直接由该
Lemma 得到。
该问题与求解
Ut
形式一致,同样可以使用
Lemma 求解。总的算法流程总结于
Algorithm 1 中。
Input: 数据
Z=(z1,⋯,zn)∈Rm×n
, 约束系数
λ1,λ2
,矩阵
L0∈Rm×d,U0∈Rs×m,V0∈Rs×n
;
Initialize: 随机初始化
L0
,随机单位化
U0,V0
。
for
t=1,⋯,n
do
Step 1: 计算
rt,et
;
初始化
rt=0,et=0
;
令
wt
取自
VTt−1Ut−1Lt−1
的第
t
行;
repeat
计算
计算
et←Sλ2(zt−Lt−1rt)
;
until 收敛
Step 2 更新
Lt,Ut,Vt
;
repeat
令
RTt=(r1,⋯,rt,0,⋯,0)∈Rd×n
更新
Lt
的列;
[PU,ΣU,QU]=svd(LtRTtVTt−1)
,
Ut←(QU,0)PTU
,
[PV,ΣV,QV]=svd(RtLTtUTt)
,
Vt←(QV,0)PTV
。
until 收敛 。
end for
Output:
Ln,Rn
。
4 实验