RPCA模型及GoDec算法

一、基础知识

  1. 在线性代数中,的物理意义是矩阵中最大的不相关的向量个数,因此秩可以用来度量相关性;而在图像处理中,秩就可以理解为图像中所包含的信息的丰富程度。图片中比较突兀的成分,会增加图像矩阵的秩,一幅清晰的自然图像其数据矩阵往往是低秩或者近似低秩的,这是因为其中的图像信息有很大的相关性,但如果图像中引入噪声,那么存在随机幅值任意大但是分布稀疏的误差破坏了原有数据的低秩性。
  2. 低秩矩阵:如果 A A A是一个 m × n m×n m×n的矩阵, r a n k ( A ) rank(A) rank(A)是矩阵 A A A的秩,如果 r a n k ( A ) rank(A) rank(A)远小于 m m m n n n,则我们称 A A A是低秩矩阵。低秩矩阵说明这个矩阵包含了大量的冗余信息,秩越低表示数据冗余性越大。
  3. 低秩是指矩阵的秩较小
  4. 稀疏是指矩阵中非零元素的个数少,即大部分元素都为0,只有小部分元素不为0,用 l 0 l_0 l0范数度量
  5. 矩阵 L L L0范数:矩阵 L L L中非零元素的个数;非零元素个数越少, L L L越稀疏
  6. 矩阵 L L L核范数(nuclear norm):矩阵 L L L的奇异值之和;核范数越小,可近似认为矩阵 L L L的秩越低
  7. 矩阵 L L L1范数:矩阵 L L L中各列元素绝对值的和的最大值;这个和很小,趋近于0的时候,可近似认为非零元素个数很少。
    ∣ ∣ L ∣ ∣ 1 = max ⁡ j ∑ i = 1 m ∣ a i j ∣ ||L||_1=\max\limits_{j}\sum_{i=1}^{m}|a_{ij}| L1=jmaxi=1maij
  8. P问题(Polynomial Solvable):可以在多项式时间内解决的问题;时间复杂度如 ( n 2 , n 4 , n ( l o g ( n ) ) ) (n^2,n^4,n(log(n))) n2,n4,n(log(n))都是多项式时间
  9. NP问题:多项式复杂程度的非确定性问题
    NP难问题的进一步理解

二、鲁棒主成分分析(RPCA)

概述

低秩矩阵恢复模型(LRMR)主要有鲁棒主成分分析(RPCA)、矩阵补全(matrix completion,MC)和低秩表示(low-rank representation,LRR)等三类模式。

低秩矩阵恢复问题,也被称为低秩稀疏分解问题,又被称为鲁棒主成分分析问题,可描述为从一个已知矩阵 D ∈ R m × n \boldsymbol{D∈R^{m×n}} DRm×n恢复出一个低秩矩阵 L ∈ R m × n \boldsymbol{L∈R^{m×n}} LRm×n和一个稀疏矩阵 S ∈ R m × n \boldsymbol{S∈R^{m×n}} SRm×n1
D = L + S D=L+S D=L+S

数学模型

低秩矩阵恢复问题的数学模型可表示为
min ⁡ L , S r a n k ( L ) + λ ∣ ∣ S ∣ ∣ 0 s . t . D = L + S (1) \min\limits_{L,S} rank(L)+\lambda||S||_0 \qquad s.t. \quad D=L+S \tag{1} L,Sminrank(L)+λS0s.t.D=L+S(1)
其中 r a n k ( L ) rank(L) rank(L)表示矩阵的秩, ∣ ∣ S ∣ ∣ 0 ||S||_0 S0表示矩阵 S S S非零元的个数。

表示的含义是当低秩矩阵 L L L的秩和稀疏矩阵 S S S的0范数均取得最小值的时候,所得到的对应的 L L L S S S.

上式中秩函数、零范数都是非凸非线性的组合优化函数,模型1是非凸NP-难问题,直接求解很难。需要在一定条件下对其松弛,方可进行优化。

用矩阵的核函数来近似矩阵的秩,用矩阵的1范数来近似0范数3。由范数知识可知,核函数是秩函数的凸包,1范数是0范数的凸包,所以上述NP-难问题松弛后可转化为凸优化问题:
min ⁡ L , S ∣ ∣ L ∣ ∣ ∗ + λ ∣ ∣ S ∣ ∣ 1 s . t . D = L + S (2) \min\limits_{L,S} ||L||_*+\lambda||S||_1 \qquad s.t. \quad D=L+S \tag{2} L,SminL+λS1s.t.D=L+S(2)
式(2)中的核范数是指矩阵 D D D的奇异值的和,主要用来约束 D D D的低秩属性, L 1 L_1 L1范数用来约束误差图像矩阵 S S S的稀疏性。2

