如何定义自定义相似性度量

How to define a custom similarity measure

我需要一些帮助来定义自定义相似性度量。

我有一个数据集,其元素由 4 个属性定义。 例如,考虑以下两项:

Element 1:

A1: "R1", "R3", "R4", "R7"
A2: "H1"
A3  "F1", "F2"
A4  "aaa" "bbb"


Element 2:

A1: "R1", "R2"
A2: "H1"
A3  "F1", "F2"
A4  "aaa" "bbb" "ccc" "ddd" "eee" "fff"

我必须实施一个相似性度量,它应该满足以下条件:

1 - 如果A2值相同,则两个元素必须属于同一个簇

2 - 如果两个元素在 A4 上至少有一个共同值,则 who 元素必须属于同一簇。

我需要使用一种加权 Jaccard 度量。如果 A2 和 A4 满足条件 1 和 2,那么定义一个相似性度量来计算每个属性的 jaccard 距离,然后添加一种高权重在数学上是否正确?

如果是这样,如何将相似度矩阵转换为距离矩阵?

(1) 距离 = 1 - 相似度。这是一个共同特征。

(2) 对属性的距离求和是有效的,尽管您可能希望将其缩小到 [0, 1] 范围。

(3) 根据您的描述,设置高权重是不正确的。如果 A2 或 A4 值显示匹配,只需将距离设置为 0。聚类是 要求 ,而不仅仅是强烈建议。你的距离函数是否有其他语义,你不想走这条路?

仅供参考,作为拓扑度量的距离函数 D 的基础是:

D(a, a) = 0
D(a,b) = D(b,a)
D(a,b) + D(b,c) >= D(a,c)