簡體   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