非线性降维方法假设潜在变量由观测变量的非线性映射给出。非线性降维方法非常流行。它们比线性变量更强大,因为潜在变量和观测变量之间的关系可能比简单的矩阵乘法更丰富。这些映射是大量变量的函数,需要大量的数据集样本和计算能力。例如MDS(多维缩放)、ISOMAP(等距映射)、LLE(局部线性嵌入)e.t.c。

MDS意味着多维缩放。它不是一个单一的方法,而是一系列方法。MDS采用相异矩阵D,其中Dij表示点i和j之间的差异,并在低维上生成一个映射,尽可能地保持不相似性。可以从给定的数据集观察或计算不相似矩阵。MDS在社会学、人类学等人文科学领域,尤其是在心理科学领域得到了广泛的普及和发展。
让我们用一个例子来更好地理解它。下表显示了1970年美国不同类型犯罪率之间的相关性。即使对于少数变量,我们也无法理解相关系数的结构。
MDS可分为多个类别-
Metric MDS——Metric MDS用于定量数据,并试图保留原始的差异性度量。给定不同矩阵D、单调函数f和p(子空间中的维数)度量MDS试图找到最优配置。度量MDS的另一个版本是经典MDS(原始MDS)公式,它提供了封闭形式的解决方案。在尝试在低维近似相异度量的同时,它使用特征值分解进行求解。

非度量MDS-非度量MDS用于顺序数据。它试图保持不同度量的顺序不变。
我们将使用SMACOF(复杂函数优化缩放)算法实现度量MDS。在深入研究度量MDS的实现之前,我们需要了解一点优化的MM(主要化-次要化)算法。

MM寻找函数的最优解MM for finding an optima of a function

MM算法是一种寻找复函数最优解的迭代算法。假设我们有一个函数f(x),我们需要找到它的最小值。与直接优化 f (x) MM 不同,MM 使用了一个逼近函数G (x,xm)来寻找最优解。如果问题是找到f(x)的最小值,g(x,xm)被称为主要函数,或者称为次要函数xm被称为支撑点。
如果g(x,xm)是f(x)的优函数,它必须满足以下条件

优化g(x,xm)应该比f(x)容易。
对于任何x,f(x)≤g(x,xm)
teps of MM algorithm

  1. choose a random support point xm
  2. find xmin = arg⁡minxg(x,xm)
  3. if f(xmin)−f(xm)≈ϵ where ϵ is a very small number else go to step 4
  4. set xm=xmin and go to step 2
    We will understand these steps better with the help of widget below.

MDS的步骤

  1. 创建一个相异矩阵。
  2. 选择一个随机点 X m作为枢轴。
  3. 求应力大化函数的最小值。
  4. 如果 σ(X m ) − σ(X min ) < e break else 设置 X m =X min 并转到步骤 2

https://github.com/asdspal/dimRed/blob/master/MDS.ipynb
https://github.com/asdspal/dimRed
https://blog.csdn.net/zhangweiguo_717/article/details/71248531
https://blog.paperspace.com/dimension-reduction-with-multi-dimension-scaling/