Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

BIRCH ( сбалансированное итеративное сокращение и кластеризация с использованием иерархий ) - это алгоритм неконтролируемого интеллектуального анализа данных , используемый для выполнения иерархической кластеризации особенно больших наборов данных. [1] С изменениями его также можно использовать для ускорения кластеризации k-средних и моделирования смеси Гаусса с помощью алгоритма ожидания-максимизации . [2] Преимущество BIRCH заключается в его способности постепенно и динамически кластеризовать входящие многомерные метрические точки данных в попытке произвести кластеризацию наилучшего качества для заданного набора ресурсов (память и временные ограничения). В большинстве случаев BIRCH требует только одного сканирования базы данных.

Его изобретатели утверждают, что BIRCH является «первым алгоритмом кластеризации, предложенным в области базы данных для эффективной обработки« шума »(точек данных, не являющихся частью базового шаблона)» [1], опережая DBSCAN на два месяца. Алгоритм BIRCH получил награду SIGMOD 10-летний тест временем в 2006 году. [3]

Проблема с предыдущими методами [ править ]

Предыдущие алгоритмы кластеризации работали менее эффективно с очень большими базами данных и неадекватно учитывали случай, когда набор данных был слишком большим, чтобы поместиться в основной памяти . В результате возникло много накладных расходов на поддержание высокого качества кластеризации при минимизации затрат на дополнительные операции ввода-вывода (ввода-вывода). Более того, большинство предшественников BIRCH проверяют все точки данных (или все существующие в настоящее время кластеры) одинаково для каждого «решения о кластеризации» и не выполняют эвристическое взвешивание на основе расстояния между этими точками данных.

Преимущества с БЕРЕЗОЙ [ править ]

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

Алгоритм [ править ]

Алгоритм БЕРЕЗЫ принимает в качестве входных данных набор N точек данных, представленных в качестве вещественных векторов , и желаемое количество кластеров K . Он работает в четыре фазы, вторая из которых является необязательной.

На первом этапе строится дерево функций кластеризации ( ) из точек данных, структура данных дерева со сбалансированной высотой , определяемая следующим образом:

  • Учитывая набор из N d-мерных точек данных, функция кластеризации набора определяется как тройка , где - линейная сумма, а - квадратная сумма точек данных.
  • Функции кластеризации организованы в дерево CF , сбалансированное по высоте дерево с двумя параметрами: [ требуется пояснение ] коэффициент ветвления и порог . Каждый узел не лист содержит в большинстве записей вида , где является указателем на его го дочернего узла и функции кластеризации , представляющего связанный с ним субкластер. Листовой узел содержит в большинстве записей каждого вида . Он также имеет два указателя prev и next, которые используются для объединения всех листовых узлов. Размер дерева зависит от параметра . Узел необходим, чтобы поместиться на странице такого размера . а такжеопределяются . Так может быть изменен для настройки производительности . Это очень компактное представление набора данных, поскольку каждая запись в листовом узле является не отдельной точкой данных, а подкластером.

На втором этапе алгоритм просматривает все листовые записи в исходном дереве, чтобы восстановить меньшее дерево, удаляя выбросы и группируя переполненные подкластеры в более крупные. Этот шаг отмечен как необязательный в исходной презентации БЕРЕЗЫ.

На третьем этапе для кластеризации всех листовых записей используется существующий алгоритм кластеризации. Здесь алгоритм агломеративной иерархической кластеризации применяется непосредственно к подкластерам, представленным ихвекторов. Он также обеспечивает гибкость, позволяя пользователю указать желаемое количество кластеров или желаемый порог диаметра для кластеров. После этого шага получается набор кластеров, отражающий основную схему распределения данных. Однако могут существовать незначительные и локализованные неточности, которые можно обработать на необязательном шаге 4. На шаге 4 центроиды кластеров, созданных на шаге 3, используются в качестве начальных значений и перераспределяют точки данных между ближайшими к ним начальными элементами для получения нового набора кластеры. Шаг 4 также дает нам возможность отбросить выбросы. Это точка, которая находится слишком далеко от ближайшего к ней семени, и ее можно рассматривать как выброс.

Расчеты с функциями кластеризации [ править ]

Учитывая только функцию кластеризации , те же показатели могут быть рассчитаны без знания основных фактических значений.

  • Центроид:
  • Радиус:
  • Среднее расстояние связи между кластерами и :

В многомерных случаях квадратный корень следует заменить подходящей нормой.

Числовые проблемы в функциях кластеризации BIRCH [ править ]

К сожалению, есть числовые проблемы, связанные с использованием термина в BIRCH. При вычитании или подобном для других расстояний, таких как , может произойти катастрофическая отмена и дать плохую точность, а в некоторых случаях даже привести к отрицательному результату (и тогда квадратный корень станет неопределенным). [2] Эту проблему можно решить, используя вместо этого функции кластера BETULA , которые вместо этого хранят подсчет , среднее значение и сумму квадратов отклонений на основе численно более надежных онлайн-алгоритмов для расчета дисперсии.. Для этих функций справедлива аналогичная теорема аддитивности. При сохранении вектора или матрицы для квадратов отклонений полученное CF-дерево BIRCH также может использоваться для ускорения моделирования гауссовой смеси с алгоритмом ожидания-максимизации , помимо кластеризации k-средних и иерархической агломеративной кластеризации .

Заметки [ править ]

  1. ^ а б Чжан, Т .; Ramakrishnan, R .; Ливны, М. (1996). «БЕРЕЗА: эффективный метод кластеризации данных для очень больших баз данных». Материалы международной конференции ACM SIGMOD 1996 г. по управлению данными - SIGMOD '96 . С. 103–114. DOI : 10.1145 / 233269.233324 .
  2. ^ а б Ланг, Андреас; Шуберт, Эрих (2020), «BETULA: численно стабильные CF-деревья для кластеризации BIRCH» , поиск сходства и приложения , стр. 281–296, arXiv : 2006.12881 , doi : 10.1007 / 978-3-030-60936-8_22 , ISBN 978-3-030-60935-1, S2CID  219980434 , получено 16.01.2021
  3. ^ "2006 SIGMOD Test of Time Award" . Архивировано из оригинала на 2010-05-23.