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

时间:2015-09-29 15:37:50

标签: machine-learning cluster-analysis data-mining similarity

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

我有一个数据集,其元素由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测量。在数学上是否正确定义一个相似性度量,它将每个属性的jaccard距离相加,然后在A2和A4满足条件1和2的情况下添加一种高权重?

如果是这样,我怎样才能将相似度矩阵转换为距离矩阵?

1 个答案:

答案 0 :(得分:1)

(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)