Что такое кластеризация K-средних?

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

Задача вычислительно сложная (NP-сложная); однако эффективные эвристические алгоритмы быстро сходятся к локальному оптимуму. Обычно они аналогичны алгоритму максимизации ожидания для смесей гауссовских распределений посредством итеративного подхода к уточнению, используемого как k-средними, так и моделированием гауссовых смесей . Оба они используют кластерные центры для моделирования данных; однако кластеризация k означает, что кластеры имеют сопоставимую пространственную протяженность, в то время как смешанная модель Гаусса позволяет кластерам иметь различную форму.

Неконтролируемый алгоритм k-средних имеет слабое отношение к k-классификатору ближайших соседей, популярному методу контролируемого машинного обучения для классификации, который часто путают с k. -значит из-за имени. Применение классификатора 1 ближайших соседей к центрам кластеров, полученным с помощью k-средних, классифицирует новые данные в существующие кластеры. Это известно как классификатор ближайшего центроида или алгоритм Роккио.

Приложения

Алгоритм kmeans очень популярен и используется в различных приложениях, таких как сегментация рынка, кластеризация документов, сегментация изображения и сжатие изображения и т. д. Целью кластерного анализа обычно является:

  1. Получите осмысленное представление о структуре данных, с которыми мы имеем дело.
  2. Сгруппируйте, а затем предскажите, где будут построены разные модели для разных подгрупп, если мы считаем, что поведение разных подгрупп сильно различается.

Примером этого является объединение пациентов в разные подгруппы и построение модели для каждой подгруппы для прогнозирования вероятности риска сердечного приступа.

Случаи использования кластеризации K-mean в домене безопасности:

  1. Анализ данных о совместных поездках:

общедоступный набор данных с информацией о поездках на Uber содержит большое количество ценных данных о трафике, времени в пути, пиковых местах посадки и многом другом. Анализ этих данных полезен не только в контексте Uber, но и для понимания моделей городского движения и помогает нам планировать города будущего.

2. Классификация криминальных документов:

Кластеризуйте документы по нескольким категориям на основе тегов, тем и содержимого документа. Это очень стандартная задача классификации, и алгоритм k-средних очень подходит для этой цели. Начальная обработка документов необходима для представления каждого документа в виде вектора и использования частоты терминов для определения часто используемых терминов, которые помогают классифицировать документ. Затем векторы документов группируются, чтобы помочь определить сходство в группах документов.

3. Подробный анализ записи звонков:

Детальная запись вызова (cdr) — это информация, полученная телекоммуникационными компаниями во время звонка, смс и интернет-активности клиента. Эта информация дает более полное представление о потребностях клиента при использовании с демографическими данными клиентов. Мы можем кластеризовать действия клиентов в течение 24 часов, используя неконтролируемый алгоритм кластеризации k-средних. Он используется для понимания сегментов клиентов в отношении их использования по часам.

4. Автоматическая группировка предупреждений:

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

Спасибо, что прочитали это ☺️