繁体   English   中英

如何将成对距离矩阵中的大值转换为小值?

[英]How to convert a large value within a pairwise distance matrix into a small value?

D为两组观测值之间的成对距离。 我使用自定义距离函数来表示相似性。 与大多数相似性度量方法不同,我选择的计算距离的方法为相似对提供了很大的价值。

    0 1 2

0   0 4 6
1   5 9 7
2   2 1 4

在正常情况下,我们将00点视为最相似的对,因为它们之间的距离值为0 在我的情况下, 11是最相似的对,因为它们的值最大9 我需要使用成对距离矩阵来执行聚类。 我需要一种将大值转换为可以由聚类方法使用的小值的方法。

如果我理解正确,则只需要反转元素的排序顺序即可。 以下等式将新矩阵的最大元素转换为最小元素,反之亦然:

distance = max(max(D))*ones(size(D)) - D

其中D是自定义距离函数的矩阵。 对于上面的示例,这将导致

9 9 9   0 4 6   9 5 3
9 9 9 - 5 9 7 = 4 0 2
9 9 9   2 1 4   7 8 5

如果您知道自定义距离矩阵中没有负数,则可以改用以下方程式,该方程式仅使矩阵的所有元素偏移(以避免除以零)并将它们求逆:

distance = 1./(D+1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM