gpt4 book ai didi

python - 是否有用于不同范数向量空间之间坐标转换的python算法?

转载 作者:行者123 更新时间:2023-12-05 07:01:38 26 4
gpt4 key购买 nike

假设我有一个 kxn 数据数组,其中包含向量列和在这些向量上定义的距离函数。如何将 kxn 数组转换为另一个相同形状的数组,以便转换后的向量中的欧几里德范数是由给定距离函数导出的范数?我知道您可以通过给定的距离函数直接计算数据的距离矩阵,并由此导出 R^k 中的坐标。但是这种方法真的很昂贵,尤其是当距离函数的复杂度为 O(n^2) 或更高时。所以我想知道是否有任何更简单的算法可以做到这一点。

最佳答案

听起来你在描述 multidimension scaling (MDS) .在 Python 中执行此操作的一种方法是使用 scikit-learn 的 sklearn.manifold.MDS .

MDS 期望 NxN 距离(或“相异性”)矩阵作为输入,因此这不会绕过评估距离函数的成本。这种转换不可避免地需要距离矩阵,因此如果距离函数本身很昂贵,那么最好的办法似乎是减少样本数量或寻找一种方法来计算快速近似距离以加快速度。另外,请注意 MDS 通常只是近似值。数值优化寻找欧几里得范数与给定距离的最佳拟合。

关于python - 是否有用于不同范数向量空间之间坐标转换的python算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63783064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com