降维简介
在高维情形下出现的数据样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为“维数灾难”。缓解维数灾难的一个重要途径是降维,即通过某种数学变换将原始高维属性空间转变为一个低维“子空间”,在这个子空间中样本密度大幅提高,距离计算也变得更为容易。
为什么能降维?人们观测或收集到的数据样本虽是高维的,但学习任务密切相关的也许仅是某个低维分布,即高维空间中的一个低维嵌入。
降维要考虑的事情是如何在低维空间中尽可能多的、尽可能好的表征高维空间中的某些特性。根据高维空间到低维空间的要求我们就得到了不同的降维方法。
- 多维缩放(MDS):要求原始空间中样本之间的距离在低维空间中得以保持。
- 主成分分析(PCA):对原始空间的重构相关->无关,要求最大投影方差或最小重构距离。
- 核化线性降维(KPCA):与PCA相似,只是引用了核函数来解决非线性的问题。
流形学习:“流行”结构在局部上与欧氏距离空间具有相同性质
- 等度量映射(Isomap):要求在流形上两点最近距离与低维空间上的欧氏最近距离保持
- 局部线性嵌入(LLE):要求高维空间上具有的线性关系在低维空间上得以保持
t-SNE基本原理
- 在高维空间上构建一个概率分布拟合高维样本点之间的相对位置关系
- 在低维空间上也构建一个概率分布,拟合低维样本点的位置关系
- 通过学习,调整低维数据点,使得两分布接近,即使得两者的KL距离最小
给定样本点{x},样本的分布特性可利用其联合概率密度函数P描述:
给定低维度投影点{y},投影点的分布特征可以利用其联合概率Q描述:
在给定样本{x}的条件下,寻找投影点{y},使得两者的联合概率密度最接近,利用KL距离描述为:
样本{x}的概率选择距离+高斯函数构造:
投影点{y}的概率t-分布构造(所以称为t-SNE):
原始SNE模型都采用高斯函数计算联合概率,但效果不好,故目前t-SNE更为流行