Скажем, я сделал кластеризацию на моем наборе данных и у меня есть 10 кластеров.Эти кластеры не перекрываются.Но теперь предположим, что я изменил какую-то функцию во всех моих точках данных и снова делаю кластеризацию.Теперь у меня есть еще 10 кластеров.Если я повторю это, скажем еще 3 раза, в конце у меня будет 50 кластеров.С каждым кластером связана оценка, которая рассчитывается на основе составляющих его точек данных.
Эти 50 кластеров теперь имеют перекрывающиеся точки данных.Я хочу выбрать все возможные непересекающиеся кластеры из этих 50 кластеров, но с наивысшей общей оценкой.
Одним из способов является жадный метод, при котором я сортирую кластеры на основе оценки от наивысшей к наименьшей.Затем выберите кластер с наивысшей оценкой.Затем продолжайте выбирать кластеры, которые имеют непересекающиеся точки данных с уже выбранными кластерами.Но это не кажется оптимальным решением, хотя оно и быстрое.
Пример: скажем, у меня есть 5 кластеров со следующими показателями:
C1 = (A, B, C, D, E, F) Оценка = 10
C2 = (A, B, C) Оценка = 6
C3 = (D, E, F) Оценка = 6
C4 =(G, H, I, J) Оценка = 5
C5 = (K, L) Оценка = 7
Жадный подход вернет {C1, C4, C5} с общим счетом10 + 5 + 7 = 22, тогда как лучшим вариантом является {C2, C3, C4, C5} с общим счетом 6 + 6 + 5 + 7 = 24.
Я ищу другой метод, которыйможет дать оптимальное решение или лучшее решение, чем вышеупомянутый жадный подход.