笔记:Inductive Robust Principal Component Analysis

Bao, B.K., et al., Inductive robust principal component analysis. IEEE Transactions on Image Processing, 2012. 21(8): p. 3794-3800.
本文针对经典的 Inductive Robust Principal Component Analysis 的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。

摘要:RPCA 是一种直推式方法,并不能很好地处理新的样本。如果一个新的数据加入,RPCA需要重新计算所有的数据,导致非常高的计算代价。所以,RPCA 是一个不适用于在线计算(数据会分批按顺序加入)的应用。为了克服这个难题,此文提出了一个 inductive robust principal component analysis (IRPCA)方法,给定一组训练数据,和 RPCA 不同的是,(RPCA 旨在恢复原始数据矩阵),IRPCA 目标是学习一个潜在的投影矩阵,可以有效地去除数据中的损坏。

1 简介

假设有一个误差修正的问题:数据组成部分如下

x=y+e,xRd,(1)

其中 y 是低秩的子空间部分, e 是误差项。给定任意的数据向量 x ,求解的目标是从原始数据中分离出向量 y 和误差 e

上述问题等价于找出数据中的主成分,因为低秩的子空间可以被退化的高斯分布很好地建模。前提是误差服从小方差的高斯分布,广泛使用的主成分分析(PCA)可以有效地处理上述问题。有 n 个训练数据, X=[x1,x2,,xn] ,PCA 通过最小化重建误差,来学习低秩投影,

minU ||XUUTX||2F ,  s.t. UTU=Ir ,(2)

其中 Ir 是一个 r×r 的单位矩阵, ||||2F 表示 Frobenious 范数, r U 的秩( U 的列数)。这个优化问题可以有效地用奇异值分解(SVD)求出。假设 U 是从训练数据 X 求出的解,有了一个数据 x ,它的主成分可以估计出
y=U(U)Tx.(3)

这个方法计算很有效,而且稳定,使 PCA 被广泛用于误差修正。然而,在实际应用中,PCA 对严重的损坏效果很差,通常是偏离真实的子空间。
笔记:Inductive Robust Principal Component Analysis_第1张图片

为了克服 PCA 的缺陷,Wright et al. 1 2 提出了 robust principal componen analysis (RPCA) ,成功应用于各个方面。
同样给定一组数据 X=[x1,x2,,xn] ,RPCA 找到其主成分 Y=[y1,y2,,yn] ,通过如下的凸优化问题

minY,E ||Y||+λ||E||1,  s.t. X=Y+E,(4)

其中 |||| 表示核范数(矩阵的奇异值之和), ||||1 表示 1 范数, λ 是权衡参数。假设损坏是足够稀疏的。这个稀疏假设是合理的、现实中普遍存在的。然而 RPCA 很难扩展已学习到的模型到新的数据上。可能处理测试数据的步骤: Y,E 是从训练数据学习到的解,计算 Y 的 SVD, Y=UΣ(V)T ;然后用 y=U(U)Tx 处理新数据。这个方法的实际效果很差。更具体来说, (Y,E)(U(U)TX,XU(U)TX) 其实不接近,重构的解是不正确的。并且 E 不是稀疏的。RPCA 不适用于在线计算的应用。

于是,此文提出了 inductive principal componen analysis (IRPCA),不仅可以处理严重的损坏(相比于 RPCA),并且有良好的泛化能力。关键在于:从训练数据中学习出一个低秩投影,它能有效地移除误差,并把数据投影到其潜在的子空间中

2 相关工作

Liu et al. 3 (基于 RPCA)提出了 low-rank representation (LRR) 模型

minZ,E ||Z||+λ||E||,  s.t. X=AZ+E,(5)

其中 A 是数据空间的字典, |||| 根据具体情况选择合适的范数。如果 A=I ,那么 LRR 就变成了 RPCA 。子空间分割可以用 LRR 解决
minZ,E ||Z|+λ||E||2,1,  s.t. X=XZ+E,(6)

