Бикластеризация , блочная кластеризация , [1] [2] Совместная кластеризация или двухмодовая кластеризация [3] [4] [5] — это метод интеллектуального анализа данных , позволяющий одновременно кластеризовать строки и столбцы матрицы . Термин был впервые введен Борисом Миркиным [6] для обозначения метода, представленного много лет назад, [6] в 1972 году Джоном А. Хартиганом . [7]
Учитывая набор образцов, представленных -мерным вектором признаков, весь набор данных может быть представлен в виде строк в столбцах (т. е. матрицы). Алгоритм бикластеризации генерирует бикластеры. Бикластер — это подмножество строк, которые демонстрируют схожее поведение в подмножестве столбцов, или наоборот.
Бикластеризация была первоначально введена Джоном А. Хартиганом в 1972 году. [7] Термин «бикластеризация» был позже использован и уточнен Борисом Г. Миркиным. Этот алгоритм не был обобщен до 2000 года, когда Y. Cheng и George M. Church предложили алгоритм бикластеризации, основанный на среднеквадратичном значении остатка (MSR), и применили его к данным по биологической экспрессии генов. [8]
В 2001 и 2003 годах IS Dhillon опубликовал два алгоритма, применяющих бикластеризацию к файлам и словам. Одна версия была основана на разбиении двудольного спектрального графа. [9] Другая была основана на теории информации. Dhillon предположил, что потеря взаимной информации во время бикластеризации была равна расстоянию Кульбака–Лейблера (KL-расстояние) между P и Q. P представляет собой распределение файлов и признаковых слов до бикластеризации, в то время как Q — распределение после бикластеризации. KL-расстояние предназначено для измерения разницы между двумя случайными распределениями. KL = 0, когда два распределения одинаковы, и KL увеличивается по мере увеличения разницы. [10] Таким образом, целью алгоритма было найти минимальное KL-расстояние между P и Q. В 2004 году Ариндам Баннерджи использовал взвешенное расстояние Брегмана вместо KL-расстояния для разработки алгоритма бикластеризации, который подходил для любого вида матрицы, в отличие от алгоритма KL-расстояния. [11]
Чтобы объединить в кластер более двух типов объектов, в 2005 году Беккерман расширил взаимную информацию в теореме Диллона с одной пары до нескольких пар. [12]
Сложность задачи бикластеризации зависит от точной формулировки задачи и, в частности, от функции заслуг, используемой для оценки качества данного бикластера. Однако наиболее интересными вариантами этой задачи являются NP-полные . NP-полные имеет два условия. В простом случае, когда в двоичной матрице A есть только один элемент a ( i , j ) , равный либо 0, либо 1, бикластер равен биклике в соответствующем двудольном графе . Максимальный размер бикластера эквивалентен максимальному ребру биклике в двудольном графе. В сложном случае элемент в матрице A используется для вычисления качества данного бикластера и решения более ограниченной версии задачи. [13] Это требует либо больших вычислительных усилий, либо использования эвристики с потерями для сокращения вычислений. [14]
Бикластер с постоянными значениями (а)
Когда алгоритм бикластеризации пытается найти бикластер с постоянным значением, он переупорядочивает строки и столбцы матрицы, чтобы сгруппировать вместе похожие строки и столбцы, в конечном итоге группируя бикластеры с похожими значениями. Этот метод достаточен, когда данные нормализованы. Идеальный постоянный бикластер — это матрица (I,J), в которой все значения a(i,j) равны заданной константе μ. В материальных данных эти записи a(i,j) могут быть представлены в виде n(i,j) + μ , где n(i,j) обозначает шум . Согласно алгоритму Хартигана, путем разбиения исходной матрицы данных на набор бикластеров дисперсия используется для вычисления постоянных бикластеров. Следовательно, идеальный бикластер может быть эквивалентно определен как матрица с дисперсией, равной нулю. Чтобы предотвратить разбиение матрицы данных на бикластеры с единственной строкой и одним столбцом; Хартиган предполагает, что в матрице данных есть, например, K бикластеров. Когда матрица данных разделена на K бикластеров, алгоритм завершается.
Бикластер с постоянными значениями в строках (b) или столбцах (c)
В отличие от бикластеров с постоянным значением, эти типы бикластеров не могут быть оценены исключительно на основе дисперсии их значений. Чтобы завершить идентификацию, столбцы и строки должны быть сначала нормализованы. Однако существуют другие алгоритмы без шага нормализации, которые могут находить бикластеры, имеющие строки и столбцы с различными подходами.
Бикластер с когерентными значениями (d, e)
Для бикластеров с когерентными значениями в строках и столбцах следует рассмотреть общее улучшение по сравнению с алгоритмами для бикластеров с постоянными значениями в строках или столбцах. Этот алгоритм может содержать анализ дисперсии между группами, используя ковариацию между строками и столбцами. В теореме Ченга и Чёрча бикластер определяется как подмножество строк и столбцов с почти одинаковым баллом. Балл сходства используется для измерения когерентности строк и столбцов.
Связь между этими кластерными моделями и другими типами кластеризации, такими как корреляционная кластеризация, обсуждается в [15] .
Существует множество алгоритмов бикластеризации, разработанных для биоинформатики , в том числе: блочная кластеризация, CTWC (связанная двухсторонняя кластеризация), ITWC (взаимосвязанная двухсторонняя кластеризация), δ-бикластер, δ-pCluster, δ-паттерн, FLOC, OPC, пледовая модель, OPSM (сохраняющие порядок подматрицы), Gibbs, SAMBA (статистико-алгоритмический метод для бикластерного анализа), [16] надежный алгоритм бикластеризации (RoBA), минимизация пересечения, [17] cMonkey, [18] PRM, DCC, LEB (локализация и извлечение бикластеров), QUBIC (качественная бикластеризация), BCCA (алгоритм бикорреляционной кластеризации), BIMAX, ISA и FABIA ( факторный анализ для получения бикластера), [19] runibic, [20] и недавно предложенный гибридный метод EBIC (evolutionary-based Biclustering), [21], который, как было показано, обнаруживает множественные шаблоны с очень высокой точностью. Совсем недавно был предложен IMMD-CC [22] , разработанный на основе концепции итеративного снижения сложности. IMMD-CC способен идентифицировать центроиды кокластера из сильно разреженного преобразования, полученного с помощью итеративной многомодовой дискретизации.
Алгоритмы бикластеризации также были предложены и использовались в других прикладных областях под названиями совместная кластеризация, двумерная кластеризация и подпространственная кластеризация. [14]
Учитывая известную важность обнаружения локальных закономерностей в данных временных рядов , недавние предложения были направлены на решение проблемы бикластеризации в конкретном случае данных экспрессии генов временных рядов . В этом случае интересные бикластеры могут быть ограничены теми, у которых есть смежные столбцы. Это ограничение приводит к разрешимой проблеме и позволяет разрабатывать эффективные алгоритмы исчерпывающего перечисления , такие как CCC-бикластеризация [23] и e - CCC-бикластеризация. [24] Приближенные закономерности в алгоритмах CCC-бикластеризации допускают заданное количество ошибок на ген относительно профиля экспрессии, представляющего закономерность экспрессии в бикластере. Алгоритм e-CCC-бикластеризации использует приближенные выражения для поиска и сообщения всех максимальных CCC-бикластеров с помощью дискретизированной матрицы A и эффективных методов обработки строк.
Эти алгоритмы находят и сообщают все максимальные бикластеры с когерентными и смежными столбцами с идеальными/приблизительными шаблонами экспрессии, в линейном/ полиномиальном времени , которое получается путем манипулирования дискретизированной версией исходной матрицы экспрессии в размере матрицы экспрессии генов временного ряда с использованием эффективных методов обработки строк , основанных на деревьях суффиксов . Эти алгоритмы также применяются для решения проблем и наброска анализа вычислительной сложности.
Некоторые недавние алгоритмы пытались включить дополнительную поддержку бикластеризации прямоугольных матриц в виде других типов данных , включая cMonkey.
Продолжаются дебаты о том, как оценивать результаты этих методов, поскольку бикластеризация допускает перекрытие между кластерами, а некоторые алгоритмы позволяют исключать трудно согласуемые столбцы/условия. Не все доступные алгоритмы являются детерминированными, и аналитик должен обращать внимание на степень, в которой результаты представляют собой стабильные минимумы . Поскольку это проблема неконтролируемой классификации , отсутствие золотого стандарта затрудняет обнаружение ошибок в результатах. Один из подходов заключается в использовании нескольких алгоритмов бикластеризации с голосованием большинства или сверхбольшинства среди них для определения наилучшего результата. Другой способ заключается в анализе качества шаблонов сдвига и масштабирования в бикластерах. [25] Бикластеризация использовалась в области интеллектуального анализа текста (или классификации), которая широко известна как совместная кластеризация. [26] Текстовые корпуса представлены в векторной форме в виде матрицы D, строки которой обозначают документы, а столбцы — слова в словаре. Элементы матрицы D ij обозначают вхождение слова j в документ i. Затем применяются алгоритмы совместной кластеризации для обнаружения блоков в D, соответствующих группе документов (строк), характеризующихся группой слов (столбцов).
Кластеризация текста может решить проблему разреженного многомерного текста, что означает одновременную кластеризацию текста и слов. При кластеризации текста нам нужно думать не только об информации о словах, но и об информации о кластерах слов, которые были составлены словами. Затем, в соответствии со сходством характерных слов в тексте, в конечном итоге кластеризуются характерные слова. Это называется совместной кластеризацией. Есть два преимущества совместной кластеризации: во-первых, кластеризация теста на основе кластеров слов может значительно уменьшить размерность кластеризации, это также может быть целесообразно для измерения расстояния между тестами. Во-вторых, извлекается больше полезной информации и может быть получена соответствующая информация в тестовых кластерах и кластерах слов. Эта соответствующая информация может быть использована для описания типа текстов и слов, в то же время результат кластеризации слов может быть также использован для интеллектуального анализа текста и поиска информации.
Было предложено несколько подходов, основанных на информационном содержании полученных блоков: подходы на основе матриц, такие как SVD и BVD, и подходы на основе графов. Информационно-теоретические алгоритмы итеративно назначают каждую строку кластеру документов, а каждый столбец кластеру слов таким образом, чтобы взаимная информация была максимизирована. Матричные методы фокусируются на разложении матриц на блоки таким образом, чтобы ошибка между исходной матрицей и регенерированными матрицами из разложения была минимизирована. Графовые методы имеют тенденцию минимизировать разрезы между кластерами. При наличии двух групп документов d 1 и d 2 количество разрезов можно измерить как количество слов, которые встречаются в документах групп d 1 и d 2 .
Совсем недавно (Биссон и Хуссейн) [26] предложили новый подход использования сходства между словами и сходства между документами для совместной кластеризации матрицы. Их метод (известный как χ-Sim , для перекрестного сходства) основан на поиске сходства документа с документом и сходства слова со словом, а затем на использовании классических методов кластеризации, таких как иерархическая кластеризация . Вместо того, чтобы явно кластеризовать строки и столбцы поочередно, они рассматривают вхождения слов более высокого порядка, по сути принимая во внимание документы, в которых они встречаются. Таким образом, сходство между двумя словами вычисляется на основе документов, в которых они встречаются, а также документов, в которых встречаются «похожие» слова. Идея здесь заключается в том, что два документа по одной и той же теме не обязательно используют один и тот же набор слов для ее описания, а подмножество слов и других похожих слов, которые характерны для этой темы. Такой подход, основанный на учете сходств более высокого порядка, учитывает скрытую семантическую структуру всего корпуса, что приводит к лучшей кластеризации документов и слов.
В текстовых базах данных для коллекции документов, определенной матрицей D (размером m на n, m: количество документов, n: количество терминов), методология кластеризации на основе коэффициента покрытия [27] дает одинаковое количество кластеров как для документов, так и для терминов (слов) с использованием двухэтапного вероятностного эксперимента. Согласно концепции коэффициента покрытия количество кластеров также можно приблизительно оценить по следующей формуле , где t — количество ненулевых записей в D. Обратите внимание, что в D каждая строка и каждый столбец должны содержать по крайней мере один ненулевой элемент.
В отличие от других подходов, FABIA является мультипликативной моделью, которая предполагает реалистичные негауссовские распределения сигналов с тяжелыми хвостами . FABIA использует хорошо известные методы выбора модели, такие как вариационные подходы, и применяет байесовскую структуру. Генеративная структура позволяет FABIA определять информационное содержание каждого бикластера, чтобы отделить ложные бикластеры от истинных бикластеров.