PCA与奇异值分解的关系,奇异值降维网络原理

原创 2018年04月16日 09:53:01


实际中最好的做法是选择一个合适的\textbf{P},使得\textbf{Y}的协方差矩阵(covariance matrix)\textbf{S}_Y=\frac{1}{n-1} \textbf{Y}\textbf{Y}^T能够被对角化(diagonalized)。这是符合直观的因为这样子所有的covariance都被消除了(比如可能本来有很多noise)而留下的就是最能体现信息量的方差本身。具体的做法则是,注意到\textbf{X}\textbf{X}^T也是对称正定矩阵所以我们可以做特征值分解(eigen-decomposition)得到\textbf{X}\textbf{X}^T=\textbf{E}\textbf{D}\textbf{E}^T,其中\textbf{D}是对角矩阵(对角元是特征值),\textbf{E}的每列是相应的特征向量。我们令\textbf{P}=\textbf{E}^T便能得到我们的principal components。因为用这样的\textbf{P},我们就有(注意因为\textbf{P}是正交阵,所以\textbf{P}^T =\textbf{P}^{-1}):\textbf{S}_Y=\frac{1}{n-1}\textbf{P}(\textbf{X}\textbf{X}^T)\textbf{P}^T=\frac{1}{n-1}\textbf{P}(\textbf{P}^T\textbf{D}\textbf{P})\textbf{P}^T=\frac{1}{n-1}(\textbf{P}\textbf{P}^{-1})\textbf{D}(\textbf{P}\textbf{P}^{-1})=\frac{1}{n-1}\textbf{D}
即我们可以将\textbf{S}_Y对角化。

而SVD来源于另外的一套数学概念,不过我们将要说明这套概念和PCA是内在关联的。不同于特征值分解,SVD(奇异值分解)可以作用于任何形状的矩阵。于是我们则定义对\textbf{X}的SVD为\textbf{X}=\textbf{U}\Sigma\textbf{V}^T,其中\textbf{U},\textbf{V}是两个正交阵而\Sigma是对角阵(对角元是\textbf{X}的奇异值,即singular values)。我们由此也可以看到SVD比特征值分解要强得多的泛用性,这也是它广泛被用于数值计算的原因。

那么它与PCA的关系呢?我们考虑\textbf{S}_X的SVD表示方式:\textbf{S}_X=\frac{1}{n-1} \textbf{V}\Sigma \textbf{U}^T\textbf{U}\Sigma\textbf{V}^T=\frac{1}{n-1}\textbf{V}\Sigma^2\textbf{V}^T,所以到这里答案就很明显了,我们只需要取另一个投影矩阵\textbf{P}=\textbf{V}^T就可以将\textbf{S}_Y对角化,即\textbf{V}的列是principal components。顺便,我们得到了一个副产品奇异值和特征值的关系:\lambda_i=\frac{1}{n-1}s_i^2,其中\lambda_i,s_i\textbf{S}_X\Sigma相应的特征值和奇异值。因此,我们得到了SVD是PCA的另一种algebraic formulation。而这也提供了另外一种算法来计算PCA,实际上,平时我就是用SVD定义的这套算法来做PCA的。因为很方便,计算一次就可以了。

额外补充一点,经常我们希望用PCA对\textbf{X}进行压缩,比如只保留k<p维度的数据,这个时候我们只需要仅保留\textbf{V}的前k列(前k个principal components),记作\textbf{V}_k,然后\textbf{V}_k^T\textbf{X}就是我们所要的压缩后的数据。


数据降维处理:PCA之奇异值分解(SVD)介绍

请点击上面公众号,免费订阅。  《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!...
  • xo3ylAF9kGs
  • xo3ylAF9kGs
  • 2017-12-08 00:00:00
  • 146

SVD与PCA,奇异值分解与主成分分析的比较

一般来说,想要获得低维的子空间,最简单的是对原始的高维空间进行线性变换(当然了,非线性也是可以的,如加入核函数,比较著名的就是KPCA)。SVD和PCA呢,都实现了降维与重构,但是呢,思路不太一样,老...
  • zhangdadadawei
  • zhangdadadawei
  • 2016-03-19 09:42:21
  • 7200

PCA 主成分分析 奇异值分解

奇异值与主成分分析(PCA) 【转载】原文出处:http://blog.sina.com.cn/s/blog_4b16455701016ada.html   PCA的问题其实是一个基的变换,...
  • yangyangyang20092010
  • yangyangyang20092010
  • 2013-01-05 15:38:40
  • 2850

特征值分解、奇异值分解、PCA概念整理

本文将分别介绍特征值分解、奇异值分解、及PCA的相关理论概念。 文章末尾将给出Householder矩阵变换、QR算法求解特征值、特征向量的代码 其中,特征值分解、奇异值分解的相关内容,转载自: ht...
  • jinshengtao
  • jinshengtao
  • 2014-01-18 14:21:25
  • 48451

奇异值分解及应用(PCA&LSA)

这里我省去了很多的数学知识,建议数学比较薄弱的读者可以先看看信息检索导论>第18章。主要的数学知识包括方阵的特征值、特征向量;方阵的对角化;一般矩阵的奇异值分解及低秩逼近矩阵。这里主要讲解奇异值分解的...
  • Lu597203933
  • Lu597203933
  • 2015-05-21 23:10:48
  • 2622

奇异值分解(SVD)原理与在降维中的应用

转载自:http://www.cnblogs.com/pinard/p/6251584.html 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领...
  • puredreammer
  • puredreammer
  • 2017-10-24 15:17:49
  • 213

奇异值分解(SVD)和主成分分析(PCA)

矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到。如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应...
  • ch1209498273
  • ch1209498273
  • 2017-10-29 14:22:33
  • 244

主成份(PCA)与奇异值分解(SVD)的通俗解释

主成分分析 1.问题描述   在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程...
  • hongqiang200
  • hongqiang200
  • 2014-07-31 16:58:38
  • 14103

奇异值(Singular value decomposition SVD)分解

原文地址:http://blog.csdn.net/wangzhiqing3/article/details/7446444 SVD分解 SVD分解是LSA的数学基础,本文是我的LSA学习笔记...
  • yuanchheneducn
  • yuanchheneducn
  • 2015-06-03 09:24:13
  • 1185
收藏助手
不良信息举报
您举报文章:PCA与奇异值分解的关系,奇异值降维网络原理
举报原因:
原因补充:

(最多只允许输入30个字)