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,E∣∣Y∣∣∗+λ∣∣E∣∣1,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,X−U∗(U∗)TX)可能并不是目标函数的最优解。证据表明由 X − U ∗ ( U ∗ ) T X X-U^*(U^*)^TX X−U∗(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)+λ∣∣X−PX∣∣0,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,Y∣∣P∣∣∗+λ∣∣E∣∣1,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,Y∣∣PT∣∣∗+λ∣∣ET∣∣1,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,E∣∣L∣∣∗+λ∣∣E∣∣1,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,E∣∣J∣∣∗+λ∣∣E∣∣1,s.t.X=LA+E,J=L

其中
Y
1
,
Y
2
∈
R
m
×
n
Y_1,Y_2∈R^{m×n}
Y1,Y2∈Rm×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μλ(X−Lk+1A+μY1k)
IRPCA算法,一种改进的鲁棒主成分分析方法,不仅能够处理严重的数据损坏,还具备良好的泛化能力。该算法通过从训练数据中学习得到低秩投影矩阵P,有效移除误差并把数据投影到子空间中。与PCA和RPCA相比,IRPCA在异常值处理上更具优势,即使异常值无序分布,也能通过线性投影准确恢复数据。

6584

被折叠的 条评论
为什么被折叠?



