Hello,David!

There is geometry in the humming of the strings, there is music in the spacing of the spheres.

0%

主成分分析PCA

本文阐述如何通过 协方差矩阵奇异值分解 理解 主成分分析PCA

数据降维问题:

我们想对一个feature过多的数据集进行降维:假设我们有一个m个样本点的数据集:$\left{x^{(i)} ; i=1, \ldots, m\right}$,其中$x^{(i)} \in \mathbb{R}^{n}$。其中n很大,很多属性对我们的数据分析问题作用不大。我们想通过基变换,把n维空间中的样本点映射到$\mathbb{R}^{n}$的k维子空间中。其中$k \ll n$。这k个基能最大地保留原始数据集的信息,使原数据集的信息损失最少。

我们的原始数据集如下图所示,以$\mathbb{R}^{2}$为例:
PCA

如何通过协方差矩阵的奇异值分解来理解主成分分析PCA呢?观察上图,在2维平面上我们有m个样本点,这m个样本点我们以自然基$\mathrm{\vec e}{1}:(1,0)$和$\mathrm{\vec e}{2}:(0,1)$下的坐标来表示。我们对这个m个样本点构造一个matrix:

那么这个数据集的协方差矩阵是$\Sigma=\frac{1}{m} X X^{T}$。在这一步之前我们需要对数据集进行预处理:

先normalizing这个数据集,使其各分量均值为0,方差为1。均值为0是为了协方差矩阵不用减去均值,方差为1是为了在同一个量级下比较。
协方差矩阵的元素$\Sigma_{ij}$是数据集:$\left{x^{(i)} ; i=1, \ldots, m\right}$的第i和第j分量的协方差,协方差矩阵对角线上的元素为各个分量的方差。

对于图中数据集样本点的分布,我们可以明显看出,在自然基表示下的各个点的坐标,不同分量之间的协方差是不为零的,那么我就想找到新的基,使这m个点在这个新基$\mathrm{\vec u}{1}$和$\mathrm{\vec u}{2}$的表示下,各个分量之间的协方差为零。矩阵$X$的各个点在新基$\mathrm{\vec u}{1}$和$\mathrm{\vec u}{2}$下的坐标为$\left{y^{(i)} ; i=1, \ldots, m\right}$,那么经过基变换之后,矩阵$X$变成:

在这里我们要牢记并理解一个线性代数基础概念:基变换与坐标变换,在同济大学《线性代数》第六版第148页,我们这里复习下,不熟悉的同学可以回去翻教材。

基变换与坐标变换

同一向量在不同的基中有不同的坐标,不同的基与不同的坐标之间有怎样的关系呢?
设$\boldsymbol{\alpha}{1}, \cdots, \boldsymbol{\alpha}{n}$及$\boldsymbol{\beta}{1}, \cdots, \boldsymbol{\beta}{n}$是线性空间$V_{n}$中的两个基

把$\boldsymbol{\alpha}{1}, \boldsymbol{\alpha}{2}, \cdots, \boldsymbol{\alpha}{n}$这n个有序向量记作$\left(\boldsymbol{\alpha}{1}, \boldsymbol{\alpha}{2}, \cdots, \boldsymbol{\alpha}{n}\right)$,记n阶矩阵$\boldsymbol{P}=\left(p_{i j}\right)$,利用向量和矩阵的形式,上式可表示为

上面两式称为基变换公式,矩阵$\boldsymbol{P}$称为由基$\boldsymbol{\alpha}{1}, \boldsymbol{\alpha}{2}, \cdots, \boldsymbol{\alpha}{n}$到基$\boldsymbol{\beta}{1}, \boldsymbol{\beta}{2}, \cdots, \boldsymbol{\beta}{n}$的过渡矩阵。由于$\boldsymbol{\beta}{1}, \boldsymbol{\beta}{2}, \cdots, \boldsymbol{\beta}_{n}$线性无关,故过渡矩阵$\boldsymbol{P}$可逆。

定理 设$V{n}$中的向量$\boldsymbol{\alpha}$在基$\boldsymbol{\alpha}{1}, \boldsymbol{\alpha}{2}, \cdots, \boldsymbol{\alpha}{n}$中的坐标为$\left(x{1}, x{2}, \cdots, x{n}\right)^{\mathrm{T}}$,在基$\boldsymbol{\beta}{1}, \boldsymbol{\beta}{2}, \cdots, \boldsymbol{\beta}{n}$中的坐标为$\left(x{1}^{\prime}, x{2}^{\prime}, \cdots, x_{n}^{\prime}\right)^{\mathrm{T}}$,若两个基满足上面两个关系式,则有坐标变换公式

证明:因为

由于$\boldsymbol{\alpha}{1}, \boldsymbol{\alpha}{2}, \cdots, \boldsymbol{\alpha}_{n}$线性无关,证毕。


那么根据以上概念,我们从自然基$\mathrm{\vec e}{1} \mathrm{\vec e}{2} \dots \mathrm{\vec e}{n}$到$\mathrm{\vec u}{1} \mathrm{\vec u}{2} \dots \mathrm{\vec u}{n}$的基变换公式是:

其中自然基矩阵为单位阵,所以过渡矩阵$\boldsymbol{P}$为:

新的基$\boldsymbol{u}{1}, \boldsymbol{u}{2}, \cdots, \boldsymbol{u}_{n}$彼此正交,长度为1。所以过渡矩阵$\boldsymbol{P}$为正交矩阵!

设$\mathbb{R}^{n}$中的向量$\boldsymbol{\alpha}$在基$\boldsymbol{e}{1}, \boldsymbol{e}{2}, \cdots, \boldsymbol{e}{n}$中的坐标为$\left(x{1}, x{2}, \cdots, x{n}\right)^{\mathrm{T}}$,在基$\boldsymbol{u}{1}, \boldsymbol{u}{2}, \cdots, \boldsymbol{u}{n}$中的坐标为$\left(x{1}^{\prime}, x{2}^{\prime}, \cdots, x{n}^{\prime}\right)^{\mathrm{T}}$,若两个基满足上面关系式,则有坐标变换公式

我们通过基变换,有坐标变换:

于是我们发现:旧自然基下的协方差矩阵$\Sigma=\frac{1}{m} X X^{T}$和新基下的协方差矩阵$\Sigma^{\prime}=\frac{1}{m} Y Y^{T}$之间的关系是:

其中$\Sigma^{\prime}$是对角阵,$\boldsymbol{P}$是正交矩阵。关键来了!

结论:

我们对数据集m个样本点在旧自然基下的协方差矩阵$\Sigma=\frac{1}{m} X X^{T}$有奇异值分解:

$\Sigma=\frac{1}{m} X X^{T}=P\Sigma^{\prime}P^{T}$,其中对角矩阵$\Sigma^{\prime}=\frac{1}{m} Y Y^{T}$,$P$是过渡矩阵。

对角阵$\Sigma^{\prime}$的对角线上是从大到小排列的奇异值,我们取前k个奇异值,这k个奇异值对应的奇异向量,就是我们要找的新的k个基$\boldsymbol{u}{1}, \boldsymbol{u}{2}, \cdots, \boldsymbol{u}_{k}$