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