我需要一些定义自定义相似性度量的帮助。
我有一个数据集,其元素由 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 时添加某种高权重,这在数学上是否正确?
如果是这样,如何将相似度矩阵转换为距离矩阵?
最佳答案
(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)
关于machine-learning - 如何定义自定义相似性度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848218/