【机器学习】Inductive Robust Principal Component Analysis(IRPCA)

IRPCA算法,一种改进的鲁棒主成分分析方法,不仅能够处理严重的数据损坏,还具备良好的泛化能力。该算法通过从训练数据中学习得到低秩投影矩阵P,有效移除误差并把数据投影到子空间中。与PCA和RPCA相比,IRPCA在异常值处理上更具优势,即使异常值无序分布,也能通过线性投影准确恢复数据。

IRPCA

参考论文:Inductive Robust Principal Component Analysis
作者:Bing-Kun Bao, Guangcan Liu, Member, IEEE,
   Changsheng Xu, Senior Member, IEEE,
   and Shuicheng Yan, Senior Member, IEEE

PCA

PCA由于F范数,对噪声和异常值敏感。具体见本人的另外一篇文章PCA主成分分析

RPCA

目标函数如下:
m i n Y , E ∣ ∣ Y ∣ ∣ ∗ + λ ∣ ∣ E ∣ ∣ 1 , s . t . X = Y + E min_{Y,E}||Y||_*+\lambda ||E||_1,s.t.X = Y + E minY,EY+λE1,s.t.X=Y+E假设RPCA的最优解为 Y ∗ , E ∗ Y^*,E^* Y,E,那么对于测试样本,通常是这样:

  • 首先求 Y ∗ Y^* Y的SVD, Y ∗ = U ∗ ∗ Σ ∗ ∗ V ∗ Y^*=U^**\Sigma^**V^* Y=UΣV
  • 然后: y ∗ = U ∗ ( U ∗ ) T x y^* =U^*(U^*)^Tx y=U(U)Tx

但是,这个方法并不好,不能很好的处理训练样本本身,更精确的说,由以上方法得到的解 ( U ∗ ( U ∗ ) T X , X − U ∗ ( U ∗ ) T X ) (U^*(U^*)^TX,X-U^*(U^*)^TX) U(U)TX,XU(U)TX可能并不是目标函数的最优解。证据表明由 X − U ∗ ( U ∗ ) T X X-U^*(U^*)^TX XU(U)TX得到的误差 E E E通常不是稀疏的。

IRPCA

  针对PCA和RPCA的不足,本文提出了IRPCA,不仅可以处理严重的损坏(相比于 RPCA),并且有良好的泛化能力。
关键在于:IRPCA从训练数据中学习得到一个低秩投影矩阵P,它能有效地移除误差,并把数据投影到子空间中。
  如果异常值没有施加任何限制,那么 IRPCA 是不可能实现的。但是如果,异常值是无序的,则一般情况下没有简单的模型可以拟合它。
  幸运的是,IRPCA 是可行的。

  • 首先,即使异常值是乱序的,也能存在一个线性投影 P 0 P_0 P0 把数据投影到子空间中,能正确地恢复出数据(即使不是完全精确的恢复);
  • 其次,两个高维的向量,通常是独立的,近似相互正交,也就是说,异常通常不在正确的子空间中。这样的情况下, P 0 P_0 P0 就可以从数据中去除异常。

所以,只要有数据 x,其主成分就可以通过 y = P 0 x y=P_0x y=P0x 获得。

例如:X是1024 * 100,P就是1024 * 1024

IRPCA的目标函数如下:
m i n P , Y r a n k ( P ) + λ ∣ ∣ X − P X ∣ ∣ 0 , s . t . Y = P X min_{P,Y}rank(P)+\lambda ||X-PX||_0,s.t.Y=PX minP,Yrank(P)+λXPX0,s.t.Y=PX处理后如下: m i n P , Y ∣ ∣ P ∣ ∣ ∗ + λ ∣ ∣ E ∣ ∣ 1 , s . t . X = P X + E min_{P,Y}||P||_*+\lambda ||E||_1,s.t.X=PX+E minP,YP+λE1,s.t.X=PX+E

IRPCA求解

首先将上述问题转化为其转置的形式: m i n P , Y ∣ ∣ P T ∣ ∣ ∗ + λ ∣ ∣ E T ∣ ∣ 1 , s . t . X T = X T P T + E T min_{P,Y}||P^T||_*+\lambda ||E^T||_1,s.t.X^T=X^TP^T+E^T minP,YPT+λET1,s.t.XT=XTPT+ET根据论文Robust subspace segmentation by low-rank representation可以得到其计算复杂度是 O ( d 3 ) O(d^3) O(d3),对于高维数据,计算量很大。本文不直接计算上述问题,根据论文Robust Recovery of Subspace Structures by Low-Rank Representation的理论1,最优解 P ∗ P^* P的转置总是在 X X X的列张成的子空间里。所以 P ∗ P^* P可以表示为 P ∗ = L ∗ ( Q ∗ ) T P^*=L^*(Q^*)^T P=L(Q)T,其中 Q ∗ Q^* Q是通过对X的列进行正交得到的。所以上述问题可以等价为下述更简单的形式: m i n L , E ∣ ∣ L ∣ ∣ ∗ + λ ∣ ∣ E ∣ ∣ 1 , s . t . X = L A + E min_{L,E}||L||_*+\lambda ||E||_1,s.t.X=LA+E minL,EL+λE1,s.t.X=LA+E然后构建 Lagrangian 函数 m i n L , E ∣ ∣ J ∣ ∣ ∗ + λ ∣ ∣ E ∣ ∣ 1 , s . t . X = L A + E , J = L min_{L,E}||J||_*+\lambda ||E||_1,s.t.X=LA+E,J=L minL,EJ+λE1,s.t.X=LA+E,J=L

         在这里插入图片描述
其中 Y 1 , Y 2 ∈ R m × n Y_1,Y_2∈R^{m×n} Y1,Y2Rm×n 分别是 Lagrange 乘子矩阵,μ 是惩罚项参数。显然,优化目标函数可以给出
      在这里插入图片描述
其中 ρ>1 是一个常数,用于不断增加 μ 的值。
然后通过ALM算法,可以对其进行求解,算法如下:
    在这里插入图片描述
step1可以通过SVT得到: J k + 1 = U S 1 μ ( Σ ) V T J_{k+1}=US_{\frac{1}{\mu}}(\Sigma)V^T Jk+1=USμ1(Σ)VT
step2,这里有错,Z应该是L,同理step4
step3可以通过收缩算子得到: E k + 1 = S λ μ ( X − L k + 1 A + Y 1 k μ ) E_{k+1}=S_{\frac{\lambda}{\mu}}(X-L_{k+1}A+\frac{Y_{1k}}{\mu}) Ek+1=Sμλ(XLk+1A+μY1k)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值