PCA 与 Robust PCA区别

来源:互联网 发布:用电脑接接网络监控 编辑:程序博客网 时间:2024/05/22 01:53

之前的一篇博客对PCA的原理、特点进行了介绍以及用python实现了PCA。本篇博客对PCARobust PCA进行简单的区别。

1.PCA

主成分分析(PCA)可以有效的找出数据中最重要的元素和结构,去除噪音和冗余,能将原有的复杂数据进行降维。最简单的主成分分析方法就是PCA,从线性代数的角度看,PCA的目标就是使用另一组基去重新描述得到的新的数据空间,通过这组新的基,能揭示与原有的数据间的关系,即这个维度最重要的“主元”。PCA的目标就是找到这样的“主元”,最大程度的去除冗余和噪音的干扰。

2.Robust PCA

与经典PCA一样,Robust PCA(鲁棒主成分分析)本质上也是寻找数据在低维空间上的最佳投影问题。当观测数据较大时,PCA无法给出理想的结果,而Robust PCA能够从较大的且稀疏噪声污染的观测数据中恢复出本质上低秩的数据。Robust PCA考虑的是这样一个问题:一般的数据矩阵D包含结构信息,也包含噪声。那么可以将这个矩阵分解为两个矩阵相加:D = A + EA是低秩的(由于内部有一定的结构信息造成各行或列间是线性相关的),E是稀疏的(含有噪声,则是稀疏的),则Robust PCA可以写成以下的优化问题:
这里写图片描述
由于rankL0范数在优化上存在非凸和非光滑特性,所以一般将这个NP问题转换成求解一个松弛的凸优化问题:
这里写图片描述
后续博客中,会介绍几种Robust PCA常见的优化方法AML、DUAL、APG等,具体优化部分可以参考马毅的实验室提供的论文。
Robust PCA常用在视频背景建模、图像恢复、图像类别标签净化、音乐词曲分离、图像矫正与去噪、图像对齐等。

3.两者区别

Robust PCA与经典PCA问题一样,Robust PCA本质上也是寻找数据在低维空间上的最佳投影问题。对于低秩数据观测矩阵D,假如D受到随机(稀疏)噪声的影响,则D的低秩性就会破坏,使D变成满秩的。所以就需要将D分解成包含其真实结构的低秩矩阵A和稀疏噪声矩阵E之和。找到了低秩矩阵,实际上就找到了数据的本质低维空间,那么Robust PCARobust在哪呢?因为PCA前提假设的数据的噪声是高斯的,对于大的噪声或者严重的离群点,PCA会被它影响,导致其无法正常工作。而Robust PCA则不存在这个假设(Robust PCA假设噪声是稀疏的,而不管噪声的强弱)。