TopList

Метод неиерархических разбиений
…Главное, чтобы все развивалось систематически. Во всем должна быть система. – Систематическая система, – заметил старший писарь Ванек, скептически улыбаясь. – Да, – небрежно обронил вольноопределяющийся, – систематизированная систематическая система…
Я.Гашек. Похождения бравого солдата Швейка во время мировой войны. Ч.III. Глава III. Из Жатвана на галицийскую границу.

Квикег был туземцем с острова Коковоко, расположенного далеко на юго-западе. На карте этот остров не обозначен – настоящие места никогда не отмечаются на картах.
Г.Мелвилл. Моби Дик, или Белый Кит. Глава XII. Жизнеописательная.

Рассмотрим множество из m элементов wОW. Известно, что разбиением называется совокупность K попарно непересекающихся подмножеств W1,...WK, объединение которых образует исходное множество W. Пусть элементы wi представлены векторами xi = (xi1,…xin) в некотором n-мерном пространстве. В задачах кластер-анализа их называют объектами, расположенными в n-мерном пространстве признаков (измеренных характеристик). Объекты образуют строки матрицы X(m,n), а их разбиение называют кластеризацией (классификацией).

В задачах кластер-анализа признаков элементами являются признаки, расположенные в n-мерном пространстве объектов (актов измерений). Очевидно, что признаки образуют столбцы в той же матрице X(m,n). Здесь нам удобно будет считать, что признаки образуют строки другой матрицы X(m,n), полученной после транспонирования исходной матрицы и переобозначения ее размерностей. Разбиение признаков обычно называют группировкой.

Сходство пары объектов обычно оценивают евклидовым расстоянием между ними, а сходство пары признаков – их взаимной корреляцией. Пусть матрица D(m,m) является матрицей попарного сходства элементов w в соответствующем пространстве.

Пусть выполнено некоторое разбиение множества W. Обычно каждому подмножеству Wi можно сопоставить некоторый элемент vi, который является наиболее типичным для него в некотором смысле. Назовем такой элемент представителем данного множества. В общем случае представитель vi может и не совпадать ни с одним элементов из Wi. Например, в задаче кластеризации представителем часто назначается средний вектор zi по подматрице X(mi,n), а в некоторых задачах группировки (экстремальная группировка) таким представителем назначается первая главная компонента подматрицы D(mi,mi) – в этом случае компоненты представителя вычисляются немного сложнее.

  • Вычисление представителя группы. Пусть ai = (ais, s=1,…mi) – первая главная компонента, li – максимальное собственное число корреляционной матрицы D(mi,mi) группы признаков Wi. Тогда вектор (li)1/2ai определяет корреляции d(fi,xj) фактора группы fi = (fi1,…fin) со своими признаками xj = (xj1,…xjn). Корреляции фактора fi с признаками других групп W1,...Wi–1, Wi+1,…WK определяются как d(fi,xj) = (1/n)fixjT = (li)-1/2aidjT, где dj=(djs, s = 1,…mi)часть строки j матрицы D(m,m), где сама строка соответствует признаку xjПWi, а ее элементы соответствуют признакам группы Wi. Обозначив корреляции фактора fi со всеми признаками вектором gi = (gi1,…gim), получим компоненты представителя как значения на оси этого фактора zi = fi = giX.
Будем говорить, что представителями назначаются “центры” соответствующих множеств. Очевидно, что в общем случае смысл центра зависит от контекста задачи.

Назовем некоторое разбиение несмещенным, если все представители в нем совпадают со своими центрами.

Обычно расположение элементов w в соответствующем пространстве оценивают некоторой характеристикой плотности расположения (сгущения). Например, в кластер-анализе плотность разбиения характеризуют дисперсиями кластеров Wi. В задаче экстремальной группировки плотность разбиения характеризуют, например, суммой квадратов (или модулей) корреляций представителя каждой группы Wi со своими признаками.

Теперь нам удобно сформулировать базовый алгоритм разбиения некоторого множества W на заранее заданное число K подмножеств Wi.

Алгоритм 1. Назначим некоторым способом K представителей, например, как K самых несходных друг с другом элементов. На очередном шаге s выполним разбиение, просматривая все элементы w и относя их к тому множеству Wi, с представителем которого они сходны более всего. Если разбиение оказалось смещенным, то назначим центры множеств Wi представителями и перейдем к шагу s=s+1. Алгоритм останавливается при несмещенном разбиении.

Легко видеть, что из этой формулировки сразу же получаются известные базовые алгоритмы кластеризации (алгоритм K–средних) и экстремальной группировки. Подобным же образом можно сформулировать и другие известные варианты данных алгоритмов.

Заметим, что при K=2 представители в базовом алгоритме определяются наиболее просто – это пара элементов, соответствующая экстремальному значению в матрице сходства D (максимальное для расстояний и минимальное по модулю для корреляций значения). Построим неиерархический дивизимный алгоритм разбиения.

