无监督第二节:SVD及和PCA之间的关系

2020-04-11  本文已影响0人  数据小新手

1. 特征值分解 & 奇异值分解

上面说到通过对协方差矩阵进行特征值分解(Eigen Values Decomposition)可以得到主成分,实际上也可以不用求解协方差矩阵,而是直接对数据矩阵X 进行奇异值分解(Sigular Values Decomposition)即可。

矩阵的奇异值分解是指

X=U\Sigma V^T
其中

image.png

, 是列正交矩阵,

image.png
是对角元素大于等于零,其余元素都为零的矩阵,对角线上的元素为矩阵 的奇异值,并且依次递减。

假若我们获得了奇异值分解的结果,选择U的前 k 列,Sigma的左上 (k, k)的矩阵, V 的前k列,那么我们有

X=U_k\Sigma_kV_k^T
其中

image.png
可以当作降维后的矩阵, image.png
可以当作我们要求的矩阵,也被称为主成分(Components)。

下面推导:

image.png

从上面推导可以看出矩阵X^TX的第 j 个特征向量实际上就是V的第 j 列,这就是为什么V_K^T 就是我们要寻找的A了。

关于特征值与奇异值,有以下关系:

由于是奇异值分解,并且数据矩阵进行了零均值化,所以k\leq min\{ n-1,d\}

可以看出奇艺值是X^TXXX^T 的特征值的平方根。

2..PCA 和SVD之间的关系

1.从上面的PCA 和SVD的推导中可以发现,奇异值的平方与N-1的乘积就是PCA中协方差矩阵的特征值。单实际中去中心化的协方差矩阵的特征值是否除以m-1对特征值的相互关系没有影响,所以实际操作中一般不会除以m-1.

2.SVD 的分解结果均为正 is purely conventional. 因为我们在开根号时其实可以取正,也可以取负。但是惯例来讲我们都取正。但是在PCA中没有这个限制,有些向量的关系可能为负,这样他们的PCA也可能为负的。

reference:
https://blog.csdn.net/Dark_Scope/article/details/53150883

https://math.stackexchange.com/questions/2060572/why-are-singular-values-always-non-negative

https://stats.stackexchange.com/questions/107527/are-svd-singular-value-decomposition-values-always-positive-is-there-a-relati

https://towardsdatascience.com/svd-8c2f72e264f

https://towardsdatascience.com/pca-and-svd-explained-with-numpy-5d13b0d2a4d8

上一篇 下一篇

猜你喜欢

热点阅读