Почему мы используем k-средства вместо других алгоритмов?


14

Я исследовал k-means, и вот что я получил: k-means - это один из самых простых алгоритмов, который использует неконтролируемый метод обучения для решения известных проблем кластеризации. Это работает очень хорошо с большими наборами данных.

Однако есть и недостатки K-Means, которые:

  • Сильная чувствительность к выбросам и шуму
  • Не очень хорошо работает с некруглой формой кластера - номер кластера и начальное начальное значение необходимо указать заранее
  • Низкая способность пройти локальный оптимум.

Есть ли что-то великое в k-средних, потому что кажется, что недостатки за пределами хороших вещей в k-средних.

Пожалуйста, научите меня.


3
Не существует такого понятия, как хороший метод или хороший алгоритм без контекста проблемы, в которой он используется. Таким образом, мы используем k-means, поскольку существуют проблемы, для которых k-means является оптимальным решением (;

Ответы:


8

Другие алгоритмы кластеризации с лучшими функциями, как правило, стоят дороже. В этом случае k-средних становится отличным решением для предварительной кластеризации, сокращая пространство в непересекающиеся меньшие подпространства, где могут применяться другие алгоритмы кластеризации.


Дороже как в стоимости программы? или ?
Золотой череп с рисунком

5
Дороже как на медленной, так и на интенсивной памяти.
Мартин О'Лири

А ну понятно. Есть ли другие преимущества, кроме быстрого, надежного и более простого для понимания? И в любом случае спасибо за ответы @ MartinO'Leary и @ zeferino
Золотой череп с узором

6

К-значит самый простой. Для реализации и запуска. Все, что вам нужно сделать, это выбрать «k» и запустить его несколько раз.

Большинство более умных алгоритмов (в частности, хороших) гораздо сложнее реализовать эффективно (вы увидите, что коэффициенты разницы во времени возрастают в 100 раз), и у них гораздо больше параметров для установки.

Кроме того, большинству людей не нужны качественные кластеры . Они на самом деле довольны чем-то, что удаленно работает на них. Кроме того, они не знают, что делать, когда у них более сложные кластеры. K-означает, что моделирует кластеры, используя самую простую из когда-либо существовавших моделей - центроид - именно то, что им нужно: массовое преобразование данных в центроиды .


0

K-means похож на алгоритм сортировки Exchange. Легко понять, помогает войти в тему, но никогда не должен использоваться для чего-то реального, никогда. В случае сортировки Exchange даже Bubble Sort лучше, потому что он может остановиться рано, если массив будет частично отсортирован. В случае K-средних алгоритм EM является тем же алгоритмом, но предполагает гауссово распределение для кластеров вместо предположения о равномерном распределении K-средних. K-means - это крайний случай EM, когда все кластеры имеют диагональные ковариационные матрицы. Гауссова структура означает, что кластеры очень хорошо сжимаются в данные. Это позволяет обойти серьезные возражения, которые вы правильно задали в вопросе. И EM на самом деле не намного дороже, чем K-means. (Я могу реализовать оба в электронной таблице Excel.) Но для серьезных приложений кластеризации,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.