Ох... вот не надо философии. Давайте лучше математику. Давайте я попробую описать проблему, как я ее поняла. А вы уточните: что так, а что не так.
В задаче кластеризации можно выделить два этапа:
1. Постановка задачи. В частности, описание того, какое разбиение нам требуется. Это описание может быть
а) словесным, например "нужны кластеры небольшого диаметра, близкие к шарообразной форме"; "нужны плотные кластеры, произвольной формы, но четко отделенные друг от друга" и т.п.
б) с помощью образцов. Это могут быть либо готовые образцы, либо доступ к экспертам, которые нам скажут "то" или "не то".
2. Применение алгоритма. Вы выбрали алгоритм иерархической кластеризации, он имеет достаточно много "степеней свободы", например, выбор метрики, метода объединения в кластеры (+выбор числа кластеров, но это у вас фиксировано). Алгоритм эвристический, и, соответственно, приближенный.
Вас, видимо, не устраивает субъективность, которая есть и на первом, и на втором этапе. Вы решили снизить ее, используя формальный метод оптимизации функционала. В этой теме вы спрашиваете, как связать функционал с тем или иным вариантом алгоритма. Но на самом деле есть проблема гораздо более сложная -- как связать функционал с постановкой задачи!
Ведь и вычисление функционала, и применение алгоритма относятся к математике, так что о них мы можем сделать какие-то логические заключения. А вот постановка задачи -- вещь неформальная, "что хорошо, а что плохо" никаким подсчетом не скажешь!
Как я поняла, вы решили избавиться от этой сложности просто
подменяя неформальное описание задачей оптимизации (некоего подходящего функционала). Ну, тогда смиритесь с тем, что к "истинной" постановке ваш метод не будет иметь ровно никакого отношения!
Вы должны выяснить, какой функционал отвечает содержательной части задачи, насколько хорошо (и существует ли вообще такой!). Пока вы не решите эту проблему, подбирать алгоритм к функционалу никакого смыла нет. Вы просто возьмёте некий "среднепотолочный" показатель, а потом будете усердно его минимизировать.. И зачем?
-- 28.10.2017, 14:34 --Кстати, спасибо вам за задачу! Предложу ее студентам: проделать кластеризации разными методами с разными данными и посчитать для них значения функционалов.
Вот пример: два типа данных и два метода. Для каждого подсчитаны два первых "ваших" функционала.
Мне кажется, что в первом примере лучше метод ближайшего соседа (и у него оба функционала принимают значение меньше, чем на левой картинке!)
Для второго типа картина противоположная.