Кластеризация многомерных данных — это кластерный анализ данных с количеством измерений от нескольких десятков до многих тысяч . Такие многомерные пространства данных часто встречаются в таких областях, как медицина , где технология ДНК-микрочипов может производить множество измерений одновременно, и кластеризация текстовых документов , где, если используется вектор частоты слов, количество измерений равно размеру словаря .
Для кластеризации многомерных данных необходимо решить четыре проблемы: [1]
Недавние исследования показывают, что проблемы дискриминации возникают только при наличии большого количества нерелевантных измерений, и что подходы с использованием общих ближайших соседей могут улучшить результаты. [2]
Подходы к кластеризации в параллельных осям или произвольно ориентированных аффинных подпространствах различаются по тому, как они интерпретируют общую цель, которая заключается в поиске кластеров в данных с высокой размерностью. [1] Абсолютно другой подход заключается в поиске кластеров на основе шаблона в матрице данных, что часто называют бикластеризацией , что является методом, часто используемым в биоинформатике .
Кластеризация подпространства направлена на поиск кластеров в различных комбинациях измерений (т. е. подпространств) и в отличие от многих других подходов к кластеризации не предполагает, что все кластеры в наборе данных находятся в одном и том же наборе измерений. [3] Кластеризация подпространства может использовать подходы снизу вверх или сверху вниз. Методы снизу вверх (такие как CLIQUE) эвристически идентифицируют соответствующие измерения, разделяя пространство данных на сетку, выбирая плотные единицы, а затем итеративно связывая их, если они смежные и плотные. [3]
Соседнее изображение показывает просто двумерное пространство, в котором можно идентифицировать ряд кластеров. В одномерных подпространствах можно найти кластеры (в подпространстве ) и , , (в подпространстве ). нельзя считать кластером в двумерном (под-)пространстве, поскольку оно слишком редко распределено по оси . В двух измерениях можно идентифицировать два кластера и .
Проблема кластеризации подпространств обусловлена тем фактом, что существуют различные подпространства пространства с измерениями. Если подпространства не параллельны осям, возможно бесконечное число подпространств. Следовательно, алгоритмы кластеризации подпространств используют некую эвристику , чтобы оставаться вычислительно осуществимыми, рискуя получить худшие результаты. Например, свойство нисходящего замыкания (ср. правила ассоциации ) может использоваться для построения подпространств более высокой размерности только путем объединения подпространств более низкой размерности, поскольку любое подпространство T, содержащее кластер, приведет к полному пространству S, также содержащему этот кластер (т. е. S ⊆ T), подход, принятый большинством традиционных алгоритмов, таких как CLIQUE, [4] SUBCLU . [5] Также возможно определить подпространство, используя различные степени релевантности для каждого измерения, подход, принятый iMWK-Means, [6] EBK-Modes [7] и CBK-Modes. [8]
Проекционная кластеризация стремится назначить каждую точку уникальному кластеру, но кластеры могут существовать в разных подпространствах. Общий подход заключается в использовании специальной функции расстояния вместе с обычным алгоритмом кластеризации .
Например, алгоритм PreDeCon проверяет, какие атрибуты, по-видимому, поддерживают кластеризацию для каждой точки, и корректирует функцию расстояния таким образом, чтобы измерения с низкой дисперсией были усилены в функции расстояния. [9] На рисунке выше кластер может быть найден с помощью DBSCAN с функцией расстояния, которая уделяет меньше внимания оси - и, таким образом, преувеличивает низкую разницу на оси - в достаточной степени, чтобы сгруппировать точки в кластер.
PROCLUS использует аналогичный подход с кластеризацией k-медоидов . [10] Начальные медоиды угадываются, и для каждого медоида определяется подпространство, охватываемое атрибутами с низкой дисперсией. Точки присваиваются ближайшему медоиду, при этом при определении расстояния учитывается только подпространство этого медоида. Затем алгоритм действует как обычный алгоритм PAM .
Если функция расстояния взвешивает атрибуты по-разному, но никогда не принимает значение 0 (и, следовательно, никогда не отбрасывает нерелевантные атрибуты), алгоритм называется алгоритмом кластеризации с «мягкой» проекцией .
Проекционная кластеризация основана на нелинейной проекции многомерных данных в двумерное пространство. [11] Типичные проекционные методы, такие как t-распределенное стохастическое вложение соседей (t-SNE) [12] или визуализатор поиска соседей (NerV) [13], используются для явного проецирования данных в два измерения, игнорируя подпространства более высокой размерности, чем два, и сохраняя только соответствующие окрестности в многомерных данных. На следующем этапе вычисляется граф Делоне [14] между проецируемыми точками, и каждая вершина между двумя проецируемыми точками взвешивается с помощью многомерного расстояния между соответствующими многомерными точками данных. После этого кратчайший путь между каждой парой точек вычисляется с помощью алгоритма Дейкстры . [15] Затем кратчайшие пути используются в процессе кластеризации, который включает два выбора в зависимости от типа структуры в многомерных данных. [11] Этот логический выбор можно сделать, посмотрев на топографическую карту многомерных структур. [16] В сравнительном тестировании 34 сопоставимых методов кластеризации кластеризация на основе проекций оказалась единственным алгоритмом, который всегда мог найти многомерную структуру данных на основе расстояний или плотности. [11] Кластеризация на основе проекций доступна в пакете R с открытым исходным кодом "ProjectionBasedClustering" на CRAN. [17]
Агрегация Bootstrap (бэггинг) может использоваться для создания нескольких кластеров и объединения результатов. Это делается путем взятия случайных подвыборок данных, выполнения кластерного анализа для каждой из них и последующего объединения результатов кластеризации для создания меры различия, которая затем может быть использована для исследования и кластеризации исходных данных. [18] [19] Поскольку высокоразмерные данные, вероятно, будут иметь много неинформативных признаков, веса могут использоваться в процессе бэггинга для увеличения влияния более информативных аспектов. Это создает «несходства ABC», которые затем могут использоваться для исследования и кластеризации исходных данных, а также для оценки того, какие признаки кажутся более влиятельными при определении кластеров. [20] [21] [22]
Не все алгоритмы пытаются найти уникальное назначение кластера для каждой точки или всех кластеров во всех подпространствах; многие довольствуются результатом между ними, где находится несколько возможно перекрывающихся, но не обязательно исчерпывающих наборов кластеров. Примером является FIRES, который по своему базовому подходу является алгоритмом кластеризации подпространства, но использует слишком агрессивную эвристику , чтобы достоверно производить все кластеры подпространства. [23] Другой гибридный подход заключается во включении человека в алгоритмический цикл: экспертиза в области человека может помочь сократить экспоненциальное пространство поиска с помощью эвристического выбора образцов. Это может быть полезно в области здравоохранения, где, например, врачи сталкиваются с многомерными описаниями состояний пациентов и измерениями успешности определенных методов лечения. Важным вопросом в таких данных является сравнение и корреляция состояний пациентов и результатов терапии вместе с комбинациями измерений. Количество измерений часто очень велико, следовательно, необходимо сопоставить их с меньшим количеством соответствующих измерений, чтобы сделать их более пригодными для экспертного анализа. Это связано с тем, что нерелевантные, избыточные и противоречивые измерения могут негативно повлиять на эффективность и результативность всего аналитического процесса. [24]
Другой тип подпространств рассматривается в корреляционной кластеризации (интеллектуальном анализе данных) .