查找"complemented"位向量聚类



我有一个我想在群集中分组的位矢量(bv)的巨大列表。

该集群背后的想法是能够从每个群集中选择以后的BV,并将它们组合起来,以生成BV与(几乎)All-Ons(必须最大化)。

例如,想象一下1意味着应用程序上升,并且在特定时间内的节点x中下降0。我们想找到有关将应用程序提升的节点的最低节点列表:

    App BV for node X in cluster 1:  1 0 0 1 0 0
    App BV for node Y in cluster 2:  0 1 1 0 1 0
    Combined BV for App (X+Y):       1 1 1 1 1 0 

我一直在检查不同的群集算法,但是我确实找到了一种考虑了这种"互补"行为的一种,因为在这种情况下,BV的每一列未转介到一个功能(仅在特定时间范围内向上或向下表示)。

涉及其他算法(例如K-均值或分层聚类),我不清楚是否可以在群集算法中包含此考虑。

最后,我使用的锤距离来确定群集群和集群间的距离,因为它似乎是二进制数据最符合的指标,但结果表明我没有紧密地分组和分开。因此,我想知道我是否正在应用最合适的组/近似方法,即使我应该过滤先前分组的输入数据。

欢迎有关分组/聚类方法或过滤数据的任何线索或想法。

这听起来根本不像一个聚类问题。

这些算法都无法帮助您。

相反,我宁愿称此为"制作算法"。但是我认为至少是NP-HARD(类似于设定的封面)以找到真正的最佳选择,因此您需要提出快速近似。最适合您用例的特定物品。

也没有指定(您写 ,但这可能不是您想要的)如何组合两个1。是XOR还是?如果可以将多个以上的超过两个组合在一起,以及这样做时的成本是多少。一种策略是为每个逆差向量找到最近的邻居,并始终结合最佳对。

最新更新