一、简介
- 为什么需要降维
数据的维度过高容易造成维数灾难(Curse of Dimensionality)。.
维数灾难:通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。
这里可以举两个几何的例子来看一下维数过高的影响:
example1
上图表示一个多维空间(以二维为例),则其中图形的体积有如下关系:
上式也就表明当数据的维度过高时,数据主要存在于空间的边边角角的地方,这也就造成了数据的稀疏性。
example2
上图也表示一个多维空间(以二维为例),则其中图形的体积有如下关系:
可以看到当数据的维度过高时,数据主要存在于球壳上,类似于人的大脑皮层。
- 降维的方法
降维可以作为一种防止过拟合的方式,其具体的方法包含下列几种:
特征选择是一种直接剔除主观认为不重要的特征的过程。
本文接下来的部分主要介绍主成分分析(PCA)。
二、样本均值与样本方差
- 概述
假设有以下数据:
- 样本均值与样本方差
以下定义了数据的样本均值与样本方差:
接下来需要对样本均值与样本方差进行一些变换来获得其另一种表示形式:
中心矩阵具备以下性质:
因此最终可以得到
三、主成分分析的思想
总结起来就是:
一个中心:PCA是对原始特征空间的重构,将原来的线性相关的向量转换成线性无关的向量; 两个基本点:最大投影方差和最小重构距离,这是本质相同的两种方法,在接下来的部分将具体介绍。
PCA首先要将数据中心化(即减去均值)然后投影到一个新的方向上,这个新的方向即为重构的特征空间的坐标轴,同时也要保证投影以后得到的数据的方差最大,即最大投影方差,这样也保证了数据的重构距离最小。
四、最大投影方差
假设投影方向为,由于我们只关注投影的方向,因此将的模设置为,即,则中心化后的数据在方向上的投影为,是一个标量。按照最大投影方差的思想,我们定义损失函数如下:
1:已经做了中心化,所以均值为0,方差就直接平方 2:转置也一样?
因此该问题就转换为以下最优化问题:
然后使用拉格朗日乘子法进行求解:
1:矩阵求导
最后解得符合条件的向量是协方差矩阵的特征向量。如果想要降到维(),则只需要将对应特征值最大的前个特征向量取出来作为投影方向然后获得数据在这些方向上的投影即为重构的坐标,即:
特征向量表示投影变换的方向,特征值表示投影变换的强度。通过降维,我们希望减少冗余信息,提高识别的精度,或者希望通过降维算法来寻找数据内部的本质结构特征。找最大的特征值是因为 ,在降维之后要最大化保留数据的内在信息,并期望在所投影的维度上的离散最大。
五、最小重构距离
最小重构距离是另一种求解的方法,其本质上和最大投影方差是相同的。
我们知道有个投影方向符合条件,因此原来的数据可以表示为以下形式,降维的数据也就是舍弃掉第到第这几个方向上的信息。
因此重构距离也就是指,本着最小化重构距离的思想我们可以设置新的损失函数如下:
然后就可以转化为以下最优化问题:
显然这里的每个是可以单独求解的,最终也可以解得是协方差矩阵的特征向量,只不过这里的是对应特征值较小的几个特征向量。
六、SVD角度看PCA和PCoA
协方差矩阵的特征分解:
将中心化的结果做奇异值分解:
接下里可以做以下变换:
接下来我们构造矩阵:
对比和,我们可以发现:
①将进行特征分解然后得到投影的方向,也就是主成分,然后矩阵即为重构坐标系的坐标矩阵;
②将进行特征分解可以直接获得坐标矩阵。
(注意应保证和特征分解得到的特征向量是单位向量。)
关于为什么将进行特征分解可以直接获得坐标矩阵,现做以下解释:
使用进行特征分解的方法叫做主坐标分析(Principal Co-ordinates Analysis,PCoA)。
这两种⽅法都可以得到主成分,但是由于⽅差矩阵是的,⽽是的,所以对样本量较少的时候可以采⽤ PCoA的⽅法。
七、概率PCA(p-PCA)
- 概述
假设有以下数据:
其中是原始数据,是降维后的数据,可以将看做隐变量(latent variable),看做观测变量(observed variable),则p-PCA就可以看做生成模型。
和满足以下关系:
这是一个线性高斯模型,其中是噪声,与是独立的。求解这个模型要经过两个阶段:
①inference:求
②learning:使用EM算法求解参数。
的生成过程如下:
生成过程
上图中数据空间为⼆维,潜在空间为⼀维。⼀个观测数据点的⽣成⽅式为:⾸先从潜在变量的先验分布中抽取⼀个潜在变量的值,然后从⼀个各向同性的⾼斯分布(⽤红⾊圆圈表示)中抽取⼀个的值,这个各向同性的⾼斯分布的均值为,协⽅差为。绿⾊椭圆画出了边缘概率分布的密度轮廓线。
- 推断(inference)
求解的过程如下:
求
求
求
该问题和高斯分布|机器学习推导系列(二)中第六部分的问题是类似的。
利用高斯分布|机器学习推导系列(二)中第五部分的公式可以求解:
- 学习(learning)
参考资料
ref:降维时为什么找最大的特征值对应的特征向量
ref:《模式识别与机器学习》