14. Burge M., Kropatsch W.G. A minimal line property preserving representation of line images // Computing. - 1999. - Volume 62. - Issue 4. - Р. 355-368.
15. Berge C., Ed. Graphs and Hypergraphs. - American Elsevier, New York, 1973.
16. Стержанов М.В. Векторизация бинарного растра, кодированного длинами серий // Тезисы докладов МНТК, посв. 45-летию МРТИ-БГУИР. - С. 145-146.
Стержанов Максим Валерьевич - Белорусский государственный университет информатики и
радиоэлектроники, аспирант, accept@bk.ru
УДК 004.021, 004.32.2
РАНДОМИЗИРОВАННЫЙ МЕТОД ОПРЕДЕЛЕНИЯ КОЛИЧЕСТВА КЛАСТЕРОВ НА МНОЖЕСТВЕ ДАННЫХ
Д.С. Шалымов
Рассмотрен новый непараметрический метод устойчивой кластеризации на основе рандомизированного алгоритма стохастической аппроксимации с искусственными возмущениями на входе. Описаны особенности, которые обеспечивают сходимость при почти произвольных (не обязательно гауссовых, но ограниченных по абсолютному значению) помехах. Предлагаемый метод может быть использован в задаче on-line кластеризации для динамически изменяющихся данных. Эффективность демонстрируется примерами. Ключевые слова: кластеризация, устойчивость кластеризации, рандомизированные алгоритмы, стохастическая аппроксимация, пробное возмущение, on-line алгоритмы.
Введение
Кластеризацией является объединение данных в группы по схожим признакам. Она используется при решении многочисленных задач интеллектуальной обработки данных, в том числе при распознавании образов, машинном обучении, выработке стратегий управления и т.д.
Одной из наиболее сложных задач кластерного анализа является определение количества кластеров, которое получают за счет применения алгоритмов устойчивой кластеризации [1]. Несмотря на кажущееся многообразие, до сих пор не было найдено универсального алгоритма, который был бы эффективным для данных различной природы. Большинство существующих методов основано на индексах, сравнивающих степени «разброса» данных внутри кластеров и между кластерами [2], на расчете значений эвристических характеристик (функций устойчивости), показывающих соответствие назначенных кластеров для выборочных элементов множества [3], на статистиках, определяющих наиболее вероятное решение [4], либо на оценивании плотностей распределений [5]. Чаще всего эти методы либо настроены для конкретных специфических данных, либо требуют определенных предположений о своих параметрах. Кроме того, вычислительная сложность известных алгоритмов кластеризации существенно растет при увеличении мощности исследуемого множества. Также большинство таких алгоритмов недостаточно математически обосновано. Снять эти трудности позволяет использование рандомизированных алгоритмов [6].
В статье предлагается новый непараметрический индексный метод устойчивой кластеризации, основанный на использовании рандомизированного алгоритма типа стохастической аппроксимации (РАСА). Существенная особенность данного алгоритма заключается в том, что при небольших вычислительных затратах на каждой итерации обеспечивается сходимость при почти произвольных помехах. Предлагаемый метод прост в реализации, оказывается эффективным как для искусственно сгенерированных данных с заранее известными свойствами, так и для данных, взятых из реальных практических задач.
Алгоритм устойчивой кластеризации
Устойчивость кластеризации является характеристикой, определяющей различие результирующих разбиений после многократного применения алгоритмов кластеризации. Небольшое расхождение результатов интерпретируется как высокая устойчивость. Количество кластеров, которое максимизирует кластерную устойчивость, может служить хорошей оценкой для реального количества кластеров [7].
В кластерном анализе популярны итеративные методы, которые базируются на априорном знании количества кластеров и некотором выборе первоначального разбиения. Задача нахождения оптимального количества кластеров в общем случае является ЖР-сложной проблемой [8]. Данные часто имеют сложное поведение и не могут быть описаны с помощью аналитических функций. Как правило, это приводит к возникновению шумов и потере информации. Чтобы избежать этого, обычно проводят большее количество итераций, что значительно повышает вычислительную сложность процесса кластеризации. Известно, что в других приложениях снять эти трудности удается при использовании рандомизированных алгоритмов, сложность которых, как правило, не зависит от роста размерности исходной задачи [6].
Известен эффективный метод устойчивой кластеризации, предложенный исследователями Sugar и James [9], основанный на использовании внутренних дисперсий кластеров, называемых «искажениями». С помощью алгоритма k-means [10] множество разбивается на кластеры, далее строится кривая зависимости минимального «искажения» от текущего количества кластеров. Теоретически и эмпирически доказывается, что при определенном выборе параметра Y (степень трансформации) вышеупомянутая кривая будет иметь резкий скачок в том месте, которое соответствует настоящему количеству кластеров.
Основная процедура метода состоит из следующих шагов.
1. Запускается k-means алгоритм для K кластеров и определяется соответствующее «искажение» dk . Для различных значений K строится набор dk .
2. Выбирается степень трансформации Y>0 (обычно принимается Y=p/2).
3. Вычисляются скачки по формуле JK = dKY - dKY_l.
4. За итоговое количество кластеров выбирается то, которое соответствует наибольшему скачку: K * = arg max K JK .
Вместо алгоритма k-means предлагается использовать альтернативный алгоритм РАСА с двумя измерениями [12], который оказывается эффективным в многомерных задачах с большим количеством параметров и наличием разнообразных помех, а также не обладает, в отличие от k-means, свойством вырожденности, когда на какой-либо итерации получается пустой кластер.
На рис. 1 изображены зависимости «искажений» модифицированного метода от количества кластеров. В примере для входных данных было использовано гауссово распределение, однако метод успешно зарекомендовал себя также на негауссовых данных.
Единственным параметром, зависящим в общем случае от данных, является степень трансформации. Есть возможность отказаться от него, если свести вышеописанную задачу устойчивой кластеризации к оптимизационной задаче. Для этого исследуется кривая на рис. 1, с,, которая приближается гладкой функцией и имеет одну ярко выраженную экстремальную точку. Для поиска этой точки в условиях помех можно воспользоваться, например, классическим методом конечно-разностной стохастической аппроксимации [11]. Еще одним способом отказа от параметра является использование степени трансформации, обратно пропорциональной текущему количеству кластеров.
Учитывая тот факт, что кривая на рис. 1, с, аппроксимируется прямой на участках до и после истинного значения количества кластеров, можно использовать метод ломаной [9]. Тогда за результирующее значение количества кластеров можно принять то, которое минимизирует квадратичное отклонение кривой от двух прямых ломаной.
aj
-» 18 .Д
I £
3- 16 5 Ч я>
ш 14
1500
Я Я
ч> *
§
о Я
о"
1000
*'»
10 12 14 16 13
X, относительные величины
6 7 В 9 10 11 К, количество кластеров
6 7 3 9 10:: 1; 2 3 в 7 8 9 10
К, количество кнастеров К, количество кластеров
Рис. 1. Иллюстрация работы предлагаемого метода устойчивой кластеризации: а) входные двухмерные данные, представляющие собой набор из девяти гауссовских кластера; Ь) кривая зависимости внутренней дисперсии от количества кластеров; с) кривая преобразованных внутренних дисперсий; ф кривая зависимости скачков
от количества кластеров
Предлагаемый метод оказывается также эффективным в задаче определения структуры множества. Анализируя кривую скачков на рис. 1, ё, можно увидеть, что в качестве основного ответа метод предлагает количество кластеров, равное девяти, а в качестве альтернативного - трем.
Автоматическая классификация входных данных
Для определения «правильного» количества кластеров на множестве данных многократно запускаются алгоритмы автоматической классификации с заранее известным количеством классов. С содержательной точки зрения смысл автоматической классификации состоит в построении правила, сопоставляющего каждой точке х множества X некоторый образ (класс). При этом должна быть задана функция расстояния между объектами р(х, х').
Всякий способ классификации связан с потерями, которые обычно характеризуются с помощью штрафных функций (стоимости) дк(х, п), к = 1, 2, ..., 1, п - набор век-
торов, характеризующий центры классов. В типичных случаях, когда X - вещественное векторное пространство, значения штрафных функций <(х, п) возрастают при удалении х от центра соответствующего образа (класса). Геометрический смысл задачи автоматической классификации заключается в следующем. Допустим, что в системе все-
12 /
го / классов п = (© , © ,• • •, © ), а штрафные функции имеют похожий друг на друга вид
к к 2
< (х,п) = х - 9 , к = 1,2,...,/. Рассмотрим разбиение множества X на / классов
X :(п), X 2(п),..., X1 (п) по правилу: к множеству Хк (п) относятся все точки х, которые находятся к центру 9к ближе, чем к любому другому. Интеграл
х - 9
1,2,..., /
Xк (п)
определяет рассеяние точек х в множестве Xк (п), а функционал среднего риска есть
¥ (п) = 1!\х> (Л х -9 к| |2 Р (А ).
Задача автоматической классификации состоит в определении набора центров {9*,к = 1,2,..., /} , при которых суммарное рассеивание минимально. Решение не обязательно должно быть единственным, поскольку при перестановке местами векторов внутри набора {9*, к = 1,2,..., /} значение определенного выше функционала среднего риска не изменяется.
На практике функции Цк(•,•),к = 1,2,...,/ не всегда заданы аналитически, но их значения доступны измерению (может быть, с помехами ук ):
/ (х, п) = < (х, п) + vk, к = 1,2,...,/.
Если функционал ¥(п) дифференцируем, то искомый набор центров п* должен удовлетворять уравнению (п*) = 0 . Но при решении рассматриваемой задачи нельзя воспользоваться традиционными градиентными методами, так как из его вида понятно, что он не везде дифференцируем, и, кроме того, не всегда возможно прямое вычисление У¥ (п). Для аппроксимации градиента функционала среднего риска будем использовать РАСА с двумя измерениями на входе [12]. Известно, что при выполнении опре-дедленных условий РАСА по сравнению с классическим конечно-разностным алгоритмом стохастической аппроксимации (процедура Кифера-Вольфовица) [11] обеспечивает одинаковую точность за одно и то же количество итераций. При этом РАСА требуется в М (где М - размерность пространства) раз меньше измерений функции, что обеспечивает большой выигрыш в вычислительной сложности. РАСА основан на использовании наблюдаемой последовательности серии случайных независимых друг от друга векторов А . е Ят, у = 1,2,..., называемых пробным одновременным возмущением и составленных из независимых бернуллиевских случайных величин. В [12] доказывается, что подобные алгоритмы сходятся к оптимальному набору центров классов п* при почти произвольных помехах.
Практическое применение
Существует пять наиболее известных алгоритмов устойчивой кластеризации. Метод СН (СаНп8к1-ИагаЬа82) [5] выбирает количество кластеров, максимизирующее
функцию СН (К) = В( ^ ^—, где В(К) и Ж(К) - средние межкластерные и внутри-
2
к
кластерные расстояния. Подход KL (Krzanowski and Lai) [13] максимизирует функцию
KL(K ) =
DIFF (K )
, где БШКК) = (К-1)2/РЖ(К-1) - К2' РЖ(К). Наг^ап [4] предлагает
(К +1)
выбирать наименьшее значение К, при котором значение функции
H ( K ) = (n - K -1)
W ( K )
-1
W ( K +1)
хорошо была кластеризована b(i) - a(i)
меньше либо равно 10. Silhouette [1] измеряет, насколько
чего определяется функция
i-я точка,
для
s(i) =.
где a(i) - среднее расстояние между i-ой точкой и всеми остальны-
max[(i), b(i)\
ми наблюдениями, попавшими в тот же кластер, b(i) - среднее расстояние до точек в ближайшем кластере, где под ближайшим кластером понимается тот, который минимизирует b(i). Количество кластеров считается верным, если оно максимизирует среднее значение s(i). Метод GAP [14] использует статистику расхождений, вычисляя функцию
GAP(K) =—^ l0g(^b*(K)) - l0g(^(K)). Метод использует B различных унифицированных
B ь
множеств. Требуется подобрать K, максимизирующее GAP(K).
Предлагаемый метод на основе РАСА был сравнен с вышеописанными алгоритмами для данных, сгенерированных по трем различным сценариям. Результаты представлены в таблице.
Данные Метод Оценка количества кластеров
1 2 3 4 5 6 7 8 9 10
I сценарий CH 0 96 4 0 0 0 0 0 0 0
5 гауссовских кластера, KL 0 0 0 0 98 0 1 1 0 0
размерность пространства Hartigan 0 0 0 0 100 0 0 0 0 0
равна 10 Silhouette 0 100 0 0 0 0 0 0 0 0
GAP 0 0 0 0 100 0 0 0 0 0
РАСА 0 0 0 0 100 0 0 0 0 0
II сценарий CH 0 0 0 83 5 5 3 0 1 1
4 гауссовских кластера с KL 0 0 0 76 7 2 3 8 4 0
различными ковариациями, Hartigan 0 0 0 0 0 0 8 20 23 49
размерность пространства Silhouette 0 34 0 65 1 0 0 0 0 0
равна 10 GAP 0 20 0 78 2 0 0 0 0 0
РАСА 0 0 0 100 0 0 0 0 0 0
III сценарий CH 0 0 0 22 11 19 10 6 15 17
4 кластера с экспоненци- KL 0 0 0 71 17 4 3 0 5 0
альным распределением, Hartigan 0 0 0 0 0 2 7 9 17 65
размерность пространства Silhouette 0 0 0 60 30 8 1 1 0 0
равна 10 GAP 85 9 0 6 2 0 0 0 0 0
РАСА 0 0 0 99 1 0 0 0 0 0
Таблица. Применение алгоритмов устойчивой кластеризации к искусственным данным, сгенерированным по трем различным сценариям
Для каждого сценария было сгенерировано по 100 тестовых множеств. Предлагаемый метод оказывается помехоустойчивым. Каждый из классических подходов, в отличие от РАСА, для данных второго и третьего сценариев дал неверные результаты как минимум в двух случаях.
Метод РАСА был успешно применен для данных, ставших классическими для тестирования алгоритмов кластеризации, а также для данных, количество кластеров в которых изменялось во времени. С помощью предложенного метода можно определить не только количество кластеров и структуру данных, но также оценки координат центров кластеров.
Заключение
Рассмотренный непараметрический индексный метод устойчивой кластеризации на основе РАСА оказывается эффективным как на искусственных, так и на реальных данных. Метод прост в применении. Кроме того, в отличие от большинства существующих алгоритмов кластеризации, он может быть строго описан математически. РАСА остается устойчивым в условиях почти произвольных помех. При этом с ростом размерности фазового пространства его сложность не возрастает.
В качестве дальнейшего исследования предполагается рассмотреть альтернативные способы определения количества кластеров на основе анализа кривой «искажений», а также апробировать существующие модификации РАСА с одним и двумя измерениями функции стоимости на каждой итерации.
Литература
1. Kaufman L. and Rousseeuw P. Finding Groups in Data: An Introduction to Cluster Analysis. - New York: Wiley, 2005. - 368 с.
2. Wishart D. Mode analysis: A generalisation of nearest neighbour which reduces chaining effects. // Numerical Taxonomy. - 1969. - C. 282-311.
3. Levine E. and Domany E. Resampling method for unsupervised estimation of cluster validity // Neural Computation - 2001. - № 13. - C. 2573-2593.
4. Hartigan J.A. Clustering Algorithms. - New York: John Wiley, 1975. - 351 с.
5. Calinski R. and Harabasz J. A dendrite method for cluster analysis // Commun Statistics. -1974. - № 3. - С. 1-27.
6. Граничин О.Н., Поляк Б.Т. Рандомизированные алгоритмы оптимизации и оценивания при почти произвольных помехах. - М., Наука, 2003. - 291 с.
7. Volkovich Z., Barzily Z., Morozensky L. A statistical model of cluster stability // Pattern Recognition. - 2008. - № 41. - С. 2174 - 2188.
8. Hansen P. and Mladenovic N. J-means: a new local search heuristic for minimum sum-of-squares clustering // PatternRecognition. - 2002. - № 34(2). - С. 405-413.
9. Sugar C. and James G. Finding the number of clusters in a data set : An information theoretic approach. // Journal of the American Statistical Association. - 2003. - № 98. -С. 750 -763.
10. Hartigan J.A., Wong M.A. A K-Means Clustering Algorithm // Applied Statistics. - 1979. - № 28. - С. 100 - 108.
11. Kushner H.J., Yin G.G. Stochastic Approximation Algorithms and Applications. - New York, Springer-Verlag, 2003. - 474 с.
12. Граничин О.Н., Измакова О.А. Рандомизированный алгоритм стохастической аппроксимации в задаче самообучения // Автоматика и телемеханика. - 2005. - № 8. -C. 52-63.
13. Krzanowski W.J., Lai Y.T. A criterion for determining the number of clusters in a data set // Biometrics. - 1985. - № 44. - C. 23-34.
14. Tibshirani R., Walther G., Hastie T. Estimating the number of clusters in a data set via the gap statistic // Journal of the Royal Statistical Society. - 2001. - № 63. - C. 411-423.
Шалымов Дмитрий Сергеевич - Санкт-Петербургский государственный университет, аспи-
рант, shalydim@mail.ru