к-значит против к-медиана?


14

Я знаю, что есть алгоритм кластеризации k-средних и k-медиана. Один использует среднее в качестве центра кластера, а другой использует медиану. Мой вопрос: когда и где использовать что?


Вам нужно будет определить медианы (и, возможно, рассчитать их), если у вас более одного измерения; если вы просто возьмете медиану в каждом значении, вы потеряете свойства вращения. Еще одна возможность - k- медеоиды
Генри

Ответы:


14

k-means минимизирует дисперсию внутри кластера, которая равна квадрату евклидовых расстояний.

В общем, среднее арифметическое делает это. Он не оптимизирует расстояния, а возводит в квадрат отклонения от среднего.

k-медианы сводит к минимуму абсолютные отклонения, что равно расстоянию до Манхэттена.

В общем, медиана на ось должна делать это. Это хорошая оценка для среднего значения, если вы хотите минимизировать сумму абсолютных отклонений (то есть sum_i abs (x_i-y_i)) вместо квадратов.

Это не вопрос точности. Это вопрос правильности. ;-)

Итак, вот ваше дерево решений:

  • Если ваше расстояние равно квадрату евклидова расстояния , используйте k-средства
  • Если ваше расстояние соответствует метрике такси , используйте k-медианы
  • Если у вас есть другое расстояние , используйте k-medoids

Некоторые исключения: насколько я могу судить, максимизация косинусного сходства связана с минимизацией квадрата евклидова расстояния на L2-нормализованных данных. Так что если ваши данные L2 нормализованы; и вы l2 нормализуете свои средства каждую итерацию, затем вы можете снова использовать k-средства.


Я несколько не согласен с утверждением, что медиана минимизирует расстояние до Манхэттена, поскольку не существует единой согласованной концепции медианы для многомерных данных. Это не ложь, но я считаю вводящим в заблуждение утверждение в многомерном контексте. Существует множество многомерных обобщений медиан, многие из которых не связаны с минимизацией манхэттенских расстояний.
Тим Сегин

1
Я изменяю это на медиану по оси. Надеюсь, теперь ты счастливее.
Выйти - Anony-Mousse

2

Если вы хотите провести анализ, не касающийся возможного влияния экстремальных значений, используйте k средних, но если вы хотите быть более точным, используйте k медианы


5
Можете ли вы поддержать и / или объяснить эти утверждения каким-либо образом?
Иона

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

2
Я думаю, это потому, что «Медиана» может терпеть выбросы, но «Скупое» полностью влияет на них. Например: если у нас есть точки данных {1,2,3,5,78}, очевидно, что 78 является выбросом. Медиана этих данных - 3, а среднее - 17,8. Таким образом, медиана - лучший способ обобщить эти данные.
Фадва
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.