降维算法是机器学习中的重要一部分,通常用的比较多的算法有线性判别分析(LDA)与主成分分析(PCA)等。在此基础上,还有中算法,即流形学习,在计算机视觉中有着广泛的应用。由于直接计算高维特征空间的距离具有很高的错误率(如图所示,高维空间的距离并不合理),例如,在现实生活中,计算北京到华盛顿之间的距离,如果直接透过地球内部直接计算两点之间直线距离是不合适的,最好的办法是围绕地球表面,在微小的局部上计算直线距离,然后将所有局部距离加起来才更合理。即高维曲面上的两点距离最好的计算方法是通过计算局部空间近邻距离的方式更为合理。
而在流形学习中,常见的算法有Isometric Mapping(即等度量映射),局部线性嵌入(Locally Linear Embedding)等,其中在介绍Isometric Mapping算法之前,需要先介绍一下多维缩放算法(MDS),MDS算法与PCA算法均为降维算法的一种。其主要思想是构造低维空间的内积矩阵,使得该内积矩阵中所表达的任意两点之间的距离与高维空间的相应两点距离相等,然后通过对该内积矩阵进行正交特征值分解,析出两个矩阵相乘(即矩阵与矩阵的转置进行相乘)的形式,获得最终的变换矩阵。
现假设有m个样本的高维空间的距离矩阵为,其中
表示样本
与样本
之间的距离。而我们的目标是在低维空间的表示
,
,同时,还要满足高维空间的对应两个样本点在低维空间之间同样相等,即
。
现假设低维空间的内积矩阵为,其中
,即表示低维空间两点之间的距离。
接下来的几步西瓜书上的推导其实就是在凑出一种形式,使其满足上面对应的高维空间两点与低维空间两点距离相等的条件。
由于直接衡量距离比较困难,即对于的处理并不容易(就像函数中绝对值问题往往会带来不便求导数的问题一样,一般选择将绝对值转化为平方的方式来求解)。
则此时我们有: