【问题标题】:Proper similarity measure for clustering聚类的适当相似性度量
【发布时间】:2012-09-30 11:53:51
【问题描述】:

我在为聚类找到合适的相似性度量时遇到了问题。我有大约 3000 个集合数组,其中每个集合都包含特定领域的特征(例如,数字、颜色、日期、字母等)。我会用一个例子来解释我的问题。

假设我只有 2 个数组(a1 和 a2),我想找出它们之间的相似性。每个数组包含 4 个集合(在我的实际问题中,每个数组有 250 个集合(域)),一个集合可以为空。

a1: {a,b}, {1,4,6}, {mon, tue, wed}, {red, blue,green}
a2: {b,c}, {2,4,6}, {}, {blue, black}

我已经使用Jaccard 索引(表示为 J)进行了相似性度量:

sim(a1,a2) = [J(a1[0], a2[0]) + J(a1[1], a2[1]) + ... + J(a1[3], a2[3])]/4

注意:我除以集合总数(在上面的例子中为4)以保持0和1之间的相似度。

Is this a proper similarity measure and are there any flaws in this approach。我分别为每个集合应用 Jaccard 索引,因为我想比较相关域之间的相似性(即颜色与颜色等......)

我不知道我的问题有任何其他适当的相似性度量。 此外,can I use this similarity measure for clustering purpose?

【问题讨论】:

    标签: math cluster-analysis distance similarity euclidean-distance


    【解决方案1】:

    这应该适用于大多数聚类算法。不要使用 k-means - 它只能处理数字向量空间。但是你有一个向量集类型的数据。

    您可能希望使用与算术平均值不同的平均值来组合四个 Jaccard 度量。尝试谐波或几何方法。看,超过 250 个值的平均值可能一直接近 0.5,所以你需要一个更“激进”的平均值。

    所以这个计划听起来不错。试一试,实现这种相似性并将其插入各种聚类算法中,看看他们是否找到了一些东西。我喜欢用 OPTICS 探索数据和距离函数,因为 OPTICS 图可以非常指示是否(或不!)有什么东西可以根据距离函数找到。如果图太平,那就没什么好找的了,就像数据集中距离的代表样本......

    我使用 ELKI,他们甚至有一个关于添加自定义距离函数的教程:http://elki.dbs.ifi.lmu.de/wiki/Tutorial/DistanceFunctions 尽管您可以使用任何您喜欢的工具计算距离并将它们写入相似度矩阵。在 3000 个对象上,这仍然非常易于管理,4200000 个双精度对象只有几 MB。

    【讨论】:

    • 大多数算法不需要三角不等式,因为它们不利用度量属性。所以一个简单的1-sim 可能对你有用。
    • 感谢您的回答。我也会尝试谐波和几何方法。我还有一个问题,大多数聚类算法都需要距离测量。如何将我的相似性度量转换为满足三角不等式的距离度量。目前我有两个想法,[1] dist=(1-sim)/sim [2] dist=sqrt(1-sim^2)。是否有任何适当(正式)的方法来确定距离
    • 再次感谢您,抱歉我的评论被意外删除了。
    猜你喜欢
    • 2014-09-26
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2018-08-26
    • 2012-07-17
    • 1970-01-01
    • 2021-10-28
    相关资源
    最近更新 更多