Алгоритм 2. На каждом шаге, начиная с K=1, возьмем наименее плотное подмножество Wk и назначим в нем представителями пару самых непохожих элементов. Алгоритмом 1 разобьем Wk на два подмножества, обозначив их как Wk и WK+1. Для K+1 подмножеств в полученном разбиении назначим представителями K-1 ранее полученных представителей v1,…vk-1, vk+1,…vK и двух новых представителей vk и vK+1. Вновь разобьем все множество W на K+1 подмножеств алгоритмом 1. Перейдем к шагу K=K+1. Алгоритм останавливается при K=m.

Данный алгоритм строит полную последовательность разбиений, начиная с единственного множества W1=W и заканчивая одноэлементными множествами W1,...Wm. В общем случае не все разбиения в построенной последовательности являются иерархически вложенными. Очевидно, что два последовательных разбиения на K и K+1 подмножеств образуют иерархию, если разбиение наименее плотного подмножества Wk на два Wk и WK+1 сразу дает несмещенное разбиение W1,...WK+1. В этом случае назовем предыдущее разбиение на K подмножеств устойчивым.

Рассмотрим элементы w как объекты. Очевидно, что на множестве W определен граф кратчайшего незамкнутого пути (минимальное покрывающее дерево). Если рассмотреть элементы w как признаки, то также очевидно, что на множестве W определен граф максимального незамкнутого корреляционного пути. Будем говорить, что на множестве W определен незамкнутый граф максимального сходства.

Теорема. Пусть неиерархическим дивизимным алгоритмом построено дерево разбиений. Тогда оно эквивалентно незамкнутому графу максимального сходства.

  • Доказательство. Так как разбиение является деревом, то на каждом очередном шаге K достаточно выполнить только разбиение множества Wk на два подмножества k и k которые сразу обозначить как Wk и WK+1. Так как такое промежуточное разбиение сразу же порождает несмещенное разбиение W1,...WK+1, то безразлично, каким способом выбрать очередное для разбиения. Выбирая множество Wk всеми возможными способами, получим некоторое множество последовательностей разбиений, – и все они будут деревьями. Такие деревья имеют специальное название – дендрограммы,– т.к. отражают последовательность их построения. Если отвлечься от последовательности построения таких деревьев, то все они эквивалентны единственному дереву, которое отражает только иерархию вершин. Определим величину сходства множеств Wp и Wq как D(Wp,Wq) = max dij по wiОWp, wjОWq. Пусть на шаге K выбрано множество Wk, порождающее после его разбиения множества k и k с минимальным сходством Wk = argmin D(Wўl ,l), l=1,…K. Построим данным способом дивизимное дерево разбиений. Обратно, построим агломеративное дерево разбиений, объединяя подмножества с максимальных сходством. Получим то же самое дерево разбиений. Но это означает, что построено кратчайшее основное (минимальное покрывающее) дерево. Ребра такого графа соединяют вершины (элементы w), которые определяют сходство D(Wp,Wq) объединяемых множеств Wp и Wq. Следовательно, дерево разбиений эквивалентно незамкнутому графу максимального сходства.
Следствие. Если построено дерево разбиений, то неиерархический дивизимный алгоритм эквивалентен алгоритму “ближайший сосед” в задаче кластеризации и алгоритму корреляционных плеяд в задаче группировки. В общем случае данный алгоритм эквивалентен некоторому множеству иерархических дивизимных алгоритмов, начинающихся с одного кластера (группы), формирующих одну из подпоследовательностей с иерархически вложенными разбиениями и заканчивающихся при одноэлементных кластерах (группах).

Выбор оптимального разбиения
Все построились в кружок, и Незнайка принялся считать, тыкая каждого пальцем:
Энэ бэнэ рес! Квинтер финтер жес!
Энэ бэнэ ряба, квинтер финтер жаба…
Потом сказал: – Нет, мне эта считалка не нравится. Не люблю я ее! – И начал другую:
Икете пикете цокото мэ! Абель фабель доманэ.
Ики пики грамматики…
В это время корзина с силой ударилась о землю и перевернулась… Воздушное путешествие окончилось.
Н.Носов. Приключения Незнайки и его друзей. Гл.10. Авария.
Рассмотренный метод неиерархических разбиений сочетает два существенно разных подхода к построению кластеризации. С одной стороны, используются хорошо известные алгоритмы, а с другой – результат обработки столь же нагляден, как и дендрограмма. Мы здесь попытались непосредственно эксплуатировать интуитивное предположение об “устойчивости” хорошего разбиения.

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

Очевидно также, что общую последовательность разбиений можно ограничить, отбросив разбиения с малонаполненными кластерами (группами), начиная с некоторого значения K, приближающегося к размеру выборки m. При малых K можно отбросить разбиения с рыхлыми кластерами. Например, в задаче кластеризации можно отбросить разбиения, у которых средняя дисперсия кластеров превышает дисперсию их центров. Аналогично следует поступить и в задаче группировки. Тогда оставшиеся разбиения будут представлять компактные кластеры, соответствующие одному из общепринятых эвристических определений.

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

Несложно построить и агломеративный вариант алгоритма неиерархических разбиений. Его свойства достаточно очевидны.

Ниже мы покажем применение метода неиерархических разбиений в другой важной задаче кластер-анализа – обработке пропусков в данных.
 часть 1 (RUS/ENG)

-- часть 2 (RUS/ENG)

 часть 3 (RUS/ENG)

 Пример