Stop using the elbow method
В почти любом курсе introduction to ML разбирается k-means, и на вопрос, как же выбирать заветный параметр k, обычно даётся "пацанский" ответ – "метод локтя" (elbow method). Заключается он вот в чём – берётся график зависимости ошибки метода от количества кластеров k и на нём ищется "перегиб". Для более продвинутых поисков есть много разных алгоритмических методов (сами представьте, сколько разных способов найти перегиб в функции).
Ожидаемо, такой метод работает очень плохо. В статье сравниваются 8 разных методов поиска "локтя" – и ни один не даёт вменяемый результат на довольно простых моделях синтетических данных. Что лучше использовать? У авторов хорошо отработали variance-ratio criterion, Bayesian Information Criterion (BIC), и Gap statistic. Из них легко можно посчитать VRC и BIC. Пользуясь случаем, авторы напоминают, что k-means крайне чувствителен к препроцессингу данных, и приводят пару визуальных примеров того, где можно налажать.
2023 год набирает обороты, а проблема оптимального выбора k до сих пор не решена даже для простейших моделей данных.
Статья: https://arxiv.org/abs/2212.12189
Post #8
770