Machine learning 如何定义自定义相似性度量
我需要一些定义自定义相似性度量的帮助 我有一个数据集,其元素由4个属性定义。 作为一个例子,考虑以下两个项目:Machine learning 如何定义自定义相似性度量,machine-learning,cluster-analysis,data-mining,similarity,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" 我必须实施相似性度量,该度量应满足以下条件
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)
定义这当然不是一个编程问题。要成为度量标准,转换必须满足以下几点。你可以查一下,然后你必须检查。。。这可能是话题了。谢谢Prune的所有好提示:也许最好把聚类条件看作是一个非常有力的建议。如果我将距离设置为0,我将忽略所有其他属性的距离信息。即使这些属性的权重很小,对我来说,保存这些差异也很重要。将其他属性距离标准化为[0-0.5]范围,A2为0.25,A4为0.25,怎么样?我知道如果只匹配A2和A4会导致一些问题,但基于我使用的元素的性质,这是一种非常罕见的情况;您的要求坚持认为A2或A4匹配必须优先于任何其他因素(组合)。您可以将每个值设为0.34,剩余值设为0.32,将聚类算法的阈值设置为0.34或更小。这里的一个问题是,您试图用一个梯度度量来处理三个不相交的需求——两个布尔值和一个梯度。您是否也在编写自己的聚类算法?您还可以使用一对来处理布尔需求,例如(True,0.28)。