基于凸优化松弛模型 2,已经有很多算法被提出,其中包括増广拉格朗日乘子法(augmented Lagrange multiplier,ALM)、加速的近似梯度法(accelerated proximal gradient,APG)和交替方向法(alternating direction method of mutipliers,ADMM)。1

矩阵低秩分解理论
矩阵分解在推荐系统中的应用


三、GoDec算法4

GoDec原理

GoDec算法是低秩稀疏领域中一种新型的快速近似分解方法。基本思想是将一个原始矩阵快速分解成低秩矩阵、稀疏矩阵和噪声矩阵三部分。且可以指定 X − S X-S XS L L L的低阶近似和 X − L X-L XL S S S的稀疏近似。利用预先设定的低秩参数 r r r和稀疏参数 k k k,可以将不具备严格低秩稀疏结构的矩阵进行低秩稀疏近似分解。

其数学模型如下:
D = L + S + N , r a n k ( L ) ≤ r , c a r d ( S ) ≤ k (3) D=L+S+N,\quad rank(L)≤r,\quad card(S)≤k \tag{3} D=L+S+Nrank(L)rcard(S)k(3)
式中, r a n k ( L ) rank(L) rank(L)表示对矩阵 L L L求秩, c a r d ( S ) card(S) card(S)表示矩阵 S S S的稀疏度, k k k值越小,矩阵 S S S越稀疏。

求解过程

