如何嵌入欧几里得空间
机器算法验证
机器学习
降维
多维尺度
嵌入
2022-04-05 23:56:44
2个回答
这些被称为多维缩放算法。来自维基百科(https://en.wikipedia.org/wiki/Multidimensional_scaling),“MDS算法旨在将每个对象放置在 N 维空间中,以便尽可能保留对象之间的距离。” 所以基本上你输入一个距离矩阵,算法输出一个应该近似距离的欧几里得表示。在您的情况下,您有相似度分数,因此您需要取倒数(距离 = 1 / 相似度)或从大常数中减去相似度(距离 = c - 相似度)。
在原始度量下相似的向量在嵌入下具有较小的欧几里得距离
这是降维的目标,尤其是非线性降维,它是唯一的目标(因为它们通常不能强制相距很远的点之间的距离不会失真,如果你有兴趣证明你可以找到它在这里)。
一些方法:
- 多维缩放
- Isomap(这是一种非线性方法,使用 MDS 从 kNN 图中检索距离)
- 内核 PCA(使用内核技巧在嵌入空间中进行 PCA)
- 基于图的降维(您的距离矩阵定义了一个图,并且图产生了有用的矩阵,请查看A tutorial on Spectral Clustering。在 Python megaman 实现Spectral Embedding)
- tSNE(减少维度试图保持距离分布)
如果您特别对 Python 感兴趣,那么几乎所有这些方法都在scikit-learn中实现,尤其是在流形模块中。
其它你可能感兴趣的问题