информационные системы
Г^Н .—»-. Л
УДК 004.051
Сивоголовко Елена Владимировна
МЕТОДЫ ОЦЕНКИ КАЧЕСТВА ЧЁТКОЙ КЛАСТЕРИЗАЦИИ*
Аннотация
В данной работе производится сравнительный анализ наиболее известных индексов оценки качества кластеризации. Рассматривается эффективность индексов качества для множеств с различной структурой и делаются выводы о том, индексы с какими свойствами наиболее точны при оценке разбивающих или плотностых алгоритмов кластеризации.
Ключевые слова: кластеризация, оценка качества кластеризации, методы оценки качества кластеризации.
1. ВВЕДЕНИЕ
Кластеризация является одним из мощнейших вспомогательных средств в сфере анализа данных. В настоящее время множество различных алгоритмов кластеризации с успехом используются в самых разных научно-технических областях от физики до лингвистики и психологии. Кластеризацию используют и как самостоятельный инструмент анализа данных, и как предварительный этап для других методов анализа, таких как, например, классификация или деревья решений. Однако при всем этом оценка качества кластеризации является мало разработанной областью, и зачастую вопрос о том, насколько хороша или плоха структура кластеров, приходится решать «вручную», вне зависимости от того, являются ли данные точками на двумерной плоскости или же кусками генетической последовательности, ле-
© Сивоголовко Е.В., 2011
14
жащими в пространстве высокой размерности. Как известно, общая схема кластеризации включает в себя четыре пункта:
1. Выделение характеристик.
2. Определение метрики.
3. Разбиение объектов на группы.
4. Представление результатов.
В сущности, на каждом из первых трех этапов мы можем допустить существенные ошибки, которые могут серьезно исказить итоговый результат. Мы можем неправильно выделить интересующие нас характеристики, что, например, часто бывает при создании векторного представления для текстов. Мы можем неправильно подобрать метрики сравнения: так, в случае с кластеризацией изображений евклидова метрика не дает адекватного представления о сходстве двух рисунков. И также алгоритм разбиения на группы может допустить какие-
* Работа была частично поддержана грантом РФФИ №10-07-00156.
то неточности в процессе работы. Исходя из этого, кажется странным, что оценке качества кластеризации уделяется так мало внимания, поскольку каждый раз, получая кластерную структуру, мы хотим быть уверенными в том, что эта структура корректна, отвечает нашим требованиям и годится для дальнейшего использования.
Основная задача кластеризации обычно формулируется так: разделить объекты на группы таким образом, чтобы сходство между объектами одной группы было велико, а сходство между объектами разных групп -мало. Исходя из этого, понятие качества кластеризации состоит из следующих пунктов
Компактность: элементы кластера должны быть как можно ближе друг к другу. Это свойство можно выразить через расстояния между элементами в кластере, плотностью внутри кластера или же объемом, занимаемым кластером в многомерном пространстве.
Отделимость: расстояние между различными кластерами должно быть как можно больше. Это правило применяется как для четкой так и для нечеткой кластеризации. В первом случае расстояние между кластерами обычно измеряется одним из трех следующих способов: 1) как расстояние между ближайшими элементами кластеров, 2) как расстояние между наиболее удаленными друг от друга элементами кластеров и 3) как расстояние между кластерными центрами. В случае нечеткой кластеризации для измерения межкластерного расстояния обычно используется матрица принадлежности.
[Концентрация: элементы кластера должны быть сконцентрированы вокруг центра кластера. Этот пункт используется гораздо реже, чем первые два, потому что далеко не во всех алгоритмах кластеризации используется понятие центра кластера].
Для самих метрик качества обычно вводят следующую классификацию:
Внутренние - к ним относятся метрики, которые при оценке качества используют какую-либо уже известную информацию о структуре кластеров, существующей в рассматриваемом множестве. Как правило, такие метрики применяются при оценке эффективности работы алгоритма кластеризации, когда в качестве тестового множества используется какое-либо множество данных с известной структурой классов.
Внешние - к ним относятся метрики, которые не имеют априори знаний о структуре классов и при оценке опираются только на ту информацию, которую можно получить опираясь на множество данных.
Относительныге - оценивают качество, сравнивая несколько кластерных структур между собой, не имея априорной информации и принимая в расчет только сведения о кластерной структуре и кластеризуемом множестве.
Это деление является несколько нечетким в том смысле, что «внешняя» метрика, применяемая для разных структур, может быть рассмотрена как относительная, и «относительная» метрика, основанная на сравнении показателей, получаемых для каждой структуры по отдельности, может быть использована как внешняя. В случае с внешними метриками не происходит сравнения с показателями для других структур: для признания структуры качественной можно использовать либо метод Монте-Карло, либо просто какой-то определенный порог для значений индекса качества.
В данной статье мы будем рассматривать относительные метрики, предназначенные для оценки качества алгоритмов четкой кластеризации, то есть той в которой не допускается пересечение кластеров, также мы проведем некоторый сравнительный анализ по использованию тех или иных метрик для различных классов алгоритмов кластеризации.
2. ОБЗОР СУЩЕСТВУЮЩИХ ПОДХОДОВ
Используемые обозначения:
X - кластеризуемое множество,
N - количество элементов во множестве X,
c - число кластеров,
nc - число элементов в кластере ci,
' S *
vt - центр кластера c:. vi =--—,
nc
c- 1 iV
X - центральный элемент множества X = — S x}-,
_ — 1 V c
v - центр центров v = — S v■ ,
c¿-a=1 -
d - размерность множества X, || • || - евклидова метрика в X.
Как уже говорилось ранее, оценка качества кластеризации является менее популярной областью научного исследования, чем сам кластерный анализ как таковой, поэтому индексов оценки качества в принципе существует не очень много. Основные из них приведены в следующем списке.
1. Модифицированная Hubert Г Statistic [1]
1 N-1 N
Г= M SSp(-. j) Q(-. j),
ivi -=i j=-+i
здесь M = N * (N^ 1) , P - матрица близости (proximity matrix) для кластеризуемого множества, Q - матрица N x N, в которой элемент (i, j) соответствует расстоянию между центра-
ми кластеров (ус. , ус. ), к которым принадлежат элементы - х{ и хсоответственно. Чем выше значение статистики, тем лучше структура кластеров.
Так может использоваться нормализованная версия статистики
т I Г;11Г= гз)-т Шг, з)-т)
Г
= M =1 ^ j=-+1
SP SQ
Здесь тР , т, оР и Од - суть средние значения и среднеквадратичные отклонения для матриц Р и Q соответственно. Г принимает значения в промежутке [-1, 1]. Точно так же, как и для не нормализованного варианта, большие значения Г подразумевают лучшую структуру кластеров.
2. Calinski-Harabasz индекс [2]. Пусть й2 - средний квадрат расстояния между элементами в кластеризуемом множестве и й2 - средний квадрат расстояния между элементами в кластере е.. Тогда сумма расстояний внутри групп
1 с —
WGSS = -I (псг -1) й
и сумма расстояний между группами
2 Ц
1 -9
BGSS _ ^ ((c - 1)d2 + (N - c) Ac),
12 ■
1 с — —
где Ас =-1 (п - 1)(й2 -й2) - взвешенная средняя разница расстояний между цент-
N - с" г
рами кластеров и общим центром множества. Тогда определим формулу индекса как
BGSS N - c . л N - c
- d +-Ac 1 +-a,
VR_C_ c 1 __c 1___c 1
c
й2 - Ас 1 - ас '
N - с
а
где ас ==2 . Легко видеть, что если все расстояния между точками одинаковы, то а = 0 и й е
УЯС = 1. ас = 1 исключительно для «идеальной» кластеризации, когда в кластерах нет никакого отклонения. При нормальном распределении данных ас медленно, но постоянно возрастает при увеличении с. Однако, УЯС убывает при постоянном ас и возрастающем с, что немножко балансирует рост ас в случае нормального распределения. Максимальное значение индекса УЯС соответствует оптимальной структуре кластеров.
3. Индекс Данна [3]
D = min j
d (с,-, Cj )
max fe{i...c} diam(ck )
В этом случае d - расстояние между кластерами е. и е., определяющееся, например как рас-
1 J
стояние между двумя их ближайшими элементами d (с,, Cj ) = min XÎC., || x - y ||, diam (c, ) -диаметр кластера - может быть рассчитан как максимальное расстояние между элементами одного кластера: diam(c, ) = maxx,^ || x - y ||. Таким образом, индекс Данна сравнивает межкластерное расстояние с диаметром кластера. Считается, что если диаметр кластера мал по сравнению с межкластерным расстоянием, то кластеры полученной структуры достаточно компактны и отделимы. Следовательно, чем больше значение индекса, тем лучше кластеризация. Следует заметить, что сам по себе индекс Данна чувствителен к шуму и выбросам в данных. Чтобы устранить эту погрешность, были созданы некоторые модификации индекса, изменения в которых касались измерения межкластерного расстояния. Так, например, одним из вариантов подсчета является использование минимального остовного дерева. В этом случае для каждого кластера ei строится граф Gi, в вершинах которого находятся элементы кластера, а вес для каждого ребра ejk определяется как расстояние между x. и xk соответственно: w(eJk ) = || x, - xk ||. Затем для графа Gi строится минимальное остовное дерево MSTG., и диаметр кластера принимается равным максимальному весу ребра в MSTG. : diam(c, ) = mineeE(MSTG ) w(e). Также вместо минимального остовного дерева можно использовать относительный граф ближайших соседей (relative neighbourhood graph) и граф Габриэля (Gabriel graph) [4].
4. Индекс Девида-Болдуина [5]
1
ï 1 F
Пусть S, — У llx - vJH > - мера разброса внутри кластера е. и
î nc^xîc'" j
dj ={к -vk)p }p -мера различия между кластерами (dissimilarity measure), тогда мерой схожести между кластерами е. и е. может являться любая функция R.., удовлетво-
. J V
ряющая следующим условиям:
a) Rv > 0,
b) RV = Rfl ,
c) при St = 0 и SV = 0 RV = 0,
d) при SV > Sk и dv = dk RV > Rk ,
e) при Sv = Sk и dv < dk Rv > Rk .
Сами авторы предлагают следующий вариант подсчета схожести:
S, + S, R =--L .
1 d
Тогда сам индекс вычисляется по формуле:
1 c
DB =1У R, ,
i=i
где R = max,,je{1..e}4-tj (Щ). Как видно из определения, DB индекс определяет среднюю
схожесть между кластером е{ и наиболее близким к нему кластером. Поскольку подразумевается, что кластеры в структуре значительно отличаются друг от друга, наилучшей будет структура с минимальныш DB. Существуют также другие варианты подсчета разброса внутри кластера, в частности, с применением такой же методики на графах, как и для индекса Данна [4].
5. CS validity index [6]
Создан как сборка из индексов Данна и Деви-Болдуина
IC=1 |"LIx„xkec, maX(H -
CS = -
Ie=1ml
mln j(||v, - vj
Измеряет отношение максимального расстояния между точками в одном кластере к минимальному межкластерному расстоянию. Оптимальная структура характеризуется меньшим показателем CS. 6. PS validity index [7]
ps =11- I
ds (xj , vi )|1 xj - vr
c i =1 Пц еаг mln m*n || Vm - Vn
где ds (Xj, у,) - расстояние симметрии (point symmetry distance) для точки xi, вычисляемое по формуле
,, , • f||(Xj -v) + (xk -v,)|| 1
ds (x., vг) = min i--->.
j xkeCiMj^Hxj - Vi || + || Xk - Vi || J
Чем меньше показатель PS, тем лучше структура кластеров. 7. SD индекс [8]
Определим дисперсию на множестве и дисперсию внутри кластера следующим обра-
зом:
Дисперсия на множестве:
Дисперсия внутри кластера:
s
x =1 In=i(xp -xp)2, n k=1
ff,
s'
1 2
= —I xec, (xp - У' )
s
X
Sv
Sv
Средний разброс для кластеров определяется так:
Sea« = 11ISI.
Несложно понять, что разброс в кластере служит мерой его компактности. Чем меньше значение Беаи, тем компактнее кластер. Отделимость кластеров измеряется так:
Djst = maxi,je{i...e>(||vj - v||) I
mlnг, je{1...e> СИ v} - v, ||) ifr
11| v, - vj ||
г =1, i * j
c
Sv, =
SX =
d
Собственно ББ индекс:
ББ = а * БеаП + ,
где а- взвешивающий параметр (равен Dist(еmax), если идет проверка нескольких кластерных структур на более вероятное число кластеров). Появление а объясняется тем, что в общем случае значение возрастает с количеством кластеров, и весовой коэффициент необходим, для того чтобы сбалансировать и БеаИ .
Низкое значение индекса ББ означает лучшее разбиение, так как в этом случае кластеры являются компактными (БеаЫ параметер) и отделимыми (БЫ параметер).
8. Б_Оц>Ь индекс [9] использует для определения качества кластеризации два понятия: дисперсия по кластеру и плотность между кластерами. Дисперсия определяется точно так же, как и в ББ индексе:
лм
Scatt =1У -
Плотность между кластерами определяется следующим образом:
i , \
1 c c
Dens bw =-У У
dens(u ,,)
с(с -1) ,=1 ,=и^] шах(<яе«фг), йет(\})) V
Здесь и.. - есть середина линии, соединяющей кластерные центры у. и V. . В свою
] 1 ]
очередь, функция плотности ёвт(ы у) = У е и ,/(х, и у). Функция /(х, иу) определяет окрестность точки и у как гиперсферу с центром в и у и радиусом, равным среднему стан-
дартному отклонению по всем кластерам
stdev
=и Z>,II
f (XU г, ) =
[0, если || x - uj ||> stdev,
11, в другом случае.
Таким образом, Dens_bw рассматривает среднее количество элементов между кластерами как меру отделимости кластеров друг от друга. Чем лучше кластеры отделены - тем ниже значение Dens_bw. Общая формула индекса для индекса S_Dwb:
S_Dwb = Dens_bw + Scatt.
Поскольку малые значения Dens_bw и Scatt характеризуют лучшую структуру кластеров, то и все значение индекса должно быть минимальным для получения наилучшего результата.
9. RMSSTD и RS индексы [10]
RMSSTD (root - mean - square standard deviation) индекс вычисляется через сумму дисперсий (pooled sample variance) по всем аттрибутам данных, используемых в процессе кластеризации. Индекс измеряет неоднородность полученных кластеров на каждом шаге алго-ритма(изначально он использовался для иерархических алгоритмов кластеризации). Поскольку задача кластеризации - это выделение однородных групп данных, RMSSTD индекс должен быть как можно ниже, если его значение повышается, значит полученная на следующем шаге кластерная структура будет хуже уже существующей.
pooled sum of squares for all variables
RMSSTD = tJpooled var iance =
Итоговая формула:
"у ynCiP (x
■¿-¡i<c, p<di-!j =1 v .
pooled degrees of freedoms for all variables
1/2
RMSSTD =
iTPI2
vp)
Ji<c,p<d (nCp
1)
1/2
У i<c У p<d yn=ip (XPj V,P )
d *
n -1)
12
Здесь d - размерность пространства, xp - компонента p вектора х-.
Индекс RS (R Squared) измеряет несхожесть между кластерами, его значение варьируется от 0 до 1, где значение 0 свидетельствует о том, что различие между кластерами очень невелико, то есть полученная структура неинформативна. Он состоит из трех основных частей:
a) SSw - сумма квадратов расстояний внутри кластера,
b) SSb - сумма квадратов расстояний между кластерами,
c) SSt - сумма квадратов расстояний по всему множеству, причем SSt = SSw + SSb.
Формула индекса RS:
RS = -SSb = SSt - SSw
SSt SSt
d N
где SSt = SEX -)2, SSW = £££(XP -VP)2-
P=1 j=1 P=1 i=1 j=1
Изначально RMSSD T, SPR, RS, CD индексы вводились как индексы для иерархических алгоритмов: они использовались, для того чтобы понять на какой итерации алгоритма следует остановиться, однако не имеется никаких противопоказаний, к тому чтобы использовать их и для оценки качества кластеризации в целом. Однако, в случае не-иерархических алгоритмов наилучшая структура выбирается не по предельному минимальному и максимальному значению, поскольку, вообще говоря, и RMSSTD и RS монотонно возрастают или убывают, соответственно, в зависимости от числа кластеров, а по «пику» («knee») на графике индекса [11], что несколько затрудняет оценку структуры с их помощью, потому что «пик» не всегда легко определить.
10. Индекс оценки силуэта (Silhouette index) [12]
«Силуэт» каждого кластера определяется следующим образом: допустим элемент х-принадлежит кластеру cp. Обозначим среднее расстояние от этого объекта до других объектов из того же кластера cp через apj. Теперь обозначим среднее расстояние от Xj до объектов из другого кластера cq, q ^ p через dq j. Положим bpj = min q#p dqj-. Смысл этой величины можно определить как меру несхожести отдельного элемента с элементами ближайшего кластера. Таким образом, «силуэт» каждого отдельного элемента определяется как
S = bPj - aPj
x max(aPj, bPj) '
Знаменатель введен в целях нормализации. Очевидно, что высокое значение показателя
Sxj характеризует собой «лучшую» принадлежность элемента х- к кластеру p. Оценка для
j
всей кластерной структуры достигается усреднением показателя по элементам:
1 N
swc =—S sx.
Лучшее разбиение характеризуется максимальным SWC, что достигается когда расстояние внутри кластера apj мало, а расстояние между элементами соседних кластеров bj велико. Также на практике используются вариации индекса силуэта: упрощенный силуэт (Simplified Silhouette) и альтернативный силуэт (Alternative Silhouette) [13]. В первом случае при определении apj и bpj используются расстояния не между одним элементом и всеми остальными элементами кластеров, а между элементом и центроидом соответствую-
b ■
щего кластера. Во втором случае SX. = —-— . e - малая константа, введенная для того
aPj +e
чтобы избежать деления на 0, если apj = 0.
d
11. Индекс Maulik-Bandoypadhyay [14, 15]
MB =
— E D
V c
Здесь Ec = у || x -v{ || - измерение внутрикластерного расстояния (inter-cluster distance). По аналогии с этим Ex - сумма расстояний от центра множества до каждого элемента. D = max= || vf -v}-1| - максимальное расстояние между кластерами. Верное количество кластеров определяется высоким показателем MB. Константа p определяется произвольно, сами авторы используют p = 2.
12. Score function [16].
Определим расстояние между кластерами так:
yc Л v, -v || *nc.
bcd = ^'=1 --—^ .
N * c
Размер кластера nc. позволяет ограничить чувствительность к выбросам. Деление на N уменьшает влияние общего числа элементов, и c используется, для того чтобы учесть «пенальти» от добавления нового кластера и избежать тупиковых ситуаций вида: один элемент - один кластер.
/ \ c 1
wcd=X —X|| x - v
i =1
n
^ Ci x^ci
Стандартный подход для измерения близости точек внутри кластера. Кластерная структура является хорошей, если bcd высокий, а wcd - низкий.
^ = 1 — 1
expbcd-wcd
exp
Чем выше SF, тем лучше структура кластеров. 13. Индекс плотности CDbw [17]
Учитывает геометрическую структуру кластеров с помощью выборки «представителей» (representatives) Vc. = (v1...vr}, где r - произвольное число, но, как утверждают авторы, более информативно брать r > 10. Список представителей составляется итеративно: сначала берется наиболее удаленный от центра кластера, а потом - наиболее удаленные от уже добавленных в список. Для расчета отделимости и плотности между кластерами ct и Cj используется множество соответствующих ближайших представителей:
RCRij = {(vft, vß )| Vik = closest _ rep' (vfl )&v fl = closest _ rep (vlk)}. Обозначение vik = closest _ rep' (vß) означает, что представитель vk является ближайшим представителем кластера c. по отношению к v Л. Таким образом, RCR.. представляет собой
I J IJ
как бы «границу» из представителей между двумя кластерами. Плотность между двумя кластерами в этом случае вычисляется как
DensiJ = - 1
У
II vk -v, || л
IJ—k-— * cardinalit y(ukl)
2 * stdev
I rcRj I (vk ,vl )eRCRj
здесь stdev = — ||, ua - середина отрезка между точками v{ и vk , и
, , / ч Хх^Д^ (x'Ukl) Го, если II x - ukl ||> stdev, cardinalit y(ukl) =---, где f (x, u) = -
nCi + ncj [1, в другом случае.
RCR'j
*
Межкластерная плотность для всей структуры определяется как
1 c
Inert _ dens = — V max(Densij).
c и *j 1
В свою очередь, расстояние между кластерами вычисляется как
1 RCRj
Disti = TRCR7 -vJ
I RCRij I Ok ,vi )eRCRij
и общая мера отделимости для всей структуры:
1c
7Vi=imir
ic mln.. DistH
„ —,=1 г* 1 V
Sep = -.
1 + Inter _ dens
Компактность кластера измеряется с помощью сдвинутых «представителей» (shifted representatives): для vk е Vc.
vk = Vk + s * (center(ci) - Vk), где s е [0,1]. Необходимо провести несколько итераций сдвига. Допустим, 0.1 < s < 0.8, st = s;_i +0.1. Обозначим число таких итераций за ns. Тогда плотность структуры кластеров относительно s будет равна
1 V-iV ev cardinality(v'l)
Intra _ dens(s) = r---
c * stdev
и компактность кластерной структуры определяется как
1 ns
Compactness = — V Intra _dens(si).
ns i =1
Также посмотрим, как меняется плотность кластера в зависимости от s:
| Intra _ dens (s, ) - Intra _ dens (si-1) | Intra _ change = —5=1-
ns -1
и определим «связанность» кластера как
, Compactness
Cohension =-
1 + Intra _ change '
Тогда общая формула индекса будет
CDbw = Cohension * Sep * Compactness. Оптимальным разбиением будет то, у которого максимальный CDbw. Следует заметить, что значение индекса не определено при c = 1, и, по утверждению авторов, индекс реально рассчитать за O(n) .
14. VNND индекс [18].
В этом случае авторы решили измерять компактность кластера, исходя из ближайших соседей для каждого кластерного элемента.
Введем несколько определений. Пусть dmin (xj) = mlnуес. (|| x, - y ||) - расстояние от элемента x. до его ближайшего соседа. Тогда dmin (c, ) = — | V dmin (x1) | - среднее рас-
nCl V 1 ec 0
стояние между ближайшими соседями в кластере ct. Отклонение для расстояния между ближайшими соседями будет
1 ^ - 2
V(ci ) =-7 V (dmln (Xj ) - dmln (ci )) .
n -1
''ci -1 xj ecj
Итоговое значение индекса определяется как УШИБ = ^ V(сг).
г=1
Индекс измеряет однородность кластеров. Чем ниже его значение, тем больше однородность и, соответственно, лучше структура кластеров. Однако индекс совершенно не учитывает отделимость и потому не сможет опознать случай, когда два компактных, хорошо отделимых кластера оказались объединены в один.
3. СРАВНЕНИЕ ИНДЕКСОВ
3.1. ИНСТРУМЕНТЫ ТЕСТИРОВАНИЯ
3.1.1. Тестовые множества
Процесс тестирования кластерных индексов не задокументирован, однако традиционно проверка проводится в два этапа: 1) на синтетически сгенерированных и 2) на реально существующих данных. Синтетические данные обычно создаются, для того чтобы, во-первых, смоделировать «идеальное» для кластеризации множество: с плотными, отделимыми кластерами, элементы в которых, как правило, имеют гауссово распределение, и, во-вторых, смоделировать всевозможные ситуации, «мешающие» алгоритму кластеризации: кластеры с «шумом», нечетко отделяемые кластеры, вложенные кластеры, кластеры произвольной формы и т. д. Мы используем следующие тестовые множества:
1. Равномерно распределенные данные: своего рода «ночной кошмар» для алгоритмов кластеризации, в сущности, их бессмысленно как-либо кластеризовать, однако представляет интерес, как поведут себя кластерные индексы при оценке заведомо «плохих» кластерных структур.
2. Кластеры неправильной формы и вложенные кластеры: множества такого вида традиционно представляют сложность для центроориентированных алгоритмов кластеризации (например семейства к-средних), в которых центры кластеров играют важную роль при построении кластерной структуры. Мы используем этот тестовый случай для проверки того, насколько хорошо справятся с оценкой данного разбиения различные, в том числе и центроориентированные, индексы кластеризации.
3. Плохоотделимыге кластерыг: представляют известную трудность и для алгоритмов кластеризации и для индексов оценки качества. Отделимость кластеров является признаком хорошей структуры кластеров, однако что же делать в том случае, когда кластеры действительно расположены очень близко друг к другу?
4. Кластерыi с гауссовыгм распределением: наиболее удобный для кластеризации вариант, с которым должны справиться как алгоритмы, так и индексы.
Все описанные множества, кроме третьего, были сгенерированы синтетически с помощью инструмента Rapid-Miner [19]. Каждое из них состоит из 500 элементов в двумерном пространстве. Третий вариант - пло-хоотделимые кластеры - представлено множеством реальных данных IRIS [20], являющимся классическим тестовым множеством для многих задач интеллектуального анализа данных.
Также следует упомянуть об одном граничном значении, которое редко рассматривается как при проверке алгоритмов кластеризации, так и при проверке индексов оценки качества: это множество из одного кластера. Большинство как алгоритмов, так и индексов предполагают, что в множестве, по меньшей мере, два различных кластера. Понятие отделимости для случая одного кластера как минимум не определено, однако же только для индекса CDbw авторы заранее предупреждают о том, что значение индекса при c =1 является неопределенным. Таким образом, на данный момент, даже если решение с однокластерной структурой действительно является оптимальным и отражает существующие на множестве данных взаимодействия, большинство индексов потеряют его.
Алгоритм 1. K-Means
Require: c - количество кластеров Init: случайным образом, выбрать c точек, которые будут центрами кластеров на первой итерации. repeat
Определить каждый элемент из множества в кластер с ближайшим центром. Пересчитать кластерные центры с учетом текущего распределения элементов. until Пока структура не стабилизируется или не выполнится условие остановки (например, максимальное число итераций)
3.1.2. Алгоритмы кластеризации
В данной работе мы проверяем методы оценки качества всего на двух классах алгоритмов кластеризации: центроориентиро-ванных и плотностных, поскольку именно алгоритмы этих классов в настоящее время используются наиболее широко. Принцип работы у алгоритмов этих классов существенно различается. Грубо говоря, центро-ориентированные алгоритмы считают кластером область «близкую» к центру кластера, а плотностные - область, где плотность элементов из кластеризуемого множества выше какого-то порогового значения. При такой разнице в подходах к кластеризации, логично ожидать, что к вопросам оценки их результатов следует подходить по-разному. В качестве представителя разбивающих алгоритмов было решено использовать К-Меаш [21, 22] (алгоритм 1), а в качестве
представителя плотностных алгоритмов -DBScan [23] (алгоритм 2). Этот выбор мотивирован тем, что оба эти алгоритма уже давно используются для кластеризации в любых областях для любых типов данных и заслуженно считаются эффективными. Параметры для кластеризации выбирались следующим образом: число кластеров в K-Means варьировалось от 2 до 10, число соседей - minpts - в DBSCan менялось с 3 до 6, а окрестность точки - eps - с 0.1 до 1 с шагом 0.1 и для некоторых экспериментов от 0.5 до 4 с шагом 0.5.
3.1.3. Индексы качества
В качестве индексов для тестирования были выбраны следующие: Dunn, DB, SD, S_Dwb, индекс силуэта, упрощенный индекс силуэта, CS, VNND, Score Function, MB, CDbw. (Следует заметить, что в индексе
Алгоритм 2. DBScan
Require: eps - радиус eps-окрестности, min_pts - минимальное число элементов, которые должны попасть в ерт-окрестность каждого элемента ядра. for all элементов кластеризуемого множества do if элемент х. еще не отнесен к кластеру или к выбросам eps_n = число элементов, в eps-окрестности х. if eps_n < min_pts then
пометить элемент как выброс else
Поместить х. в кластер со следующим порядковым номером (x. - первый элемент нового кластера).
Повторить процедуру оценки точек в eps-окрестности рекурсивно для всех элементов в eps-окрестности х.. end if end if end for
Табл. 1. Случайно распределенные данные: результаты для K-Means
Индекс Количество кластеров
Dunn 10
DB 9
SD 3
S Dwb 9
Sil. 4
Simp. Sil. 4
CS 9
VNND 2
Score Func. 2
MB 4
CDbw 2
Табл. 2. Случайно распределенные данные: результаты для DBScan
Индекс minpts eps
Dunn 3 0.2
DB 3 0.2
SD 3 0.2
S Dwb 3 0.2
Sil. 3 0.7
Simp. Sil 3 0.7
CS 3 0.2
VNND 3 0.2
Score Func. 3 0.1
MB 3 0.2
CDbw 3 0.2
CDbw расстояние от точки до множества при нахождении «представителей» кластера может вычисляться разными способами, при проведении данных экспериментов для измерения этого расстояния использовалась сумма расстояний от уже существующих «представителей» до каждого элемента кластера, элемент, на котором достигался максимум, и выбирался в качестве очередного представителя). Мы не взяли в сравнение модифицированную Hubert Г Statistic, поскольку ее область применения ограничена небольшими объемами данных из-за операций с матрицами смежности, и индексы RMSSTD и RS, поскольку они предназначены для иерархических алгоритмов кластеризации, которые в данной работе не рассматриваются. Тем не менее, мы сочли нужным упомянуть об этих метриках в обзоре для создания более полной картины описываемой области.
были выбраны большинством индексов в качестве оптимальных, можно назвать кластерной структурой лишь условно.
Поскольку по принцип работы ЭВ8саи основан не на разбиении всего множества на части, а на отыскании в нем участков определенной плотности, при выборе из всех кластерных структур, полученных с помощью ЭВ8саи, индексы более единодушны (табл. 2). Наилучшей признается структура, где есть хотя бы какие-то, хоть сколь угодно
Рис. 1. Случайные данные: деление на четыре кластера при помощи К-Меаш
3.2. ЭКСПЕРИМЕНТЫ
1. Множество со случайным распределением. Если во множестве данных нет кластерной структуры, то сами по себе метрики качества не смогут это понять. В данном случае необходимо использовать методы для оценки возможности кластеризации. При использовании алгоритма К-Меаш (табл. 1) оба разбиения (рис. 1 и 2), которые
• „* * * о Q> ■pS • о • ° о & о ® в в
S с U • «э •Л Л о о • • а ® a QOU §: •
• • * • * k * © ® * V *. & о О о % б1
fi Ю • •* • •• о ¿йо а°
® <s> » ® К © A * * • » * о°8ос si о
Q Q О • i * *» Ф о о «о Со °
О ° о ©O о о 9Р о о о о <&
О о oO s©«p и n о e о ° о с о О ;
1 !
1 2 3 4 5 9 10
Рис. 2. Случайные данные: деление на девять кластеров при помощи К-Меаш
Табл. 3. Гауссово распределение данных: результаты для К-Меаш
Индекс Количество кластеров
Оипп 4
ВВ 4
бв 2
5 0п>Ь 4
БИ 4
Б1тр. БИ 4
СБ 4
¥NN0 2
Бсоге Гипс. 4
МВ 4
СОЬы 4
Табл. 4. Гауссово распределение данных: результаты для ОББсап
Индекс штр1Б ер б
Оипп 5 0.5
ВВ 5 0.5
БВ 5 0.5
Б 0п>Ь 6 0.1
БИ 5 0.9
Б1тр. Бй. 5 0.9
СБ 6 0.2
¥NN0 6 0.1
Бсоге Гипс. 6 0.1
МВ 6 0.1
СОЬы 6 0.6
малые кластеры, но подходящие под понятие компактных и отделимых (рис. 3). Кластер с номером -1 в случае с ЭБ8сап означает «кластер» выбросов.
Таким образом, следует признать, что там, где нет структуры кластеров, нет и понятия оптимальной структуры кластеров. При использовании алгоритмов семейства к-средних то, что индексы оценки качества указывают на разное число кластеров в качестве оптимального, скорей всего свидетельствует о том, что алгоритм семейства к-средних (К-Меаш) не справился с кластеризацией данного множества. В свою очередь, среди структур, построенных с помощью ЭБ8сап, выбирается та, где основное множество элементов определено как шум, и лишь незначительная часть распределена по очень маленьким кластерам. Такое поведение индексов и алгоритма должно натолкнуть аналитика на мысль, что данные в принципе плохо кластеризуемы, и ему следует либо сменить представление данных, либо произвести дополнительную обработку, либо понизить размерность данных до подпространства, где кластеризация более возможна.
2. Гауссово распределение данных. Большинство алгорит-
Рис. 3. Случайные данные: результаты для ОББсап (3, 0.2)
Рис. 4. Гауссово распределение данных: результаты для К-Меаш
Рис. 5. Гауссово распределение данных: результаты для БББсап (5,0.5)
мов предполагают, что данные имеют гауссово распределение, и это же неявно предполагается в критериях качества кластеризации. Результаты оценки для K-Means и DBScan можно видеть в табл. 3 и 4 соответственно. Если в случае K-Means практически все индексы выбирают правильный вариант рис. 4, то среди кластеризаций DBScan имеются два варианта: рис. 5 и 6, соответственно. Первый из них, полученный с параметрами (5, 0.5), практически совпадает с делением на четыре кластера при помощи K-Means (а разбиение (5, 0.9), выбранное индексами силуэта, полностью идентично разбиению от к-средних), второй вариант - (6, 0.1) и (6, 0.2) ошибочен, потому что выбравшие его индексы стараются добиться от всех кластеров одинаковой максимальной плотности, и из-за этого в качестве «шума» отбрасывается значительная часть данных. В частности, ошибки связаны с попыткой некоторых индексов измерить отделимость как некоторое предельное расстояние между кластерными центрами (MB и CS) или же представить компактность как сумму расстояний от центра кластера до всех его элементов (MB и Score).
3. Кластеры произвольной формы. Несмотря на то, что гауссово распределение данных встречается достаточно часто, нельзя ожидать, что оно будет вообще во всех множествах. Для кластеризации в этой категории был использован только DBScan, потому что K-Means в принципе не приспособлен для выделения кластеров такого типа. В качестве тестового множества использовались три концентрических, вложенных друг в друга кластера. В этом случае (табл. 5) большинство индексов исходят из того же принципа, что и при оценке случайно распределенных данных: лучшей структурой признается структура с маленькими и очень компактными кластерами (рис. 7), а не та, которую ожидает пользователь (рис. 8). Это
» о .
V о •
»
Рис. 6. Гауссово распределение данных: результаты для DBScan (6,0.1)
•
о ■»"
• i t ЧУ.»: • • •
i * „♦с ¡Л о • f\ * • >
• ** * 1!. _ %
• i 1, / «
• ... ».*. сед К :
Л ♦ • * • * « • •
»• * V-
г 5 0 • » 0 2 5 5 0 7.5 10 0 12 5 15 0 17 5 2С 0 22.5
Рис. 7. Концентрические кластеры: результаты для DBScan (4,0.5)
некоторым образом логично, поскольку концентрические кластеры сами по себе не подходят под то понятие о компактности и отделимости, которое используется в большинстве метрик качества: в этом случае их нельзя корректно измерять, используя центры кластеров. Верно определить оптимальную структуру смог только один индекс, СЭЪ^', поскольку он принимает в расчет геометрическую форму кластеров.
Табл. 5. Концентрические кластеры: результаты для DBScan
Индекс minpts eps
Dunn 4 0.5
DB 4 0.5
SD 4 0.5
S Dwb 3 0.5
Sil. 4 1.5
Simp. Sil. 4 1.5
CS 4 0.5
VNND 6 0.5
Score Func. 6 0.5
MB 4 0.5
CDbw 3 4.5
Рис. 8. Концентрические кластеры: результаты для DBScan (4,4.5)
4. IRIS. Множество данных IRIS очень часто используется при тестировании различных инструментов интеллектуального анализа данных. Оно состоит из трех классов по 50 элементов, каждый класс соответствует некоторому типу ирисов. Каждый элемент представляет собой описание цветка и имеет 4 атрибута (длина чашелистика, ши-
рина чашелистика, длина лепестка и ширина лепестка). Один класс хорошо отделим от других, но оставшиеся два расположены очень близко друг к другу (рис. 9).
При кластеризации с помощью K-Means (табл. 6) большинство индексов выбирают деление на два кластера (рис. 10) как оптимальный вариант кластеризации, и только два из них - деление на три (рис. 11). Следует заметить, что даже деление на три кластера в данном случае не совпадает с исходным делением по классам.
Выбор среди структур, полученных с помощью DBScan (табл. 7), сильно разнится от индекса к индексу. Так, Dunn, DB и S_Dwb индексы выбирают структуру с маленькими, но как можно более компактны-
Индекс Количество кластеров
Dunn 2
DB 2
SD 2
S Dwb 10
Sil. 2
Simp. Sil. 2
CS 2
VNND 2
Score Func. 2
MB 3
CDbw 3
Табл. 6. IRIS: результаты для K-Means
Рис. 9. Множество данных IRIS
Рис. 10. IRIS: результаты для K-Means (2 кластера)
Рис. 11. IRIS: результаты для K-Means (3 кластера)
classo Iris-setosa о Iria^ersicolor □ Iriswginica
Табл. 7. IRIS: результаты для DBScan
Индекс minpts eps
Dunn 6 0.3
DB 6 0.3
SD 5 0.6
S Dwb 6 0.2
Sil. 3 1.5
Simp. Sil. 3 1.5
CS 4 0.2
VNND 6 0.3
Score Func. 3 0.1
MB 4 0.2
CDbw 5 0.6
' .1 ---- ------- .......s
._ o
— .....• ... ----- ..3
» ■ 4
_______•• • « • • - 4
• ■ ■ a
. . ---- ---• 2
•
.. ... —... 1
jj m
- ¿ ,.A¡ - ? Й '> ; Я ,* V
Рис. 12. IRIS: результаты для DBScan (6,0.3)
ми и плотными кластерами, отбрасывая большую часть данных как шум (рис. 12). Выбор индексов СВЬк> и ОТ (рис. 13) более похож на ожидаемый - в качестве шума отброшена лишь незначительная часть данных, и индексы силуэта выбрали структуру, состоящую из двух кластеров, аналогичную разбиению к-средних.
4. ЗАКЛЮЧЕНИЕ
Результаты проверки индексов на различных множествах даны в табл. 8. Знаком «+» обозначен верный выбор структуры кластеров конкретным индексом. (Правильность выбора в данном случае определялась визуально: если в исходной структуре два кластера, а индекс выбирает четыре - это неверно, но если индекс выбирает структуру из двух почти идентичных оригинальным кластеров и шума - то это верно).
Рис. 13. IRIS: результаты для DBScan (5,0.6)
Исходя из представленной таблицы и экспериментов, можно сделать следующие выводы:
1. Ни один индекс не выдаст правильной оценки, если во множестве отсутствует структура кластеров, однако по поведению
Табл. 8. Результаты проверки индексов
Индекс Gaussian (2) Gaussian (4) 3 rings IRIS
K-Means DBScan K-Means DBScan DBScan K-Means DBScan
Dunn + + + + - + -
DB + + + + - + -
SD + + - + - + +
S Dwb + + + - - - -
Sil. + + + + - + +
Simp. Sil. + + + + - + +
CS + + + - - + -
VNND + - - - - + -
Score Func. + + + - - + -
MB + + + - - + -
CDbw + + + + + + +
группы индексов можно сделать определенные выводы о том, что используемое множество данных плохо поддается кластеризации.
2. Ни один индекс не сможет корректно оценить структуру из одного кластера.
3. Не стоит использовать индексы, которые учитывают только компактность, а отделимость не учитывают. Это заметно по индексу VNND.
4. Если вы используете для кластеризации разбивающие алгоритмы, такие как K-Means, то нет особой разницы, какой из описанных индексов (не включая входящие в предыдущий пункт) брать для оценки качества - они все справятся с задачей.
5. Если вы используете для кластеризации DBScan, то лучше использовать индексы, учитывающие геометрическую структуру кластеров (CDbw) и измеряющие компактность и отделимость в терминах средних расстояний между элементами кластеров (Silhouette). Попытка измерить компактность и отделимость как предельное расстояние между элементами (как в случае с индексом Dunn) или в зависимости от центра кластера (как у MB или Score) может привести к тому, что в качестве наилучшей будет выбрана структура с максимальной в терминах алгоритма DBScan плотностью (то есть с максимальным числом соседей и минимальным радиусом окрестности), и при этом
значительная часть данных может быть отсеяна как выбросы.
6. Для повышения эффективности в оценке качества и получения объективного результата лучше пользоваться не одним каким-то индексом, а их совокупностью.
7) Лучшие индексы в порядке уменьшения точности оценки: 1) CDbw, 2) индексы силуэта, 3) Dunn и DB.
Следует заметить, что оценка качества кластеризации заслуженно считается сложной областью. Проблему качества сложно выразить семантически и также сложно подогнать ее под математическую модель. Как правило, для любого индекса существует такое множество, на котором его оценка неверна. Даже индекс CDbw, показавший хорошие результаты в процессе этого исследования, «ломается», например, на множестве из двух вложенных друг в друга спиралей. В целом, складывается впечатление, что универсального решения в этой области не существует, и потому лучше пользоваться комбинированным подходом. Отказ от использования индексов оценки качества все-таки не представляется целесообразным, потому что, даже если M индексов выбрали в качестве оптимальной структуры M разных структур, зачастую, проверить вручную их проще и быстрее, чем проверять все полученные кластеризации по отдельности.
Литература
1. S. Theodoridis andK. Koutroumbas.Pattern recognition. Academic Press, San Diego, CA, 1999.
2. R.B. CalinskiandJ. Harabasz. A dendrite method for cluster analysis // Comm. in Statistics, 3:1-27, 1974.
3. J.C. Dunn. Well separated clusters and optimal fuzzy-partitions // Journal of Cybernetics, 4:95-104, 1974.
4. N.R. Pal and J.Biswas. Cluster validation using graph theoretic concepts // Pattern Recognition, 30(6), 1997.
5. D.L. Davies andD. W. Bouldin. A cluster separation measure // IEEE Transactions on Pattern Analysis and Machine Intelligence, 1, 1979.
6. C.H. Chou, M.C. Su, and E.Lai. A new cluster validity measure and its application to image compression // Pattern Analysis and Applications, 7:205-220, 2004.
7. C.H. Chow, M.C. Su, and Lai Eugene. Symmetry as a new measure for cluster validity // 2nd WSEAS International Conference of scientific on Computation and Soft Computing. P. 209-213, 2002.
8. M. Halkidi, M. Vazirgiannis, and I. Batistakis. Quality scheme assessment in the clustering process // Proceedings of PKDD, 2000.
9. M. Halkidi and M. Vazirgiannis. Clustering validity assessment: Finding the optimal partitioning of a data set // Proc. of ICDM, 2001.
10. Subhash Sharma. Applied multivariate techniques. John Wiley and Sons, Inc., 1996.
11. M. Halkidi, Y. Batistakis, and M. Vazirgiannis. On clustering validation techniques // Intelligent Information Systems Journal, 17:107-145, 2001.
12. L. Kaufman and P. Rousseeuw. Finding Groups in Data. An Introduction to Cluster Analysis. Wiley, 2005.
13. E.R. Hruschka, L. Vendramin, and R.J. G.B. Campello. On the comparison of relative clustering validity criteria // 2009 SIAM International Conference on Data Mining (SDM 09), 1: 733-744, 2009.
14. U. Maulik and S. Bandyopadhyay. Performance evaluation of some clustering algorithms and validity indices // IEEE Transactions Pattern Analysis Machine Intelligence, 24(12): 1650-1654, 2002.
15. M.K. Pakhira, S. Bandyopadhyay, and U. Maulik. Validity index for crisp and fuzzy clusters // Pattern Recognition, 37(3): 487-501, 2004.
16. S. Saitta, B. Raphael, and I. F.C. Smit. A bounded index for cluster validity // 5th International Conference on Machine Learning and Data Mining in Pattern Recognition, 2007.
17. M. Halkidi and M. Vazirgiannis. A density-based cluster validity approach using multi-representatives // Pattern Recognition Letters, 29(6): 773-786, 2008.
18. F. Kovacs andR. Ivancsy. Cluster validity measurement for arbitrary shaped clusters // 5th WSEAS International Conference on Artificial Intelligence, Knowledge Engineering and DB, 2008.
19. I. Mierswa, M. Wurst, R. Klinkenberg, M. Scholz and T. Euler. Yale: Rapid prototyping for complex data mining tasks // 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-06), 2006.
20. R.A. Fisher. The use of multiple measurements in taxonomic problems // Annals of Eugenics, 7: 179188, 1936.
21. J. Hartigan. Clustering Algorithms. John Wiley & Sons, 1975.
22. J. Hartigan andM. Wong. Algorithm as 136: A k-means clustering algorithm // Applied Statistics, 28: 100-108, 1979.
23. M. Ester, H-P Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases with noise // In Proc. of the 2nd ACM SIGKDD, 1996. P. 226-231.
Abstract
In this paper the most commonly used cluster validity indexes are compared. Theirs features, efficiency and applicability to different context are discussed. Some recommendations about usage of validity indexes with different clustering algorithms are made.
Keywords: clustering, cluster validity, cluster validity indexes.
Сивоголовко Елена Владимировна, аспирант математико-механического факультета СПбГУ, efecca@gmail. com
© Наши авторы, 2011. Our authors, 2011.