其中区别是 A=X ||E||2,1=nj=1di=1([E]ij)2 。这个方法也有 RPCA 同样的缺点:不能很好地处理新数据,需要重新计算,代价很高。

3 目标优化求解

3.1 模型建立

如果损坏没有任何的限制,那么 IRPCA 也是不实用的。比如,损坏是无序的,一般情况下没有简单的模型可以拟合它。幸运的是,IRPCA 是可行的。首先,即使损坏是乱序的,也能存在一个线性投影 P0 把数据投影到子空间中,能正确地恢复出数据(即使不是完全精确的恢复);
笔记:Inductive Robust Principal Component Analysis_第2张图片
其次,两个高维的向量,通常是独立的,近似是相互正交 4,也就是说,损坏通常不在正确的子空间中。这样的情况下, P0 严格地从数据中去除损坏。只要有数据 x ,其主成分就可以通过 y=P0x 获得。

笔记:Inductive Robust Principal Component Analysis_第3张图片

开始建立优化模型,训练数据 X=[x1,x2,,xn] 。目的是学习低秩投影 P0 ,给出如下优化函数

minP,E rank(P)+λ||E||0,  s.t. X=PX+E ,(7)

其中 λ 是系数, ||||0 0 范数。该目标函数是不连续性的,因为 rank() 0 存在。根据通常的方法,采用核范数代替。同时, 0 也用 1 代替。重新构建的凸的优化问题
minP,E ||P||+λ||E||1,  s.t. X=PX+E .(8)

假设最优解 P 已经得到。对于一个新的数据 x ,我们估计其主成分 y=Px 和误差 e=xPx ,计算很快速、简便。

3.2 优化求解

首先将上述问题转化为其转置的形式

minP,E ||PT||+λ||ET||1,  s.t. XT=PTXT+ET .(9)

根据论文 5 中提到,其计算复杂度是 O(d3) ,对高维数据代价更大。考虑到计算的效率,此文不直接求解该问题,而是到一个更简单的形式(参考 Theorem 1 6): P 总是在 X 的各列分布的字空间中。 P 可以被分解为 P=L(Q)T ,其中 Q 可以由正交化 X 的各列得到。于是,问题被转化为如下的形式
minL,E ||J||+λ||E||1,  s.t. X=LA+E, L=J,(10)

其中 A=(Q)TX |||| 表示核范数, ||||1 表示 1 范数, λ 是权衡参数。

构建 Lagrangian 函数

L(L,E,J)= ||J||+λ||E||1+tr(YT1(XLAE))+tr(YT2(LJ))+μ2(||XLAE||2F+||LJ||2F),(11)

其中 Y1,Y2Rm×n 分别是 Lagrange 乘子矩阵, tr() 是迹函数, μ 是惩罚项系数(非变量), ||||F 表示 Frobenius 范数。显然,优化目标函数可以给出
(Lk+1,Ek+1,Jk+1)Y1k+1Y2k+1μ=argminL,E,J L(L,E,J,Y1k,Y2k),=Y1k+μ(XLAE),=Y2k+μ(LJ),=min(ρμ,μmax).

其中 ρ>1 是一个常数,用于不断增加 μ 的值。
由于优化目标函数中含有多个变量,通常的做法是每次最小化求解一个变量,而固定其他变量,之后更新 Lagrange 乘子,反复迭代直至收敛。论文使用经典的 inexact Augmented Lagrange Multiplier Method,也叫交替方向乘子法(Alternating Direction Multiplier Method),
Lk+1Ek+1Jk+1=argminL L(L,Ek,Jk,Y1k,Y2k),=argminE L(Lk+1,E,Jk,Y1k,Y2k),=argminJ L(Lk+1,Ek+1,J,Y1k,Y2k).(12)(13)(14)

迭代更新参数中还加入了 singular value thresholding (SVT) 和 shrinkage 操作,
Sα(x)=sign(x)max{|x|α, 0},(15)

