Кластерный анализ или кластеризация - это задача группировки объектов набора таких, объектов в одной группе (называемой кластером ) похожи (в некотором смысле) друг на друга, чем на объекты в других группах (кластерах). Это основная задача исследовательского общего анализа данных и метод статистического анализа данных, используемых во многих областях, включая распознавание образов, анализ изображений, поиск информации, биоинформатика, сжатие данных, компьютерная графика и машина обучение.
Сам по себе кластерный анализ - это не какой-то конкретный алгоритм, общая задача, которую необходимо решить. Это может быть достигнуто с помощью различных алгоритмов, которые значительно различаются по своему пониманию того, что составляет кластер и как их эффективно находить. Популярные понятия кластеров включают группы с небольшими расстояниями между элементами кластера, плотными областями пространства данных, интервалами или конкретными статистическими распределениями. Таким образом, кластеризацию можно сформулировать как задачу многоцелевой оптимизации. Соответствующий алгоритм кластеризации и параметры параметров (включая такие параметры, как функция расстояния для использования, порог плотности или количество ожидаемых кластеров) зависят от индивидуального набора данных и предполагаемого использования результатов, достижения. Кластерный анализ как таковой - это не автоматическая задача, а итеративный процесс обнаружения знаний или интерактивной многоцелевой оптимизации, которая включает себя в испытания и неудачи. Часто бывает необходимо изменить предварительную обработку данных и параметров модели, пока результат не достигает желаемых свойств.
Помимо термина кластеризация, существует ряд терминов с похожим расположением, включая автоматическую классификацию, числовую таксономию, ботриологию (от греческого βτρυς «виноград»), типологический анализ и выявление сообществ. Тонкие различия часто заключаются в использовании результатов: если при интеллектуальном анализе данных интерес представляют результирующие группы, то при классификации интерес представляет результирующая различительная способность.
Кластерный анализ зародился в антропологии Драйвером и Крёбером в 1932 году и введен в психологию Джозефом Зубином в 1938 году и Робертом Трайоном в 1939 году и широко использовался Кеттелла начиная с 1943 г. для классификации черт личности в психологии.
Понятие «Кластер» не может быть точно определено, что является одним из причин, по которому существуют так много алгоритмов кластеризации. Есть общий знаменатель: группа объектов данных. Однако разные исследователи используют разные кластерные модели, и для каждой из этих кластерных моделей могут быть предложены разные алгоритмы. Понятие кластера, найденное различными алгоритмами, значительно различается по своим свойствам. Понимание этих «кластерных моделей» является ключом к пониманию различных алгоритмов. Типичные модели кластеров включают:
«Кластеризация» - это, по сути, набор таких кластеров, обычно используются все объекты в наборе данных. Кроме того, он может указывать отношения кластеров друг к другу, например иерархию кластеров, встроенных друг в друга. Кластеризацию можно примерно разделить на:
Возможны также более тонкие различия, например:
Как указано выше, алгоритмы кластеризации можно разделить на категории на основе их модели кластера. В следующем обзоре будут представлены наиболее известные примеры алгоритмов кластеризации, как возможно, существует более 100 опубликованных алгоритмов кластеризации. Не все модели для своих кластеров, поэтому их нелегко разделить на категории. Обзор алгоритмов, объясненных в Википедии, можно найти в списке статистических алгоритмов.
Не существует объективно «правильного» алгоритма кластеризации, но, как было принято, «кластеризация находится в поле зрения смотрящего». Наиболее подходящий алгоритм кластеризации для конкретной задачи часто следует выбрать экспериментально, если нет математической причины предпочесть одну модель кластера другая. Алгоритм, используется для одного типа модели, обычно не работает на одном типе модели, который содержит радикально другой тип модели. Например, k-means не может найти невыпуклые кластеры.
Кластеризация на основе подключения, также известная как иерархическая кластеризация, основана на идее о том, что объекты больше связаны с близкими соседями объектами, чем с объектами, находящимися дальше. Эти алгоритмы соединяют «объекты» в «кластеры» в зависимости от их расстояния. Кластер можно описать в основном максимальным расстоянием, установленным для частей кластера. На разных расстояниях будут формироваться разные кластеры, которые могут быть представлены с помощью дендрограммы, которая объясняет, откуда взялось общее название «иерархическая кластеризация »: эти алгоритмы не обеспечивают единого разделения набора данных, но вместо этого специальную иерархию кластеров, сливаются друг с другом с помощью специальных инструкций. В дендрограмме ось Y отмечает расстояние, на котором кластеры сливаются, а объекты размещаются вдоль оси x, так что кластеры не смешиваются.
Кластеризация на основе связности - это целое семейство методов, которые различаются способами расстоянияний. Помимо обычного выбора функций выбора, пользователю также необходимо выбрать критерий связи (поскольку кластер состоит из нескольких объектов, есть несколько условий для вычисления расстояния) для использования. Популярные варианты как известны одинарная кластеризация (минимальное расстояние до объекта), полная связка кластеризация (максимальное расстояние до объекта) и UPGMA или WPGMA («Метод невзвешенной или взвешенной парной группы со средним арифметическим», также известный как кластеризация средних связей). Кроме того, иерархическая кластеризация может быть агломеративной (начиная с отдельных элементов и их в кластеры) или разделяющей (начиная с полного набора и разделяя его на разделы).
Эти методы производят не уникальное разбиение набора данных, иерархию, из которой пользователю по-прежнему следует выбирать подходящие кластеры. Они не очень устойчивы к выбросам, которые либо проявляются как дополнительные кластеры, либо даже вызывают слияние других кластеров (известное как «явление сцепления», в частности, с кластеризацией с одной связью ). В общем случае сложность составляет для агломеративной кластеризации и для делительной кластеризации, что делает их слишком медленными для больших наборов данных. Для некоторых случаев известны оптимальные эффективные методы (сложности ): SLINK для одиночного соединения и CLINK для кластеризации полного связывания. В сообществе эти методы интеллектуального анализа данных эти методы признаны устаревшими системами анализа, но часто устаревшими. Однако новые методы создания вдохновения для многих более поздних методов.
Одинарная связь по гауссовским данным. В 35 кластерах самый большой кластер начинает фрагментироваться на более мелкие части, в то время как раньше он все еще был связан со вторым по величине из-за эффекта одноканальности.
Одинарное соединение на кластерах на основе плотности. Извлечено 20 кластеров, большинство из которых содержат одиночные элементы, как кластеризация связей не имеет понятия «шум».
При кластеризации на основе центроидов кластеры представлены центральным вектором, который не обязательно может быть членом набора данных. Когда количество кластеров фиксировано на k, кластеризация k-средних дает формальное определение как задачу оптимизации: найти k центров кластеров и назначить объекты ближайшего центру кластера, так что квадраты расстояний от кластера свернут.
Сама проблема оптимизации, как известно, является NP-сложной, и поэтому общий подход заключается в поиске только приблизительных решений. Особенно хорошо хорошо приближенным методом является алгоритм Ллойда, часто называемый просто «алгоритм k-средних» (хотя другой алгоритм представил это название ). Однако он находит только локальный оптимум и обычно запускается несколько раз с разными случайными инициализациями. Вариации k-средних часто включают такие оптимизации, как выбор лучшего из нескольких прогонов, но также ограничение центроидов улучшения данных (k-medoids ), выбор медианы (кластеризация k- медианы ), выбирая начальные центры менее случайным образом (k-means ++ ) или разрешая нечеткое назначение кластеров (нечеткие c-means ).
Большинство алгоритмов типа k-means требуют заранее указать количество кластеров - k -, что считается одним из самых больших недостатков этих алгоритмов. Кроме того, алгоритмы предпочитают кластеры одинакового размера, так как они всегда присваивают объект ближайшему центроиду. Это часто приводит к неправильной обрезке границ кластеров (что неудивительно, алгоритм оптимизирует кластеры кластеров, а не границы кластеров).
K-средство обладает рядом теоретических свойств. Во-первых, он разбивает пространство данных на данные, известную как диаграмма Вороного. Во-втором он концептуально близок к классификации ближайшего соседа и поэтому популярен в машинном обучении. В-третьих, его можно рассматривать как кластеризацию на основе модели, вариант алгоритма Ллойда - как вариант алгоритма максимизации ожидания для этой модели, обсуждаемой ниже.
k-средство разделяет данные в ячейках Вороного, что предполагает наличие кластеров одинакового размера (здесь)
k-средство может представлять кластеры на основе плотности
Центроидные кластеры такие задачи, как k-средства и k-medoids, являются частными случаями некомпенсированной метрической задачи размещения оборудования, канонической проблемы в сообществах исследователей операций и вычислительной геометрии. Задача состоит в том, чтобы найти основные складские места для оптимального обслуживания заданного набора потребителей. Можно рассматривать «склады» как центроиды кластера, а «местоположения потребителей» - как данные, вызываие кластеризации. Это позволяет применить разработанные алгоритмические решения из литературы по размещению объектов рассматриваемого в настоящее время задаче кластеризации на основе центроидов.
Модель кластеризации, наиболее связанная со статистикой, основанная на моделях распределения. Затем кластеры можно легко определить как объекты, принадлежащие, скорее всего, к одному и тому же распределению. Удобным свойством этот метод является то, что он очень похож на способ создания набора искусственных данных: выборки случайных объектов из распределения.
Хотя теоретические основы этих методов превосходна, они страдают одной ключевой проблемой, известной как переоснащение, если не наложены ограничения на сложность модели. Более сложная модель обычно лучше объясняет данные, что затрудняет выбор подходящей сложности модели.
Один известный метод известен как модели смеси Гаусса (с использованием алгоритма максимизации ожидания ). Здесь набор данных обычно моделируется с фиксированным (во избежание переобучения) гауссовых распределений, которые инициализируются случайным образом и параметры которых итеративно оптимизируются для лучшего соответствия набору данных. Это сведется к локальному оптимуму, поэтому несколько прогонов могут дать результаты разные. Чтобы получить кластеризацию, объектам часто присваивается гауссово распределение, которое они, скорее всего, принадлежат; для мягких кластеров в этом нет необходимости.
Кластеризация на основе распределения создает сложные модели для кластеров, которые могут фиксировать корреляцию и зависимость между атрибутами. Однако эти алгоритмы ложатся дополнительным бременем на пользователя: для многих реальных наборов данных может не быть четко определенной математической модели (например, если предположить, что распределение Гаусса является довольно сильным допущением для данных).
Для данных с распределением по Гауссу, EM работает хорошо, поскольку он использует гауссианы для моделирования кластеров
Кластеры на основе плотности не могут быть смоделированы с использованием распределений Гаусса
При кластеризации на основе плотности кластеры определяются как области с более высокой плотностью, чем остальная часть набора данных. Объекты в разреженных областях, необходимые для разделения кластеров, обычно считаются шумовыми и граничными точками.
Самый популярный метод кластеризации на основе плотности - DBSCAN. В отличие от многих более новых методов, он имеет четко определенную кластерную модель, называемую «плотность-достижимость». Подобно кластеризации на основе связей, она основана на соединении точек в пределах определенных пороговых значений расстояния. Однако он соединяет только точки, удовлетворяющие критерию плотности, в исходном варианте, определяемом как минимальное количество других объектов в пределах этого радиуса. Кластер состоит из всех связанных плотностью объектов (которые могут образовывать кластер произвольной формы в отличие от многих других методов) плюс все объекты, которые находятся в пределах диапазона этих объектов. Еще одним интересным свойством DBSCAN является то, что его сложность довольно низкая - для него требуется линейное количество запросов диапазона в базе данных - и что он обнаружит практически одинаковые результаты (это детерминированный для точек ядра и шума, но не для пограничных точек) в каждом прогоне, поэтому нет необходимости запускать его несколько раз. ОПТИКА - это обобщение DBSCAN, которое устраняет необходимость выбора подходящего значения для параметра диапазона и дает иерархический результат, связанный с этим из кластеризации связей. DeLi-Clu, Density-Link-Clustering объединяет идеи из однокомпонентной кластеризации и OPTICS, полностью устраняя параметр и предлагая улучшения производительности сверх ОПТИКА с использованием индекса R-tree.
Ключевым недостатком DBSCAN и OPTICS является то, что они ожидают некоторого падения плотности для обнаружения границ кластера. На наборах данных, например, с перекрывающимися распределениями Гаусса - обычным вариантом использования искусственных данных - границы кластера, созданные этими алгоритмами, часто будут выглядеть произвольно, поскольку плотность кластера непрерывно уменьшается. На наборе данных, состоящем из смесей гауссиан, эти алгоритмы почти всегда уступают таким методам, как EM-кластеризация, которые могут точно моделировать данные такого типа.
Среднее смещение - это подход к кластеризации, при которомкаждый объект перемещается в область с наибольшей плотностью в его окрестностях, на основе плотности ядра. В конце концов объекты сходятся к локальным максимумам плотности. Подобно кластеризации k-средних, эти «аттракторы плотности» могут служить данным набора, но средний сдвиг может обнаруживать кластеры произвольной формы, аналогичные DBSCAN. Из-за дорогостоящей итерационной процедуры и оценки плотности среднего обычно медленнее, чем DBSCAN или k-Means. Кроме применимости алгоритма среднего сдвига к многомерным данным затруднена из-за негладкого поведения оценки плотности ядра, что приводит к чрезмерной фрагментации хвостов кластера.
На основе кластеризации плотности с помощью DBSCAN.
DBSCAN предполагает наличие проблем кластеров с одинаковой плотностью и может иметь с разделением соседних кластеров
ОПТИКА - DBSCAN, улучшающий обработку кластеров с разной плотностью
Метод на основе сетки используется для многомерного набора данных. В этом методе мы создаем сеточную структуру, и выполняется процедура на сетках (также известных как ячейки). Метод на основе быстрых и имеет низкую вычислительную сложность. Существует два типа методов кластеризации на основе сетки: STING и CLIQUE. В алгоритме кластеризации на основе сети используются следующие шаги:
В последние годы были предприняты значительные усилия было вложено в улучшение реализации алгоритмов. Среди них - CLARANS (Ng and Han, 1994) и BIRCH (Zhang et al., 1996). В связи с недавней необходимостью обрабатывать все большие и большие наборы данных (также известные как большие данные ), желание обменять семантическое сгенерированных кластеров на производительность растет. Это привело к развитию методов предварительной кластеризации, таких как кластеризация навеса, которые могут обрабатывать наборы данных, но полученные «кластеры» предоставили лишь грубое предварительное разбиение набора данных для последующего анализа с существующими более медленными методами, такими как кластеризация k-средних.
Для большой размерности из используемых методов многие методы не работают из-за проклятия размерности, которое отображает функции расстояния проблематичны в многомерныхх. Это привело к появлению новых алгоритмов кластеризации для данных большой размерности, которые сосредоточены на кластеризации подпространств (где используются только некоторые атрибуты, а модели кластеров включают соответствующие атрибуты для кластера) и корреляционная кластеризация, которая также ищет произвольно повернутые («коррелированные») кластеры подпространств, которые можно смоделировать, задав корреляцию их атрибутов. Примерами таких алгоритмов кластеризации являются CLIQUE и SUBCLU.
. Идеи из методов кластеризации на основе плотности (в частности, семейство алгоритмов DBSCAN / OPTICS ) были адаптированы для подпространства кластеризация (HiSC, иерархическая кластеризация подпространств и DiSH) и корреляционная кластеризация (HiCO, иерархическая корреляционная кластеризация, 4C с использованием «корреляционной связности» и ERiC, исследующие иерархические корреляционные кластеры на основе плотности).
Было предложено несколько различных систем кластеризации, основанных на взаимной информации. Один из них - вариант метрики информации Марины Мейла; другой обеспечение иерархическую кластеризацию. Используя генетические алгоритмы, можно оптимизировать широкий спектр различных функций, включая взаимную информацию. Кроме того, распространение иммунений, недавнее развитие информатики и статистической физики, создание к созданию новых типов алгоритмов кластеризации.
Оценка (или «проверка») результатов кластеризации так же сложна, как и сама кластеризация. Популярные подходы включают в себя «внутреннюю» оценку, где кластеризацию сводят к единому баллу качества, «внешнюю» оценку, где кластеризацию сравнивают с существующей «предлагаемой» классификацией, «ручную» оценку экспертом-человеком и «косвенную» "оценку путем оценки полезности кластеризации
Внутренние меры оценки страдают, заключаются в том, что они включают функции, которые сами по себе могут рассматриваться как цель кластеризации. Например, можно кластеризовать набор данных по коэффициенту Silhouette; Используя такую внутреннюю меру для оценки, можно сравнить схожесть задач оптимизации, не обязательно, насколько полезна кластеризация.
Внешняя оценка имеет аналогичные: если у нас есть такие метки «наземной истины», то нам не нужно будет кластеризоваться; й, метки отражают только одно возможное разделение набора данных, что не означает, что не существует другой стороны, даже лучшей стороны кластеризации.
Таким образом, ни один из этих подходов не может в конечном итоге судить о фактическом качестве кластеризации, но для этого нужна человеческая оценка, которая очень субъективна. Тем не менее, такая статистика может быть весьма информативной при выявлении кластеров, но не следует отказываться от субъективной оценки.
Когда результат кластеризации оценивается на основе данных, которые сами были кластеризованы, это называется внутренней оценкой. Эти методы обычно присваивают лучший алгоритм алгоритма, который создает кластеры с высоким результатом внутри кластера и низким результатом между кластерами. Одним из недостатков использования внутренних критериев является создание высоких баллов по внутреннему критерию. Кроме того, эта оценка смещена в сторону алгоритмов, использующих одну и ту же модель кластера. Например, кластеризация k-средним естественным образом оптимизирует расстояние до объектов, а критерий критерия, основанный на расстоянии, скорее всего, переоценит результирующую кластеризацию.
Следовательно, меры внутренней оценки лучше всего подходят для ситуаций, когда один алгоритм работает лучше, чем другой, но это не должно означать, что один алгоритм дает более достоверные результаты, чем другой. Валидность, измеряемая индексом, зависит от утверждения, что такая структура существует в наборе данных. Алгоритм, для каких-то моделей, не имеет шансов, если набор данных содержит радикально другой набор моделей или если измеряет радикально другой критерий. Например, кластеризация k-средних может найти только выпуклые кластеры, некоторые оценочные индексы предполагают выпуклые кластеры. В наборе данных с невыпуклыми кластерами нецелесообразно использование k-средних, ни критерия оценки, предполагающего выпуклость.
Существует более десятка внутренних мер оценки, обычно основанных на интуиции, элементы в одном кластере должны быть более похожи, чем элементы в разных кластерах. Например, для оценки качества алгоритмов кластеризации по внутреннему критерию можно использовать следующие методы:
При внешней оценке результатов кластеризации оцениваются на основе данных, которые не использовались для кластеризации., например известные метки классов и внешние тесты. Такие тесты состоят из набора классических элементов. Таким образом, наборы тестов можно рассматривать как золотой стандарт для оценки. Эти методы оценки позволяют измерить, насколько близка кластеризация к заранее определенным тестовым классам. Обсуждалось, подходит ли это для реальных данных или только для синтетических наборов данных с фактической истиной, поскольку классы могут содержать внутреннюю структуру, присутствующие атрибуты могут не допускать разделения кластеров или классы могут содержать аномалии. Кроме того, с точки зрения открытия знаний предполагаемым результатом не обязательно может быть предполагаемым результатом. В специальном сценарии ограниченной кластеризации, где метаинформация (например, метаинформация) уже используется в процессе кластеризации, удержание информации для целей оценки нетривиально.
Ряд показателей адаптирован из вариантов, использования для оценки задач классификации. Вместо подсчета количества раз, когда класс был правильно назначен одной точке данных (известный как истинных положительных результатов ), такие показатели подсчета пар оценивают, является ли каждая пара точек данных, которая действительно находится в одном кластере, предполагается, что они находятся в одном кластере.
Как и в случае внутренней оценки, существует несколько внешних показателей оценки, например:
Одна проблема с Индекс Rand состоит в том, что ложные срабатывания и ложноотрицательные имеют одинаковый вес. Это может быть нежелательной характеристикой для некоторых приложений кластеризации. F-мера решает эту проблему, так же как и скорректированный на случайность скорректированный индекс Рэнда.
Чтобы измерить кластерную тенденцию, нужно измерить, в какой степени кластеры существуют в данных, вызываих кластеризации, и может быть выполнено в качестве начального теста перед попыткой кластеризации. Один из способов сделать это - сравнить данные со случайными данными. В среднем случайные данные не должны иметь кластеров.
На Викискладе есть средства массовой информации, связанные с Кластерный анализ. |