БЕРЕЗА
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
BIRCH ( сбалансированное итеративное сокращение и кластеризация с использованием иерархий ) — это неконтролируемый алгоритм интеллектуального анализа данных , используемый для выполнения иерархической кластеризации особенно больших наборов данных. [ 1 ] С модификациями его также можно использовать для ускорения кластеризации k-средних и моделирования гауссовской смеси с помощью алгоритма ожидания-максимизации . [ 2 ] Преимуществом BIRCH является его способность постепенно и динамически кластеризовать входящие многомерные точки данных метрик в попытке обеспечить кластеризацию наилучшего качества для заданного набора ресурсов ( ограничения памяти и времени ). В большинстве случаев BIRCH требует только одного сканирования базы данных.
Его изобретатели заявляют, что BIRCH является «первым алгоритмом кластеризации, предложенным в области баз данных для эффективной обработки «шума» (точек данных, которые не являются частью основного шаблона)». [ 1 ] опередив DBSCAN на два месяца. Алгоритм BIRCH получил награду SIGMOD за 10-летнюю проверку временем в 2006 году. [ 3 ]
Проблема с предыдущими методами
[ редактировать ]Предыдущие алгоритмы кластеризации работали менее эффективно в очень больших базах данных и не учитывали должным образом случай, когда набор данных был слишком большим, чтобы поместиться в основной памяти . В результате требовалось много накладных расходов на поддержание высокого качества кластеризации при минимизации стоимости дополнительных операций ввода-вывода (ввода/вывода). Более того, большинство предшественников BIRCH проверяют все точки данных (или все существующие в настоящее время кластеры) одинаково для каждого «решения о кластеризации» и не выполняют эвристическое взвешивание на основе расстояния между этими точками данных.
Преимущества с БЕРЕЗОЙ
[ редактировать ]Он является локальным, поскольку каждое решение о кластеризации принимается без сканирования всех точек данных и существующих в данный момент кластеров. Он использует наблюдение о том, что пространство данных обычно неравномерно занято и не каждая точка данных одинаково важна. Он полностью использует доступную память для получения наилучших возможных подкластеров при минимизации затрат на ввод-вывод. Это также инкрементный метод, который не требует сбора всего набора данных предварительного .
Алгоритм
[ редактировать ]Алгоритм BIRCH принимает на вход набор из N точек данных, представленных в виде действительным знаком , и желаемое количество кластеров K. векторов с Он работает в четыре этапа, второй из которых является необязательным.
На первом этапе создается функция кластеризации ( ) дерево из точек данных, структура данных дерева со сбалансированной высотой , определенная следующим образом:
- Учитывая набор N d-мерных точек данных, функция кластеризации множества определяется как тройка , где
- представляет собой линейную сумму.
- представляет собой квадратную сумму точек данных.
- Функции кластеризации организованы в виде CF-дерева , сбалансированного по высоте дерева с двумя параметрами: [ нужны разъяснения ] фактор разветвления и порог . Каждый нелистовой узел содержит не более записи формы , где является указателем на его дочерний узел и функция кластеризации, представляющая связанный подкластер. содержит Листовой узел не более записи каждой формы . Он также имеет два указателя prev и next, которые используются для объединения всех конечных узлов. Размер дерева зависит от параметра . Узел должен поместиться на странице размера . и определяются . Так могут быть изменены для настройки производительности . Это очень компактное представление набора данных, поскольку каждая запись в конечном узле представляет собой не отдельную точку данных, а подкластер.
На втором этапе алгоритм сканирует все листовые записи в исходном дерево, чтобы восстановить меньшее дерево, удаляя при этом выбросы и группируя переполненные подкластеры в более крупные. В исходной версии BIRCH этот шаг помечен как необязательный.
На третьем этапе используется существующий алгоритм кластеризации для кластеризации всех конечных записей. Здесь алгоритм агломеративной иерархической кластеризации применяется непосредственно к субкластерам, представленным их кластерами. векторы. Он также обеспечивает гибкость, позволяя пользователю указать либо желаемое количество кластеров, либо желаемый порог диаметра кластеров. После этого шага получается набор кластеров, который фиксирует основные закономерности распределения данных. Однако могут существовать незначительные и локализованные неточности, которые можно устранить на дополнительном этапе 4. На этапе 4 центроиды кластеров, созданных на этапе 3, используются в качестве начальных значений и перераспределяют точки данных по ближайшим начальным значениям для получения нового набора кластеры. Шаг 4 также дает нам возможность отбросить выбросы. Это точка, которая находится слишком далеко от ближайшего начального значения, может рассматриваться как выброс.
Расчеты с учетом особенностей кластеризации
[ редактировать ]В этом разделе отсутствует информация об уравнениях БЕРЧА для диаметра D, расстояний D0, D1, D3 и D4. ( июль 2023 г. ) |
Учитывая только функцию кластеризации , те же показатели могут быть рассчитаны без знания лежащих в их основе фактических значений.
- Центроид:
- Радиус:
- Среднее расстояние связи между кластерами и :
В многомерных случаях квадратный корень следует заменить подходящей нормой.
BIRCH использует расстояния от DO до D3, чтобы найти ближайший лист, затем радиус R или диаметр D, чтобы решить, следует ли поглощать данные существующим листом или добавлять новый лист.
Численные проблемы в функциях кластеризации BIRCH
[ редактировать ]К сожалению, существуют числовые проблемы, связанные с использованием термина в БЕРЕЗЕ. При вычитании или подобное на других расстояниях, таких как , может произойти катастрофическая отмена , которая приведет к плохой точности, а в некоторых случаях может даже привести к тому, что результат будет отрицательным (и тогда квадратный корень станет неопределенным). [ 2 ] Эту проблему можно решить, используя функции кластера BETULA. вместо этого они хранят счетчик , иметь в виду , а сумма квадратов отклонений вместо этого основана на численно более надежных онлайн-алгоритмах для расчета дисперсии . Для этих особенностей справедлива аналогичная теорема аддитивности. При сохранении вектора или матрицы квадратов отклонений полученное CF-дерево BIRCH также можно использовать для ускорения моделирования гауссовой смеси с помощью алгоритма максимизации ожидания , помимо кластеризации k-средних и иерархической агломеративной кластеризации .
Вместо хранения линейной суммы и суммы квадратов мы можем хранить среднее значение и квадратическое отклонение от среднего значения в каждом признаке кластера. , [ 4 ] где
- вес узла (количество точек)
- - вектор центра узла (среднее арифметическое, центроид)
- представляет собой сумму квадратов отклонений от среднего значения (либо вектор, либо сумма для экономии памяти, в зависимости от приложения)
Основное отличие здесь в том, что S вычисляется относительно центра, а не относительно начала координат.
Одна точка может быть преобразован в функцию кластера . Чтобы объединить две функции кластера , мы используем
- (инкрементное обновление среднего значения)
- в векторной форме с использованием поэлементного произведения соответственно
- обновить скалярную сумму квадратов отклонений
В этих вычислениях используются более надежные численные вычисления (см. онлайн-вычисление дисперсии ), которые позволяют избежать вычитания двух одинаковых квадратов значений. Центроид — это просто вектор центра узла. и может быть непосредственно использован для расчета расстояний, например, с использованием евклидовых или манхэттенских расстояний. Радиус упрощается до и диаметр до .
Теперь мы можем вычислить различные расстояния от D0 до D4, используемые в алгоритме BIRCH, как: [ 4 ]
- Евклидово расстояние и расстояние до Манхэттена вычисляются с использованием центров CF
- Межкластерное расстояние
- Внутрикластерное расстояние
- Расстояние увеличения дисперсии
Эти расстояния также можно использовать для инициализации матрицы расстояний для иерархической кластеризации, в зависимости от выбранной связи. Для точной иерархической кластеризации и кластеризации k-средних нам также необходимо использовать вес узла. .
Шаг кластеризации
[ редактировать ]CF-дерево предоставляет сжатую сводку набора данных, но сами листья обеспечивают лишь очень плохую кластеризацию данных. На втором этапе листья можно сгруппировать, используя, например,
- k-означает кластеризацию , где листья взвешиваются по количеству точек, N.
- k-means++ путем выборки признаков кластера, пропорциональных где — ранее выбранные центры, и — это функция кластера BETULA.
- Моделирование гауссовой смесью , где также может быть принята во внимание дисперсия S, а если листья хранят ковариации, то и ковариации.
- Иерархическая агломеративная кластеризация , где связь может быть инициализирована с использованием следующей эквивалентности связей расстояниям BIRCH: [ 5 ]
Связь HAC | БЕРЕЗОВАЯ дистанция |
---|---|
УПГМА | Д2² |
ВПГМА | D0² |
Сторожить | 2 Д4² |
Доступность
[ редактировать ]- ЭЛКИ содержит БЕРЕЗУ и БЕТУЛУ.
- scikit-learn содержит ограниченную версию BIRCH, которая поддерживает только расстояние D0, статические пороги и использует только центроиды листьев на этапе кластеризации. [ 6 ]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Чжан, Т.; Рамакришнан, Р.; Ливны, М. (1996). «BIRCH: эффективный метод кластеризации данных для очень больших баз данных». Материалы международной конференции ACM SIGMOD 1996 года по управлению данными - SIGMOD '96 . стр. 103–114. дои : 10.1145/233269.233324 .
- ^ Перейти обратно: а б Ланг, Андреас; Шуберт, Эрих (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 января 2021 г.
- ^ «Премия SIGMOD «Испытание временем, 2006 г.»» . Архивировано из оригинала 23 мая 2010 г.
- ^ Перейти обратно: а б Ланг, Андреас; Шуберт, Эрих (2022). «BETULA: Быстрая кластеризация больших данных с улучшенными CF-деревьями BIRCH» . Информационные системы . 108 : 101918. doi : 10.1016/j.is.2021.101918 .
- ^ Перейти обратно: а б Шуберт, Эрих; Ланг, Андреас (31 декабря 2022 г.), «5.1 Агрегация данных для иерархической кластеризации», Машинное обучение в условиях ограничений ресурсов — основы , Де Грюйтер, стр. 215–226, arXiv : 2309.02552 , ISBN 978-3-11-078594-4
- ^ как обсуждалось в [1]