降维

高维空间会出现样本稀疏,距离计算困难等问题,是所有机器学习方面共同面临的严重障碍,被称为“维数灾难”,缓解“维数灾难”的重要途径是降维,即通过某种数学变换将高维空间转变为一个低维“子空间”,在这个子空间中样本密度大幅提高,距离计算也变得容易。

原始降维方法MDS(多维缩放)

原始降维方法是想在降维以后,保持样本在原始空间内的距离不变,即降维前后它们共享一个距离矩阵今天咕咕咕,放一个之前写的降维算法 - 图1,它主要步骤是:

  1. 计算原始样本的距离矩阵今天咕咕咕,放一个之前写的降维算法 - 图2
  2. 假设矩阵今天咕咕咕,放一个之前写的降维算法 - 图3是降维后的内积矩阵,今天咕咕咕,放一个之前写的降维算法 - 图4为降维后的矩阵。根据共享距离矩阵和降维后内积矩阵的关系,求得内积矩阵的每个元素,即求得今天咕咕咕,放一个之前写的降维算法 - 图5
  3. 今天咕咕咕,放一个之前写的降维算法 - 图6进行特征值分解,即今天咕咕咕,放一个之前写的降维算法 - 图7,求得今天咕咕咕,放一个之前写的降维算法 - 图8今天咕咕咕,放一个之前写的降维算法 - 图9为非0特征值矩阵,今天咕咕咕,放一个之前写的降维算法 - 图10为对应的特征向量,有时候我们不比严格要求其矩阵完全相等,即可以取今天咕咕咕,放一个之前写的降维算法 - 图11个最大的特征值对应的特征向量进行乘积得到一个今天咕咕咕,放一个之前写的降维算法 - 图12维的降维矩阵。今天咕咕咕,放一个之前写的降维算法 - 图13

    PCA降维

    一般来说,想要简单获得一个低维子空间,最简单的方式是对高维空间进行线性变换,即今天咕咕咕,放一个之前写的降维算法 - 图14,而降维后的今天咕咕咕,放一个之前写的降维算法 - 图15今天咕咕咕,放一个之前写的降维算法 - 图16维的。而变换矩阵今天咕咕咕,放一个之前写的降维算法 - 图17可以被看作是今天咕咕咕,放一个之前写的降维算法 - 图18今天咕咕咕,放一个之前写的降维算法 - 图19维基向量,而今天咕咕咕,放一个之前写的降维算法 - 图20今天咕咕咕,放一个之前写的降维算法 - 图21在新的坐标系今天咕咕咕,放一个之前写的降维算法 - 图22中的坐标向量。若今天咕咕咕,放一个之前写的降维算法 - 图23正交,则今天咕咕咕,放一个之前写的降维算法 - 图24为正交变换,显然新空间下的属性是原空间属性线性变换的结果。
    主成分分析PCA的思想是:对于正交属性空间中的样本点,我们该如何用一个超平面对所有样本进行恰的表达,这个超平面应满足:

  4. 最近重构性:样本点到这个超平面的距离都足够近

  5. 最大可分性:样本点在这个超平面上的投影尽可能分开

根据最近重构性和最大可分性可以得到等价的PCA降维推导结果。
以最大可分性为例:样本点今天咕咕咕,放一个之前写的降维算法 - 图25在新空间中超平面上的投影是今天咕咕咕,放一个之前写的降维算法 - 图26,若所有样本点都要尽可能分开,那么应该使得投影后样本点的方差最大化,即今天咕咕咕,放一个之前写的降维算法 - 图27,限制条件是正交坐标系,即今天咕咕咕,放一个之前写的降维算法 - 图28。使用拉格朗日乘子法可得今天咕咕咕,放一个之前写的降维算法 - 图29,因此只需要对协方差矩阵今天咕咕咕,放一个之前写的降维算法 - 图30进行特征值分解,取其最大今天咕咕咕,放一个之前写的降维算法 - 图31个特征值对应的特征向量构成今天咕咕咕,放一个之前写的降维算法 - 图32作为PCA的解。