PCA與RPCA
PCA和RPCA從名字看是有一些相似性的,兩者的區別在於對於誤差的假設不同,PCA假設數據誤差是服從高斯分布的,即數據噪聲較小;RPCA假設數據噪聲是稀疏的,並且可能是強的噪聲;
一般推導主成分分析可以有兩種方法:
- 最近可重構性:樣本點到超平面要盡可能近;
- 最大可分性:樣本點在這個超平面上的投影盡可能分開,即最大化投影方差;
下面基於最大化投影方差來回歸該算法,首先,先回顧一下PCA操作的步驟:
- 對樣本數據進行中心化處理(這步操作比較重要,特別是對推導公式)
- 求樣本的協方差矩陣;
- 對樣本的協方差矩陣進行特征值分解,並通過前k個特征值對應的特征向量進行映射:
最大方差推導:
假設原始的坐標為\(\left\{\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \ldots, \boldsymbol{v}_{n}\right\}\),中心化之后表示為 \(\left\{\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \ldots, \boldsymbol{x}_{n}\right\}=\left\{\boldsymbol{v}_{1}-\boldsymbol{\mu}, \boldsymbol{v}_{2}-\boldsymbol{\mu}, \ldots, \boldsymbol{v}_{n}-\boldsymbol{\mu}\right\}\) ,向量內積可以理解為第一個向量在第二個向量上的投影長度,因此 \(x_i\) 在 \(\omega\)上的投影可以表示為 \(\left(\boldsymbol{x}_{i}, \omega\right)=\boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{\omega}_{\mathrm{o}}\) ,根據上述內容,我們需要優化的函數是最大化投影方差,即:
進一步,我們可以得到需要求解的最大投影方向就是協方差矩陣最大特征值對應的特征矩陣
RPCA
RPCA用以解決含有高幅度尖銳噪聲的數據,其基本假設是數據矩陣包含結構信息(該矩陣是低秩的),和噪聲矩陣(該矩陣是稀疏的),所以RPCA希望將原始矩陣分解為 \(D=A+E\) 的形式:
這里的\(rank(\cdot)\) 和 \(L_0\) 范數非凸、非光滑,因此需要進行放縮,即使用核范數替代 \(rank(\cdot)\) 使用 \(L_1\) 代替 \(L_0\) :
區別
PCA的優化目標是:
\(D = L + N\),即低秩矩陣L和獨立同分布的Gaussian噪聲;
RPCA的優化目標是:
\(D = L + S\),即低秩矩陣L和稀疏尖銳噪聲矩陣\(S\)
參考:https://blog.csdn.net/u010545732/article/details/19066725