其中 α>0 是一个设定的阈值。这是一个标量函数,对于矩阵或向量的操作都是 elementwise 的。
给出具体的迭代公式,推导过程见 Appendix
Lk+1=((XEk)AT+Jk+Y1kATY2kμ)(I+AAT)1;Ek+1=Sλμ(XLk+1A+Y1kμ);(U,Σ,V)=svd(Lk+1+Y2kμ),Jk+1=US1μ(Σ)VT;(16)(17)(18)(19)

其中 Sα() 就是为了近似代替优化求解过程中的 ||J||+λ||E||1 而加入的;也就是说,在梯度求解 Lk+1,Ek+1,Jk+1 的过程中,并没有考虑这两项,而是用减去 Ek 的较小的元素值 Sλ/μ(Ek) ,和减去 Jk 的部分(较小的)奇异值 S1/μ(Σ) 来代替,直接求闭式解表达式。
优化步骤的迭代停止条件:
||XLk+1AEk+1||<ε and ||ZJk+1||<ε.(20)

其中 |||| 表示最大范数,定义为矩阵中最大的元素绝对值 ||A||=maxi,j{|aij|}

4 实验

Appendix

原论文中的公式有明显的符号错误。

  1. 求解 Lk+1 , 当 LL=0 时,( ||J||+λ||E||1 L 无关)

    LLLLLk+1=L{tr(YT1k(XLAEk))+tr(YT2k(LJk))+μ2(||XLAEk||2F+||LJk||2F)}=Y1kAT+Y2kμ(XLAEk)AT+μ(LJk)=μL(I+AAT)+(Y2kY1kAT)+μ((EkX)ATJk),=0,=((XEk)AT+Jk+Y1kATY2kμ)(I+AAT)1.

  2. 求解 Ek+1 , 当 LE=0 时,( ||J|| E 无关, λ||E||1 Sλ/μ() 近似)

    LELEEk+1=LE{tr(YT1k(XLk+1AE))+μ2||XLk+1AE||2F}=Y1k+μ(E+Lk+1AX),=0,=Sλμ(XLk+1A+Y1kμ).

  3. 求解 Jk+1 , 当 LJ=0 时,( λ||E||1 J 无关, ||J|| S1/μ(Σ), Σ=svd() 近似)

    LJLJ(U,Jk+1=LJ{tr(YT2k(Lk+1J))+μ2||Lk+1J||2F}=Y2k+μ(JLk+1),=0,Σ,V)=svd(Lk+1+Y2kμ),=US1μ(Σ)VT.


  1. E. J. Candes, X. Li, Y. Ma, and J. Wright. (2009, Dec.). Robust Principal Component Analysis? [Online]. Available: http://wwwstat.stanford.edu/∼candes/papers/RobustPCA.pdf ↩
  2. J. Wright, A. Ganesh, S. Rao, Y. Peng, and Y. Ma, “Robust principal component analysis: Exact recovery of corrupted low-rank matrices via convex optimization,” in Proc. Neural Inf. Process. Syst., 2009, pp. 1–9. ↩
  3. G. Liu, Z. Lin, and Y. Yu, “Robust subspace segmentation by low-rank representation,” in Proc. Int. Conf. Mach. Learn., 2010, pp. 1–8. ↩
  4. R. R. Hamming, Art of Doing Science and Engineering: Learning to Learn. Boca Raton, FL: CRC Press, 1997, p. 364. ↩
  5. G. Liu, Z. Lin, and Y. Yu, “Robust subspace segmentation by low-rank representation,” in Proc. Int. Conf. Mach. Learn., 2010, pp. 1–8. ↩
  6. G. Liu, Z. Lin, S. Yan, J. Sun, Y. Yu, and Y. Ma. (2010). Robust Recovery of Subspace Structures by Low-Rank Representation [Online]. Available: http://arxiv.org/pdf/1010.2955.pdf ↩

你可能感兴趣的:(图像处理,稀疏表示)