【问题标题】:Flat clustering with metric conditions具有度量条件的平面聚类
【发布时间】:2016-07-19 15:11:18
【问题描述】:

对于我的集合中的对象的给定指标,我需要形成具有两个条件的集群:

  • 群集中的任何对象与他最远的邻居之间的距离必须小于 t1。
  • 集群中的任何对象与他最近的邻居之间的距离必须小于 t2。

目前我正在使用具有覆盖度量函数(0 表示远对象)的凝聚聚类,但感觉不太正确。

【问题讨论】:

  • 使用约束聚类 似乎很难。你有多少样本,特征维度有多大?
  • @sascha 一个特征,大约 15000 个样本。
  • 指标是什么?
  • @sascha Levenshtein 距离的变化
  • 您的侧约束的来源是什么?改善集群的信息?或者为什么会有这些限制?看起来,有大量的实例是不可行的。而且当给定数据时,甚至可能很难选择 t1 和 t2,因为它们以某种方式纠缠在一起。

标签: machine-learning


【解决方案1】:

方法 1:SAT 求解

对于 n 个对象,所有可能的聚类都可以用对称二进制矩阵 {0, 1}^{n \times n} 来描述。位置 (i, j) 处的元素描述了对象 i 是否与对象 j 在同一个聚类中。这意味着您将拥有

(n^2 + n)/2 - n = n^2 - n

二进制变量。在您的情况下,它将是 224 985 000 个变量。那是很多。但是,由于您可以将其简化为 SAT 解决问题,因此它可能仍然可行。我猜这取决于有多少聚类满足约束但仍然很糟糕。

现在你可以把它变成一个布尔可满足性问题:

集群中任何对象与他最远的邻居之间的距离必须小于 t1。

矩阵的某些元素被此约束设置为 0,因为它们相距太远。

集群中的任何对象与他最近的邻居之间的距离必须小于 t2。

我猜你的意思是集群中最近的邻居。这意味着要么 o 不在集群中(例如,如果 o 具有索引 i,则 (i, j) = 0 对所有 j)或 j 的可预计算集合中的一个必须为 1。因此对于每个具有索引的对象我在这里遇到了限制,比如

((i, 0) = 0 and (i, 1) = 0 and ... and (i,i)=1 and ... and (i,n)=0)
or
((i, k1)=1 or (i, k2)=1 or (i, k3)=1)

其中 dist(i, k_j)

现在您可以尝试简单地遍历许多解决方案并找到最佳解决方案(例如silhouette coefficient),也可以尝试更复杂的方法。有关更多信息,请参阅constrained optimization

方法 2:DBSCAN

您可以在 epsilon = t2 的情况下使用 DBSCAN(或该系列的算法之一)。然后 - 如果有必要 - 如果集群不满足第一个条件,则拆分集群。

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 2015-08-09
    • 2020-10-02
    • 1970-01-01
    • 2020-02-12
    • 2020-02-13
    • 2011-03-29
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多