我有一个图,其中有240k节点和550k边缘,每个节点有五个属性来自稀疏数据集的自动编码器。我正在将图划分为n个群集,以使分区内属性相似性最大化,分区已连接,并且其中一个属性的总和不超过任何给定群集的阈值。
我尝试使用自动编码器,但是在制作损失函数时会遇到问题,这些损失会得到我需要的结果。我还研究了具有连接性约束的分层聚类,但找不到最佳实施我的总和约束的方法。像Louvain这样的图上的社区检测算法也存在同样的问题。
如果有人知道解决这个问题的任何方法,我很想听听它,理想情况下已经在Python中实现了,但是我可以实现我需要的任何算法,如果不需要的话。谢谢!
答案 0 :(得分:0)
首先,问题很可能是NP困难的,所以您能做的最好的事情就是贪婪的优化。首先将图分解成永远无法连接的子集肯定会有所帮助(删除不够相似的节点链接,然后计算连接的组件)。然后为每个组件(希望比250k小得多,否则运气不佳!)运行经典的优化器,它允许您指定成本函数。使用整数线性程序并考虑问题的Lagrange对偶版本可能是个好主意。