----------------------------------- © И.А. Пестунов, Е.А. Куликова
В.Б. Бериков И.Д. Махатков, 2009
УДК 004.93
И.А. Пестунов, Е.А. Куликова В.Б. Бериков И.Д. Махатков
СЕТОЧНЫЙ АЛГОРИТМ КЛАСТЕРИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ АНСАМБЛЕВОГО ПОДХОДА К ПРИНЯТИЮ РЕШЕНИЙ
Предлагается сеточный алгоритм кластеризации с использованием ансамблевого подхода к принятию решений для обработки больших массивов данных. Приводятся результаты экспериментов на модельных и спутниковых данных. Ключевые слова: сеточный алгоритм кластеризации, ансамблевый подход, спутниковые изображения.
ш я ри решении задач, связанных с мониторингом окру-
-M.-L жающей среды, часто возникает необходимость кластеризации больших массивов данных (~105-107 элементов) при отсутствии каких-либо априорных сведений об искомых классах. В этих условиях целесообразно применять так называемые сеточные (grid-based) алгоритмы кластеризации, использующие сетку с фиксированным шагом [1-6]. Вычислительная сложность таких алгоритмов определяется числом элементов сеточной структуры и практически не зависит от количества классифицируемых объектов. Кроме того, они позволяют выделять кластеры сложной формы без каких-либо предположений о структуре данных. Однако результаты кластеризации при этом существенно зависят от выбора шага сетки, что значительно затрудняет их практическое применение.
Для решения этой проблемы в последние годы активно развиваются сеточные методы, основанные на использовании не одной, а на нескольких сеток с фиксированным шагом [3-6].
В настоящей работе предлагается сеточный алгоритм, основанный на итерационной кластеризации, выполненной на последовательности сеток с фиксированными шагами. На каждой итерации строится промежуточное решение с помощью алгоритма CCA, предложенного авторами в [7]. Итоговое решение определяется с помощью ансамблевого метода [8], основанного на попарной кластеризации объектов. Предлагаемый алгоритм позволяет выделять
многомодовые кластеры сложной формы. Результаты его работы являются устойчивыми к изменению шага сетки, что значительно упрощает процедуру поиска оптимальных параметров алгоритма. Постановка задачи
Пусть множество классифицируемых объектов X состоит из векторов, лежащих в пространстве признаков Rd:
X = (xi = (x1,...,xf) e Rd,i = 1,N}. Векторы xi лежат в прямоугольном параллелепипеде Q = [l1, г1] x... x [ld, rd ], где lj = min eX xj, rJ = max eX xj. Под клеточной структурой будем понимать разбиение пространства признаков гиперплоскостями: xJ = (rJ — V ) • i / m + V, i = 0,..., m, m - число разбиений Q по каждой размерности. Минимальным элементом этой структуры является клетка (прямоугольный параллелепипед, ограниченный гиперплоскостями). Введём общую нумерацию клеток (последовательно от одного слоя клеток к другому).
Клетки Bi и в являются смежными, если их общая граница
1 J
содержит хотя бы одну точку. Плотностью DB клетки В назовём отношение Db = Nb / Vb , где Nb - количество элементов множества X, попавших в клетку B; Vb - объем клетки B. Клетку B будем считать непустой, если Db ^ т, где Т - величина заданного порога. Непустая клетка Bt непосредственно связна с непустой клеткой Bj B ^ Bj ), если Bj = argmax в Db , где максимум берется по всем клеткам B, смежным с Bt. Непустые клетки Bi и
B, непосредственно связны (Bf о В,), если Bf ^ В,- или
J ' j J ' j J
В ^ В . Клетки Bi и В, связны (В ~ В ), если существуют
J j i J v i J '
k1,...,kt такие, что k = i, kj = J и для всех p = 1,...,l — 1 выполнено Bk Bk .
kp kp+1
Введение отношения связности порождает естественное разбиение множества непустых клеток на компоненты связности (Gt} .
Под компонентой связности будем понимать максимальное множество попарно связных клеток. Представителем компоненты связно-
сти G назовём клетку Y(G) = arg maxBeG Db . Компоненты связности G' и G" смежные, если существуют смежные клетки В' и В" такие, что В' e G' и В" e G". Смежные компоненты связности Gj и G
непосредственно связны (Q. о G-), если существует набор клеток Pj = (Y = Bk1,...,Bkl = Yj } такой, что: 1) Bkt e Gi u GJ; 2)
Bkf, Bkt+1 - смежные клетки; 3)
min B eP Db / min(Db , Db ) > T, T > 0 - порог объединения.
kt У kt Yi YJ
Компоненты связности G и G- связны (G- ~ G-), если сущест-
* J ^ I J '
вуют k1,...,kl такие, что k1 = i, kj = J и для всех p = 1,...,l — 1
выполнено Gk о Gk .
kp kp+1
Определение 1. Кластером C назовем максимальное множество попарно связных компонент связности, то есть 1) для любых
компонент связности G G e C выполнено G ~ G ; 2) для лю-
^ J i J
бых G e C, G, £ C верно G,■ ~ G,.
1 J 1 J
Задача кластеризации заключается в разбиении исходного множества X на кластеры Q, i = 1,...,M, такие, чтоX = \JM=1 Ct и
C, n C, =0, i Ф J.
I J *
Краткое описание алгоритма CCA(m, T, т)
Ниже представлен алгоритм CCA(m, T, т), позволяющий выделять кластеры в соответствии с определением 1. В работе алгоритма можно выделить три основных этапа.
Этап 1. Формирование клеточной структуры. На этом этапе для каждой точки xf e X определяется содержащая её клетка, вычисляются плотности клеток Db и выявляются непустые клетки.
Bi
Этап 2. Выделение компонент связности G1,...,Gs и поиск их
представителей Y (G1),...,Y (G^ ).
Этап 3. Формирование кластеров на основе выделенных компонент связности.
В результате обработки получаем множество кластеров Q,...,Cm . Вычислительная сложность алгоритма составляет
O(dn + dmd).
Применение ансамблевого подхода к принятию решений
После выполнения нескольких итераций алгоритма CCA с различными значениями m имеется неоднозначность нумерации кластеров. В этом случае удобно использовать попарную кластеризацию, то есть определять, относится ли каждая пара объектов к одному и тому же кластеру, либо к разным кластерам. Для формирования конечного результата предлагается использовать подход, основанный на построении согласованной матрицы различий [8]. При обработке спутниковых изображений этот подход требует неприемлемо больших вычислительных ресурсов, поэтому предлагается применять его не к исходным данным, а к представителям компонент связности.
R * ECCA(M min, Mmax, T, т)
В работе предлагается алгоритм v min ’ max ’ ’ ’
(Ensemble of CCA), в котором для каждого m = Mmjn, Mmax применяется алгоритм CCA(m, T, т) и на основе его результатов формируется коллективное решение с использованием согласованной матрицы различий. Определим согласованную матрицу различий на клетках: н (Bt, ВJ ) = - Yi=x h(l )(Bi., ВJ ), где h(l )(Bi, ВJ) = 1, если
L =
клетки В; В, лежат в разных кластерах при l-й кластеризации,
* * J
иначе h()(Bi, В- ) = 0, L = Mmax —Mmin + 1 - число итераций. Алгоритм формирования согласованной матрицы различий на каждой итерации представлен на рис. 1.
После вычисления согласованной матрицы различий, для нахождения итогового решения применяется стандартный метод построения дендрограммы, который в качестве входной информации использует попарные расстояния между объектами [9].
Экспериментальное исследование
Далее приведены результаты экспериментов на модельных и реальных данных. Обработка проводилась на ПЭВМ на базе Intel Core 2 Duo E7300 с тактовой частотой 2,66 ГГц (объём оперативной памяти - 512 Мбайт).
Пусть Z — множество представителей компонент связности, Y^m) — представитель компоненты связности, полученный на m-ой итерации выполнения CCA (m, T, т) . Инициализация: Z = 0, H = 0, m = Mmln.
Пока m < Mmax выполнять:
1. Алгоритм CCA (m, T, т);
2. Для каждой клетки Y єZ найти кластер C з Y ;
3. Если H = 0, то для всех пар Yt, Y. єZ, принадлежащих разным кластерам на m-й итерации: H(Y.І, Y.) := H(Y.І, Y.) +1;
4. Для каждого центра Y/m) такого, что VY є Z Y^m) о Y = 0, выполнить:
(H pT Л ^
a. Сформировать новую матрицу н = , где p = (p1,...,pk), p. — число
Ip 0 J
итераций, в которых клетки Y. є Z и Y^m принадлежат разным кластерам;
b. Добавить Y^m) в Z;
5. m := m +1.
Рис. 1. Процедура формирования согласованной матрицы различий
Эксперимент 1. Использовалась модель «Бананы», состоящая из 400 двумерных точек, сгруппированных в два линейно неразделимых класса (рис. 2, а). Модель построена с помощью инструментария [10] с параметром 0.7. В результате выполнения алгоритма CCA(24, 0.3,1) выделено 4 кластера (рис. 2, б). На графике сплошной линией отмечена зависимость ошибки классификации и числа кластеров (рис. 1, г) от параметра Mmin при M max = 24 (параметр Th в методе построения дендрограммы равнялся 0.5). (Точку X Е X , отнесенную к кластеру G (представляющему истинный класс C или его часть), считаем ошибочно классифицированной, если X C . Ошибкой классификации назовем процент ошибочно классифицированных точек в множестве X .)
Пунктирной линией отмечены результаты работы CCA(m, 0.3,1), полученные для каждого m = Mmin,Mmax алгоритма ECCA(Mmin , 24, 0.3, 0). На рис. 2, в приведены результаты работы алгоритма ECCA(18, 24, 0.3, 0) . Из графиков видно,
что результаты работы CCA не устойчивы по отношению к изменению параметра m . В решениях, обеспечивающих малую ошибку (~0.2-0.75%), оптимальное число кластеров достигается лишь при m = 13,15,19. В остальных случаях наблюдается раздробленность истинных классов. С другой стороны, использование ансамбля решений с Mmin е [4,17] позволяет получить кластеризацию с приемлемой ошибкой и оптимальным числом кластеров.
Таким образом, применение ансамблевого метода попарной кластеризации позволяет упростить настройку параметров алгоритма CCA для получения удовлетворительных результатов.
Эксперимент 2. Исследовался фрагмент снимка Центральной части Сибирских Увалов в окрестности г. Ноябрьска (с координатами 69.5951 в.д. 63.2649 с.ш. - 69.4272 в.д. 63.3504 с.ш., площадью 81 км2) размером 324х309 элементов разрешения, полученного со спутника LandSat TM в июле 1987 г.
" .*':***?*
Х-,
Число кластеров
Рис. 2. Результаты эксперимента 1: а - исходные данные; б - результаты работы алгоритма ССА(24,0.3,1); в - результаты применения ансамблевого подхода к принятию решения ЕССА(18,24, 0.3, 0); г - график зависимости числа кластеров и ошибки кластеризации от значений параметра Мтіп алгоритмов ЕССА(Мтт,24,0.3, 0) (сплошная линия) и ССА(Мтт, 0.3,0) (пунктирная линия)
Рис. 3. Исходный фрагмент (а) и результаті кластеризации (б). Выделено 29 кластеров, которые сгруппированы специа-листом-дешифровщиком в 12 классов: 1 - территории, не покрытые растительностью; 2 - обводненные части верховых болот; 3 - старовозрастные сосновые леса; 4 - сосновые заболоченные леса; 5 - лиственничные леса с примесью березы; 6 - сосновые леса после нескольких пожаров; 7 - свежие пожары; 8 - сосновые леса после давних пожаров; 9 - олиго-мезотрофные и мезо-трофные болота (зоны активного сброса болотных вод, вблизи болотной гидросети); 10 - поймы рек; 11 - облесенные верховые болота (рямы, сосна); 12 - фон
Предварительно были исключены из рассмотрения непокрытые растительностью территории (с помощью пороговой сегментации по нормализованному вегетационному индексу (NDVI)). Обработка проводилась по трем каналам (2, 4, 6). В результате кластеризации с параметрами Mmin = 38, Mmax = 44, T = 0.9,
Т = 0 выделено 29 кластеров (кластеры, содержащие менее 0.2% точек, были отнесены в фон). Время работы алгоритма 2.9 с. Число представителей компонент связности, к которым применялся метод построения дендрограммы, равнялся 695. Полученная картосхема соответствовала натурным наблюдениям на участке и была признана удовлетворительной. Исходное изображение и картосхема представлены на рис. 3 (а и б соответственно).
Заключение
В работе предложен сеточный алгоритм кластеризации, позволяющий выделять многомодовые кластеры сложной формы. Результаты проведенных экспериментов на модельных и реальных данных подтверждают устойчивость формируемых им решений к изменению шага сетки, что упрощает поиск оптимальных параметров алгоритма. Быстродействие алгоритма позволяет проводить обработку данных в диалоговом режиме.
Данная работа проводилась при частичной финансовой поддержке РФФИ (грант № 09-07-12087-офи_м).
---------------------------------------------- СПИСОК ЛИТЕРАТУРЫ
1. Mercer D. P. Clustering large datasets // Linacre College, 2003. -http://www.stats.ox.ac.uk/~mercer/documents/Transfer.pdf.
2. Parsons, L., Haque E., Liu H. Subspace clustering for high dimensional data: a review // In Proceedings of SIGKDD Explorations. - 2004. - Pp. 90-105.
3. Ma E. W. M., Chow T. W. S. A new shifting grid clustering algorithm // Pattern recognition. - 2004. - Vol. 37. - Pp. 503-514.
4. Lin N. P., Chang C.-I., Chueh H.-E., Chen H.-J., Hao W.-H. A Deflected Grid-based Algorithm for Clustering Analysis // WSEAS Transactions on Computers. - 2008. - Vol. 7. - No. 4. - Pp. 125-132.
5. Yu J.X., Kitsuregawa M., Leong H. V. (Eds.). DGCL: An Efficient Density and Grid Based Clustering Algorithm for Large Spatial Database // WAIM 2006, LnCs. -2006. - Vol. 4016. - Pp. 362-371. © Springer-Verlag Berlin Heidelberg 2006.
6. Akodjmou-Jeamin M.-I, Salamatian K., Gallinari P. Flexible Grid-Based Clustering // (Eds.): PKDD 2007, LNAI. - 2007. - Vol. 4702. - Pp. 350-357. © Springer-Verlag Berlin Heidelberg 2007.
7. Куликова Е.А., Пестунов И.А., Синявский Ю.Н. Непараметрический алгоритм кластеризации для обработки больших массивов данных // Математические методы распознавания образов: 14-я Всерос. конф.: Сб. докл. М: МАКС Пресс.
8. Бериков В.Б. Построение ансамбля логических моделей в кластерном анализе данных // Математические методы распознавания образов: 14-я Всерос. конф.: Сб. докл. М: МАКС Пресс. 2009.
9. Дуда Р., Харт П. Распознавание образов и анализ сцен. - М.: Мир, 1976. -
559 с.
10. PRTools: the Matlab Toolbox for Pattern Recognition. -
http://www.prtools. org. ИШЗ
Pestunov I.A., Kulikova E.A., Berikov V.B., Makhatkov I.D.
THE GRID-BASED CLUSTERING ALGORITHM USING ENSEMBLE APPROACH FOR MAKING DECISIONS
The grid-based clustering algorithm using ensemble approach for making decisions is proposed. The algorithm can be applied to large datasets. The results of experiments on model dataset and satellite image are proposed.
Key words: grid-based algorithm, ensemble approach, satellite images.
— Коротко об авторах -----------------------------------------------------
Пестунов Игорь Алексеевич - кандидат физико-математических наук, ученый секретарь, Учреждение Российской академии наук Институт вычислительных технологий СО РАН,
E-mall: [email protected]
Куликова Екатерина Александровна - аспирант, Учреждение Российской академии наук Институт вычислительных технологий СО РАН, E-mall: [email protected]
Бериков Владимир Борисович - доктор технических наук, старший научный сотрудник, Учреждение Российской академии наук Институт математики им. С.Л. Соболева СО РАН,
E-mall: [email protected],
Махатков Игорь Дмитриевич - кандидат биологических наук, старший научный сотрудник, Институт почвоведения и агрохимии СО РАН, E-mall: [email protected]
2009.