[英]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
在正常情況下,我們將0
和0
點視為最相似的對,因為它們之間的距離值為0
。 在我的情況下, 1
和1
是最相似的對,因為它們的值最大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.