【机器学习】Inductive Robust Principal Component Analysis(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
目标函数如下:
假设RPCA的最优解为,那么对于测试样本,通常是这样:
- 首先求的SVD,
- 然后:
但是,这个方法并不好,不能很好的处理训练样本本身,更精确的说,由以上方法得到的解可能并不是目标函数的最优解。证据表明由得到的误差通常不是稀疏的。
IRPCA
针对PCA和RPCA的不足,本文提出了IRPCA,不仅可以处理严重的损坏(相比于 RPCA),并且有良好的泛化能力。
关键在于:IRPCA从训练数据中学习得到一个低秩投影矩阵P,它能有效地移除误差,并把数据投影到子空间中。
如果异常值没有施加任何限制,那么 IRPCA 是不可能实现的。但是如果,异常值是无序的,则一般情况下没有简单的模型可以拟合它。
幸运的是,IRPCA 是可行的。
- 首先,即使异常值是乱序的,也能存在一个线性投影 把数据投影到子空间中,能正确地恢复出数据(即使不是完全精确的恢复);
- 其次,两个高维的向量,通常是独立的,近似相互正交,也就是说,异常通常不在正确的子空间中。这样的情况下, 就可以从数据中去除异常。
所以,只要有数据 x,其主成分就可以通过 获得。
例如:X是1024 * 100,P就是1024 * 1024
IRPCA的目标函数如下:
处理后如下:
IRPCA求解
首先将上述问题转化为其转置的形式:根据论文Robust subspace segmentation by low-rank representation可以得到其计算复杂度是 ,对于高维数据,计算量很大。本文不直接计算上述问题,根据论文Robust Recovery of Subspace Structures by Low-Rank Representation的理论1,最优解的转置总是在的列张成的子空间里。所以可以表示为,其中是通过对X的列进行正交得到的。所以上述问题可以等价为下述更简单的形式:然后构建 Lagrangian 函数
其中 分别是 Lagrange 乘子矩阵,μ 是惩罚项参数。显然,优化目标函数可以给出
其中 ρ>1 是一个常数,用于不断增加 μ 的值。
然后通过ALM算法,可以对其进行求解,算法如下:
step1可以通过SVT得到:
step2,这里有错,Z应该是L,同理step4
step3可以通过收缩算子得到: