WHY?
传统的PCA算法对于噪音敏感,于是有人提出了RPCA将一个含有稀疏噪声的数据矩阵分解为低秩矩阵和稀疏噪音矩阵两部分。
WHAT?
HOW?
CODE
import numpy as np
import pandas as pd
'''
Y数据矩阵
alpha 步长
pre 收敛的精度
r 低秩为多少
'''
def RPCA(Y,alpha=0.75,pre=0.117,r=245):
m,n =Y.shape
#先对Y进行奇异值分解,选取前r个奇异值与前r个
#左奇异向量的乘积初始化 U,选取前 r个奇异值与前 r个右奇
#异向量的乘积初始化V
U,sigma,VT = np.linalg.svd(Y)
sigma = np.diag(sigma[0:r])
U=U[