一、简介

  1. 为什么需要降维

数据的维度过高容易造成维数灾难(Curse of Dimensionality)。.
维数灾难:通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。
这里可以举两个几何的例子来看一下维数过高的影响:
主成成分分析 - 图1
example1
上图表示一个多维空间(以二维为例),则其中图形的体积有如下关系:

主成成分分析 - 图2

上式也就表明当数据的维度过高时,数据主要存在于空间的边边角角的地方,这也就造成了数据的稀疏性。
主成成分分析 - 图3
example2
上图也表示一个多维空间(以二维为例),则其中图形的体积有如下关系:

主成成分分析 - 图4

可以看到当数据的维度过高时,数据主要存在于球壳上,类似于人的大脑皮层。

  1. 降维的方法

降维可以作为一种防止过拟合的方式,其具体的方法包含下列几种:
主成成分分析 - 图5
特征选择是一种直接剔除主观认为不重要的特征的过程。
本文接下来的部分主要介绍主成分分析(PCA)。

二、样本均值与样本方差

  1. 概述

假设有以下数据:

主成成分分析 - 图6

  1. 样本均值与样本方差

以下定义了数据的样本均值与样本方差:

主成成分分析 - 图7

接下来需要对样本均值与样本方差进行一些变换来获得其另一种表示形式:

主成成分分析 - 图8

中心矩阵主成成分分析 - 图9具备以下性质:

主成成分分析 - 图10

因此最终可以得到

主成成分分析 - 图11

三、主成分分析的思想

总结起来就是:

一个中心:PCA是对原始特征空间的重构,将原来的线性相关的向量转换成线性无关的向量; 两个基本点:最大投影方差和最小重构距离,这是本质相同的两种方法,在接下来的部分将具体介绍。

PCA首先要将数据中心化(即减去均值)然后投影到一个新的方向上,这个新的方向即为重构的特征空间的坐标轴,同时也要保证投影以后得到的数据的方差最大,即最大投影方差,这样也保证了数据的重构距离最小。

四、最大投影方差

假设投影方向为主成成分分析 - 图12,由于我们只关注投影的方向,因此将主成成分分析 - 图13的模设置为主成成分分析 - 图14,即主成成分分析 - 图15,则中心化后的数据在主成成分分析 - 图16方向上的投影为主成成分分析 - 图17,是一个标量。按照最大投影方差的思想,我们定义损失函数如下:

1:已经做了中心化,所以均值为0,方差就直接平方 2:转置也一样? 主成成分分析 - 图18

因此该问题就转换为以下最优化问题:

主成成分分析 - 图19

然后使用拉格朗日乘子法进行求解:

1:矩阵求导 主成成分分析 - 图20

最后解得符合条件的向量是协方差矩阵主成成分分析 - 图21的特征向量。如果想要降到主成成分分析 - 图22维(主成成分分析 - 图23),则只需要将对应特征值最大的前主成成分分析 - 图24个特征向量取出来作为投影方向然后获得数据在这些方向上的投影即为重构的坐标,即:

主成成分分析 - 图25

特征向量表示投影变换的方向,特征值表示投影变换的强度。通过降维,我们希望减少冗余信息,提高识别的精度,或者希望通过降维算法来寻找数据内部的本质结构特征。找最大的特征值是因为 ,在降维之后要最大化保留数据的内在信息,并期望在所投影的维度上的离散最大。

五、最小重构距离

最小重构距离是另一种求解的方法,其本质上和最大投影方差是相同的。
我们知道有主成成分分析 - 图26个投影方向符合条件,因此原来的数据可以表示为以下形式,降维的数据也就是舍弃掉第主成成分分析 - 图27到第主成成分分析 - 图28这几个方向上的信息。

主成成分分析 - 图29

因此重构距离也就是指主成成分分析 - 图30,本着最小化重构距离的思想我们可以设置新的损失函数如下:

主成成分分析 - 图31

然后就可以转化为以下最优化问题:

