Кто-нибудь пытался применить сглаживатель к метрике оценки перед применением L-метода для определения количества кластеров k-средних в наборе данных? Если так, это улучшило результаты? Или разрешить меньшее количество испытаний k-средних и, следовательно, значительно большее увеличение скорости? Какой алгоритм / метод сглаживания вы использовали?
«L-метод» подробно описан в:
Определение количества кластеров / сегментов в алгоритмах иерархической кластеризации / сегментации , Сальвадор и Чан
Это вычисляет метрику оценки для диапазона различных количеств пробных кластеров. Затем, чтобы найти колено (что происходит для оптимального числа кластеров), две линии подгоняются с использованием линейной регрессии. Простой итеративный процесс применяется для улучшения подгонки колена - он использует существующие вычисления метрики оценки и не требует каких-либо повторов k-средних.
В качестве метрики оценки я использую обратную величину упрощенной версии индекса Даннса. Упрощено для скорости (в основном, мой диаметр и межкластерные вычисления упрощены). Обратная величина такова, что индекс работает в правильном направлении (т. Е. Чем ниже, тем лучше).
K-means - это стохастический алгоритм, поэтому обычно он запускается несколько раз и выбирается наилучшим образом. Это работает довольно хорошо, но когда вы делаете это для кластеров 1..N, время быстро складывается. Поэтому в моих интересах следить за количеством прогонов. Общее время обработки может определить, является ли моя реализация практичной или нет - я могу отказаться от этой функции, если не могу ускорить ее.