对于上式中的分解问题,可以通过最小化分解误差来解决,即
{ min ⁡ L , S ∣ ∣ D − L − S ∣ ∣ F 2 s . t . r a n k ( L ) ≤ r , c a r d ( S ) ≤ k (4) \begin{cases} \min\limits_{L,S}||D-L-S||_F^2 \\ s.t. \quad rank(L)≤r,card(S)≤k \\ \end{cases} \tag{4} {L,SminDLSF2s.t.rank(L)rcard(S)k(4)
式中, ∣ ∣ ⋅ ∣ ∣ F ||\cdot||_F F表示矩阵的 F F F范数,即使低秩稀疏分解后的重构误差最小。

式(4)优化问题可以分解成下面两个子问题进行交替求解,直至收敛。
{ L t = a r g min ⁡ r a n k ( L ) ≤ r ∣ ∣ D − L − S t − 1 ∣ ∣ F 2 S t = a r g min ⁡ c a r d ( S ) ≤ k ∣ ∣ D − L t − S ∣ ∣ F 2 (5) \begin{cases} L_t=arg \min\limits_{rank(L)≤r}||D-L-S_{t-1}||_F^{2} \\ \quad \\ S_t=arg \min\limits_{card(S)≤k}||D-L_t-S||_F^{2} \\ \end{cases} \tag{5} Lt=argrank(L)rminDLSt1F2St=argcard(S)kminDLtSF2(5)
虽然这两个子问题都是非凸约束问题,但它们存在全局解 L t L_t Lt S t S_t St。由上式可以看出, L t L_t Lt S t S_t St可以通过互相迭代求解,类似于围棋中的双方博弈,这也是算法名称中“Go”的由来。

式(5)中子问题中的 L t L_t Lt S t S_t St都可以通过设置硬阈值的方式求得,具体如下:
{ L t = ∑ i = 1 r λ i U i V i T , s v d ( X − S t − 1 ) = U Λ V T ; S t = P Ω ( X − L t ) , Ω : ∣ ( X − L t ) i , j ∈ Ω ∣ ≠ 0 a n d ≥ ∣ ( X − L t ) i , j ∈ Ω ˉ ∣ , ∣ Ω ∣ ≤ k . (6) \begin{cases} L_t=\sum_{i=1}^r\lambda_iU_iV_i^T, svd(X-S_{t-1})=U \Lambda V^T; \\ \quad \\ S_t=P_\Omega(X-L_t),\Omega:\Big|(X-L_t)_{i,j∈\Omega}\Big|≠0 \\ \quad and ≥\Big|(X-L_t)_{i,j∈\bar{\Omega}}\Big|,|\Omega|≤k. \end{cases} \tag{6} Lt=i=1rλiUiViTsvd(XSt1)=UΛVTSt=PΩ(XLt),Ω:(XLt)i,jΩ=0and(XLt)i,jΩˉ,Ωk.(6)
L t L_t Lt通过 X − S t − 1 X-S_{t-1} XSt1的奇异值硬阈值(前r个奇异向量)更新; S t S_t St通过 X − L t X-L_{t} XLt的entry-wise 硬阈值(数值从大到小排列前k个元素组成的非零子集)更新.

由于SVD通常很耗时,需要 m i n ( m n 2 , m 2 n ) min(mn^2,m^2n) min(mn2,m2n)次计算,所以考虑用双边随机投影(Bilateral Random Projection,BRP)来计算式(5),相比于传统计算方法SVD,运算速度明显提高,且很大程度地将计算复杂度降低。

为了快速分解出低秩矩阵和稀疏矩阵,根据给定的秩 r r r,利用随机矩阵 A 1 ∈ R n × r A_1∈R^{n×r} A1Rn×r A 2 ∈ R m × r A_2∈R^{m×r} A2Rm×r构造密矩阵 D D D的双边随机投影(bilateral random projection,BRP) Y 1 Y_1 Y1 Y 2 Y_2 Y2,即
Y 1 = D A 1 , Y 2 = D T A 2 (6) Y_1=DA_1,\quad Y_2=D^TA_2 \tag{6} Y1=DA1Y2=DTA2(6)
式中, D D D m × n m×n m×n(m≥n)的矩阵。

可以快速获得秩为 r r r的低秩矩阵 L L L
L = Y 1 ( A 2 T Y 1 ) − 1 Y 2 T (7) L=Y_1(A_2^TY_1)^{-1}Y_2^T \tag{7} L=Y1(A2TY1)1Y2T(7)
计算 L L L包括一个 r × r r×r r×r矩阵的求逆和三个矩阵的相乘。对于密矩阵 D D D,可以得到BRP的时间复杂度为2mnr,则得到矩阵 L L L的必要时间复杂度为 r 2 ( 2 n + r ) + m n r r^2(2n+r)+mnr r2(2n+r)+mnr,计算量远低于使用SVD分解,效率更高。

当矩阵 D D D的奇异值衰减缓慢时,利用模型优化(Power Scheme)对矩阵进行优化。使用 D ˉ = ( D D T ) q D \bar D=(DD^T)^qD Dˉ=(DDT)qD来代替 D D D D ˉ \bar D Dˉ的奇异值衰减速度要比 D D D快,因此计算 D ˉ \bar D Dˉ的BRP。特别地, λ i ( D ˉ ) = λ i ( D ˉ ) 2 q + 1 \lambda_i(\bar D)=\lambda_i(\bar D)^{2q+1} λi(Dˉ)=λi(Dˉ)2q+1 λ i \lambda_i λi为矩阵的第 i i i个最大奇异值), D D D D ˉ \bar D Dˉ有相同的奇异向量。 D ˉ \bar D Dˉ的BRP为
Y 1 = D ˉ A 1 , Y 2 = D ˉ T A 2 (8) Y_1=\bar DA_1,\quad Y_2=\bar D^TA_2 \tag{8} Y1=DˉA1Y2=DˉTA2(8)
根据式(7)可以得到优化后的低秩矩阵 L ˉ \bar L Lˉ
L ˉ = Y 1 ( A 2 T Y 1 ) − 1 Y 2 T (9) \bar L=Y_1(A_2^TY_1)^{-1}Y_2^T \tag{9} Lˉ=Y1(A2TY1)1Y2T(9)
为了得到矩阵 D D D秩为 r r r的低秩近似,对 Y 1 Y_1 Y1 Y 2 Y_2 Y2进行 Q R QR QR分解
Y 1 = Q 1 R 1 , Y 2 = Q 2 R 2 (10) Y_1=Q_1R_1,\quad Y_2=Q_2R_2 \tag{10} Y1=Q1R1Y2=Q2R2(10)
最终得到矩阵 D D D的低秩近似 L L L
L = ( L ˉ ) 1 2 q + 1 = Q 1 [ R 1 ( A 2 T Y 1 ) − 1 R 2 T ] 1 2 q + 1 Q 2 T (11) L=(\bar L)^{\frac{1}{2q+1}}=Q_1[R_1(A_2^TY_1)^{-1}R_2^T]^{\frac{1}{2q+1}}Q_2^T \tag{11} L=(Lˉ)2q+11=Q1[R1(A2TY1)1R2T]2q+11Q2T(11)
式中, q q q代表幂指数,可以通过增加 q q q值来减少式(7)的误差。

为了精确恢复低秩矩阵 L L L,使用右随机投影 Y 1 Y_1 Y1构建左投影矩阵 A 2 A_2 A2,并计算左随机投影 Y 2 Y_2 Y2。当通过 Y 1 = D A 1 Y_1=DA_1 Y1=DA1得到 Y 1 Y_1 Y1后,更新 A 2 = Y 1 A_2=Y_1 A2=Y1,计算左随机投影 Y 2 = D T Y 1 Y_2=D^TY_1 Y2=DTY1,然后更新 A 1 = Y 2 A_1=Y_2 A1=Y2,再计算右随机投影 Y 1 = D Y 2 Y_1=DY_2 Y1=DY2。通过不断更新式(7)中的 Y 1 Y_1 Y1 Y 2 Y_2 Y2,得到更精确的低秩矩阵 L L L

然后可以得到稀疏矩阵 S S S
S = P Ω ( D − L ) (12) S=P_\Omega(D-L) \tag{12} S=PΩ(DL)(12)
式中, P Ω ( ⋅ ) P_\Omega(\cdot) PΩ()表示元素集 Ω \Omega Ω对矩阵的采样投影, Ω \Omega Ω ∣ D − L ∣ |D-L| DL的前 k k k个最大元素非零子集。

在这里插入图片描述

改进初始化矩阵

原始GoDec算法在进行分解时,需要初始化低秩矩阵 L 0 L_0 L0为原始矩阵 D D D,稀疏矩阵 S 0 S_0 S0为零矩阵,表示成
{ L 0 = D S 0 = 0 (13) \begin{cases} L_0=D \\ S_0=0 \end{cases} \tag{13} {L0=DS0=0(13)
为了进一步提高计算速度,减少迭代次数,这里使用原矩阵每一行的中值替换该行所有值来逼近低秩矩阵 L 0 L_0 L0,用原矩阵减去低秩矩阵后剩余的矩阵作为稀疏矩阵 S 0 S_0 S0的初始值,则改进后的初始化矩阵为
{ L 0 = m e d ( D i ) 1 1 × n , i = 1 , 2 , ⋯   , m S 0 = D − L 0 (14) \begin{cases} L_0={med(D_i)}\pmb{1}_{1×n},& i=1,2,\cdots,m \\ S_0=D-L_0 \end{cases} \tag{14} {L0=med(Di)1111×nS0=DL0i=1,2,,m(14)
式中, m e d ( D i ) med(D_i) med(Di)表示矩阵 D D D i i i行的中值, 1 1 × n \pmb{1}_{1×n} 1111×n表示 1 1 1 n n n列的单位向量。

与RPCA的区别

GoDec(Go Decomposition)是Tao等人在RPCA的基础上提出的一种矩阵分解算法。与RPCA不同,它不再要求原始数据矩阵 X X X中的噪声矩阵满足稀疏条件,而是对X进行了更精细的划分,从而实现矩阵分解。从数学表达式上讲,它将原始数据 X X X分成了低秩矩阵 L L L、稀疏矩阵 S S S和噪声矩阵 G G G,即 X = L + S + G X=L+S+G X=L+S+G。此外,GoDec与RPCA还有以下三点不同:

  1. 由式(2)可以看出,RPCA不需要提前设定低秩矩阵的秩,它通过最小化低秩矩阵的核范数与稀疏矩阵的 l 1 l_1 l1范数的和求得最优解,因此最终矩阵 L L L的秩和矩阵 S S S的稀疏度由凸优化算法自动求得。而DoDec可以在求解之前提前设定参数 r a n k ( L ) rank(L) rank(L) c a r d ( S ) card(S) card(S)来约束矩阵 L L L的秩以及 S S S的稀疏程度,从而控制模型复杂度。
  2. 由于GoDec可以控制 S S S的支撑集,因此它可以用来解决矩阵补全(Matrix Completion)问题。
  3. 与RPCA相比,GoDec通过对低秩成分的随机近似计算显著提高了运算效率,大大减少了运行时间。

四、参考文献

[1]. 求解低秩矩阵恢复问题的一种非单调交替梯度方向法_闫喜红
[2]. 基于判别低秩矩阵恢复和协同表示的遮挡人脸识别_孙雨浩
[3]. 非凸的鲁棒主成分分析模型及其应用_王宇
[4]. 基于GoDec的探地雷达信号处理方法研究_郑文俭
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值