主成成分分析 - 图32

显然这里的每个主成成分分析 - 图33是可以单独求解的,最终也可以解得主成成分分析 - 图34是协方差矩阵主成成分分析 - 图35的特征向量,只不过这里的主成成分分析 - 图36是对应特征值较小的几个特征向量。

六、SVD角度看PCA和PCoA

协方差矩阵主成成分分析 - 图37的特征分解:

主成成分分析 - 图38

主成成分分析 - 图39中心化的结果主成成分分析 - 图40做奇异值分解:

主成成分分析 - 图41

接下里可以做以下变换:

主成成分分析 - 图42

接下来我们构造矩阵主成成分分析 - 图43

主成成分分析 - 图44

对比主成成分分析 - 图45主成成分分析 - 图46,我们可以发现:
①将主成成分分析 - 图47进行特征分解然后得到投影的方向,也就是主成分,然后矩阵主成成分分析 - 图48即为重构坐标系的坐标矩阵;
②将主成成分分析 - 图49进行特征分解可以直接获得坐标矩阵主成成分分析 - 图50
(注意应保证主成成分分析 - 图51主成成分分析 - 图52特征分解得到的特征向量是单位向量。)
关于为什么将主成成分分析 - 图53进行特征分解可以直接获得坐标矩阵,现做以下解释:

主成成分分析 - 图54

使用主成成分分析 - 图55进行特征分解的方法叫做主坐标分析(Principal Co-ordinates Analysis,PCoA)。
这两种⽅法都可以得到主成分,但是由于⽅差矩阵是主成成分分析 - 图56的,⽽主成成分分析 - 图57主成成分分析 - 图58的,所以对样本量较少的时候可以采⽤ PCoA的⽅法。

七、概率PCA(p-PCA)

  1. 概述

假设有以下数据:

主成成分分析 - 图59

其中主成成分分析 - 图60是原始数据,主成成分分析 - 图61是降维后的数据,可以将主成成分分析 - 图62看做隐变量(latent variable),主成成分分析 - 图63看做观测变量(observed variable),则p-PCA就可以看做生成模型。
主成成分分析 - 图64主成成分分析 - 图65满足以下关系:

主成成分分析 - 图66

这是一个线性高斯模型,其中主成成分分析 - 图67是噪声,主成成分分析 - 图68主成成分分析 - 图69是独立的。求解这个模型要经过两个阶段:
①inference:求主成成分分析 - 图70
②learning:使用EM算法求解参数主成成分分析 - 图71
主成成分分析 - 图72的生成过程如下:
主成成分分析 - 图73
生成过程
上图中数据空间为⼆维,潜在空间为⼀维。⼀个观测数据点主成成分分析 - 图74的⽣成⽅式为:⾸先从潜在变量的先验分布主成成分分析 - 图75中抽取⼀个潜在变量的值主成成分分析 - 图76,然后从⼀个各向同性的⾼斯分布(⽤红⾊圆圈表示)中抽取⼀个主成成分分析 - 图77的值,这个各向同性的⾼斯分布的均值为主成成分分析 - 图78,协⽅差为主成成分分析 - 图79。绿⾊椭圆画出了边缘概率分布主成成分分析 - 图80的密度轮廓线。

  1. 推断(inference)

求解主成成分分析 - 图81的过程如下:

主成成分分析 - 图82

  • 主成成分分析 - 图83

    主成成分分析 - 图84

  • 主成成分分析 - 图85

    主成成分分析 - 图86

  • 主成成分分析 - 图87

该问题和高斯分布|机器学习推导系列(二)中第六部分的问题是类似的。

主成成分分析 - 图88

利用高斯分布|机器学习推导系列(二)中第五部分的公式可以求解主成成分分析 - 图89

主成成分分析 - 图90

  1. 学习(learning)

使用EM算法求解,这里不做展示。

参考资料

ref:降维时为什么找最大的特征值对应的特征向量
ref:《模式识别与机器学习》