У меня есть график с M узлами (например, M = 600), узлы соединены неориентированными ребрами, взвешенными по ребрам. Однако большинство этих ребер равны 0, поэтому матрица смежности разрежена.
Граф состоит из N подграфов, где N равно , а не известен заранее и может быть найден алгоритмом кластеризации (например, N = 50 или N = 187).
Я потратил довольно много времени, пытаясь найти обаклассические алгоритмы кластеризации графа, а также методы машинного обучения (например, нейронные сети графа / сверточные NN графа), которые могут
- взять граф произвольного размера в качестве входных данных
- разбить этот граф на несколько(не предопределенное количество) подграфов, выбирая соединенные области с максимальным весом ребра
- и, при желании, также включают в себя функции заметки (т.е. в моем случае 40-димный вектор для каждого узла).
Существуют ли алгоритмы и методы ML, способные решить эту проблему? Наверное, должно быть ...
Я мог бы найти только классические алгоритмы, которые группируют граф в заранее определенное количество кластеров или находят взвешенные по узлам кластеры. Может ли Graph Neural Networks решить эту проблему, особенно с переменным размером ввода?
Большое спасибо!