奇异值分解和主成分分析有什么区别?

机器学习 线性代数
关注者
8
被浏览
2,970
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

二者联系紧密,但从降维的角度理解,它们降维的对象不同。

考虑矩阵 X\in R^{p\times n}

场景1:将其看作是 np 维样本,每一列代表一个样本。我们希望将这些样本的维度从 p 维降至 d 维,并且尽可能保证样本的真实性。

场景2:将其看作一张图片,我们希望图片能节省空间,并且尽可能不失真。

场景1采用PCA;场景2采用SVD。


下面从数学的角度来描述这种差异:

场景1:

在这个场景中,我们希望将表示样本( X 的每一列)的基p 维降至 d 维。

而这 d 维基就是 d 个主成分。根据PCA的理论,这 d 个主成分就是 X 协方差矩阵 \Sigma 最大 d 个特征值对应的特征向量,其中 \Sigma=\frac{1}{n}XX^{T}

我们对 \Sigma 进行特征值分解:

\Sigma=U\Lambda U^{T}

其中 \Lambda=diag(\lambda_{1},..., \lambda_{p})\Sigma 的特征值 \lambda_{i} 按照降序排列。

那么 U 的前 d\{u_{1},..., u_{d}\} 就是所求的 d 个主成分,即 n 个样本都能用 \{u_{1},..., u_{d}\} 的线性组合近似表示。

场景2:

在这个场景中,我们希望表示 X 的基p 维降至 d 维。

X 进行奇异值分解:

X=V\Sigma^{'} W=\sum_{j=1}^{p}{\sigma_{j}v_{j}w_{j}^{T}} \ \ (p\leq n)

其中 X 的奇异值 \sigma_{j} 按照降序排列。

注意 X 可以由 p 维基 \{v_{j}w_{j}^{T},...,v_{p}w_{p}^{T}\} 表示,通过奇异值分解可以将这组 p 维基降维成 d 维基\{v_{j}w_{j}^{T},...,v_{d}w_{d}^{T}\} ,从而近似表示 X


再说一下它们的联系:

在扰动理论(perturbation theory)中,考虑 X 的扰动对PCA的影响,既可以从 \Sigma 的特征空间(U 的列空间)出发,又可以从 X 的左奇异空间( V 的列空间)出发。