Труды Карельского научного центра РАН № 10. 2015. С. 15-23 DOI: 10.17076/mat151
УДК 519.17,519.856,658.012
ПРИМЕНЕНИЕ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ В КЛАСТЕРНОМ АНАЛИЗЕ ДАННЫХ
Б. З. Белашев1,2, К. А. Долгий2
1 Институт геологии Карельского научного центра РАН
2 Петрозаводский государственный университет
На основе методов глобальной оптимизации в системе компьютерной математики «Matlab» разработаны алгоритмы четкой и нечеткой кластеризации данных для определения параметров прототипов кластеров. Предложен способ нахождения границ кластеров. На симулированных данных показано, что центры кластеров, получаемые алгоритмами на основе «patternsearch» и «К-средних», совпадают. Примененные к обработке геологических данных, разработанные алгоритмы упрощают анализ горных пород, например, позволяют по изображению горной породы оценивать ее минеральный состав.
Ключевые слова: алгоритмы глобальной оптимизации, четкая и нечеткая кластеризация данных, центры, границы, форма кластеров, области кластеризации данных.
B. Z. Belashev, K. A. Dolgy. APPLICATION OF GLOBAL OPTIMIZATION IN DATA CLUSTERING ANALISYS
On the basis of global optimization methods in the system of computer mathematics «Matlab» algorithms of clear and fuzzy data clustering had developed to determine the parameters of prototypes of clusters. A method of finding the clusters boundaries was proposed. On simulated data it had been show that the cluster centers derived by algorithms based on «patternsearch» and «К-means» are the same. Applied to the processing of geological data, the developed algorithms simplify the analysis of rocks, for example, allow on the image of the rocks assess their mineral composition.
Key words: algorithms of global optimization, clear and fuzzy clustering data, centers, boundaries, shape of clusters, areas of clustering data.
Введение
Кластеризация данных предполагает автоматическое разделение исходных данных на группы без использования априорной информации. Процедуру применяют при анализе данных, их группировке, распознавании образов, извлечении информации. Там, где информацию структурируют, выделяют ее главные признаки, кластеризация является необходи-
мым этапом, во многом определяющим успех обработки данных в целом [1, 2].
При кластеризации данных определяют число кластеров, оценивают их форму, положения центров, границы. Распространенным приемом является сведение задачи кластеризации к поиску экстремума некоторого функционала, например, минимума дисперсии кластеризации. Многие известные методы в этих
случаях часто подвержены предварительной сходимости: даваемый ими локальный экстремум может значительно отличаться от глобального экстремума [3]. Особое значение проблема приобретает в случае, когда элемент данных одновременно принадлежит нескольким кластерам [4].
Статья посвящена изучению возможностей применения алгоритмов глобальной оптимизации [5] в кластерном анализе данных. Преимущества этих алгоритмов состоят в получении единственного решения, близкого к оптимальному решению, и в отсутствии требований к форме функционала. Пользоваться оптимизационными алгоритмами удобно благодаря их реализациям в системах компьютерной математики.
Моделирование демонстрационных примеров и задач с использованием алгоритмов глобальной оптимизации проведено в системе «Matlab» фирмы Mathworks inc. [6].
Методы кластеризации данных
В агломеративных методах первоначально все объекты считают отдельными кластерами, которые затем объединяют в более крупные кластеры. Процесс объединения наглядно представлен иерархическим деревом-дендрограммой [7].
В методе главных компонент при помощи преобразования Карунена - Лоэва [8] переходят к собственным векторам матрицы корреляции системы случайных величин и компонентам в виде суммы проекций данных на эти вектора, эффективно уменьшающим общую дисперсию случайных величин. В системе координат с осями, ориентированными по главным компонентам, данные подразделяются на кластеры, и такому разделению часто можно придать смысл исходя из формы главных компонент. Нелинейным обобщением метода главных компонент являются карты самоорганизации нейронных моделей [9].
Для отнесения объектов к кластерам в методе горной кластеризации используют эвристические потенциальные функции, выбирая в качестве группирующих элементов элементы с наибольшими значениями потенциалов [10]. Как в агломеративных методах и методе главных компонент, в этом методе число кластеров задавать не требуется.
Если число кластеров известно, центры кластеров получают итеративным методом К-средних [11]. Начальные положения центров выбирают произвольно. Затем, следуя правилу «ближайшего соседа», отбирают объекты, относящиеся к каждому кластеру, а его центр
вычисляют как арифметическое среднее или центр тяжести его элементов. Процедуру повторяют до тех пор, пока происходят изменения.
Для перекрывающихся кластеров применяют нечеткую кластеризацию на основе метода с-средних [12]. Центры кластеров ищут, используя функции принадлежности элементов к кластерам и число кластеров. Часто локальные экстремумы нечетких функционалов дают разные значения центров в зависимости от выбора начальных точек.
Алгоритмы глобальной оптимизации
Генетические алгоритмы [13] реализуют идею естественного отбора Ч. Дарвина - совершенствования вида путем передачи потомкам лучших генов. Функцию приспособленности особей к среде определяют на множестве хромосом особей - последовательностей единиц и нулей, представляющих числа в коде Грея. Чем значение функции меньше, тем более особь считают приспособленной к среде. Генетический алгоритм ищет глобальный минимум этой функции начиная с произвольной совокупности особей, рассматриваемой в качестве популяции. На каждой итерации особи объединяют в пары и производят потомков путем кроссинговера - обмена хвостами хромосом и мутации - случайной инверсии значения в случайном разряде числа. Отбор особей в новую популяцию ведут по значениям функции приспособленности потомков и родителей. Алгоритм сходится, если новая популяция не отличается от предыдущей. Преимущества этих алгоритмов состоят в отсутствии требований к непрерывности и диффе-ренцируемости функций, нечувствительности к попаданию в локальные минимумы, в возможности многокритериальной оптимизации, многократного ускорения сходимости по сравнению со случайным поиском, простоте реализации. Ускорению сходимости способствуют коды, напрямую не зависящие от аргументов целевой функции, использование нескольких точек пространства поиска, детерминированного и случайного механизмов поиска решения. Недостатками являются затрудняющая понимание биологическая терминология, работа с битовыми и псевдобитовыми строками, сложное кодирование решения, невысокая точность определения глобального экстремума, которую повышают, выполняя алгоритм несколько раз и выбирая значение экстремума с наилучшей функцией приспособленности. Примером применения глобальной оптимиза-
ции к проблемам кластеризации является генетический алгоритм К-средних [14].
Меньшие затраты по сравнению с генетическими алгоритмами имеет алгоритм поиска по шаблону - множеству точек в виде вершин п-мерного куба, расширяющегося или сжимающегося, в зависимости от того, имеет или нет точка шаблона значение, меньшее, чем текущее значение функции [15]. Минимальный размер шаблона является основанием для прекращения поиска.
В алгоритмах глобальной оптимизации используют биологическую или другую специальную терминологию. Муравьиный алгоритм, например, применяемый для поиска оптимального пути в графе, копирует поведение муравьев, прокладывающих путь от муравейника к источнику пищи [16]. Алгоритм роя частиц оптимизирует функцию, поддерживая популяцию решений в виде пчел или частиц, перемещаемых в пространстве по простому закону. Положения частиц меняются при нахождении более выгодных позиций [17]. Алгоритм отжига построен на аналогии с состоянием решетки кристалла в процессе охлаждения [18].
Глобальная оптимизация в кластерном анализе
Если число кластеров т известно, их центры могут быть найдены из условия глобального минимума дисперсии кластеризации. Для п входных объектов с координатами щ и ы, г = 1,.. .п и центров кластеров с координатами Хк и у к , к = 1,... ,т дисперсию кластеризации О выразим соотношением
п
О = ^[(щ - ХТг)2 + (Уг - уп)2]. (1)
г=1
Здесь хгг, угг - координаты центра кластера с вектором г г. В отличие от [14], рассчитывающего координаты вектора гг как средние значения элементов кластера, для его нахождения использовано условие:
гг = агд(тгпк((иг - Хк)2 + (V - ук)2)). (2)
Три кластера по сорок элементов в каждом формировали около выбранных центров, используя равномерное случайное распределение. Данные обрабатывали методами горной кластеризации, К-средних, алгоритмом глобальной оптимизации в соответствии с (1-2). Обработку данных вели в системе компьютерной математики «Ма^аЪ». В этом и последующих примерах в качестве средства глобальной оптимизации использована процедура
«patternsearch» пакета «Global Optimization Toolbox», более точная и быстрая по сравнению с генетическими алгоритмами [6, 15]. Система компьютерной математики «Matlab» содержит большой набор инструментов обработки и представления данных. Для ее установки на переносном компьютере требуется около ЗГБайт памяти. Результаты обработки показаны на рис. 1. Полученные алгоритмом глобальной оптимизации центры кластеров отличаются от элементов с наибольшими значениями потенциалов (а). Центры кластеров в методе К-средних и в алгоритме глобальной оптимизации совпадают (б), что, по-видимому, является следствием несмещенности оценки.
Для перекрывающихся кластеров применяли нечеткую кластеризацию, использующую функции принадлежности элементов к кластерам угк, принимающих значения из интервала [0, 1]. В этом случае для оценки качества разбиения использован критерий
m n
Y 2 dk[(иг - Хк)2 + (vi - yk)2] ^ min, (3) k=1г=1
где l - экспоненциальный вес, выбираемый в диапазоне [0,го], задающий уровень нечеткости кластеров, усиливающий влияние элементов с большими степенями принадлежности. Теоретически обоснованного правила для выбора значения экспоненциального веса не существует. Обычно его выбирают равным 2 [4].
Преждевременная сходимость ограничивает применение для нахождения минимума (3) известного алгоритма с-средних с неопределенными множителями Лагранжа [19]. Использование для этих целей алгоритмов глобальной оптимизации и, в частности, «patternsearch» является более приемлемым.
Определение границ кластеров представляет важную и неоднозначно решаемую проблему анализа данных. Пусть на плоскости имеются элементы двух кластеров с координатами ui,vi (рис. 2). Границу между кластерами будем считать прямой, параметры которой A, B, C найдем из условия (4):
sS^s г , i \Аиг + Bvi + С, 2 .
р = (2_>ii + )2^min. (4)
Оптимизационные алгоритмы применимы для визуализации кластеров заданных форм. Часто в качестве элементов, образующих каркас кластеров, выступают геометрические фигуры или линии: дуги окружностей, спиралей, отрезки прямые. Если данные группируются
Рис. 1. Результаты кластеризации симулированных данных методом горной кластеризации (а), методом К-средних и алгоритмом глобальной оптимизации (б)
вблизи окружности и прямой, дисперсию кластеризации представим в виде:
п
О = ^ Шг(\/(и - Хо)2 + (Уг - уо)2 - Го)2 +
г=1
п
^Пг(Уг - аиг - Ь)2, (5)
г=1
где Х0, у0, г0 - соответственно координаты центра и радиус окружности, а и Ь - угловой коэффициент и смещение прямой. Коэффициенты шг и пг принимают значения, равные нулю или единице в зависимости от условий:
шг
= 1,Пг = 0, г/ | л/(иг - Хо)2 + (у г - уо)2 - Го
| Лиг + Буг + С | ^Л2 + В2
(6)
шг
= 0,пг = 1, г/ IV(иг - Хо)2 + (у г - уо)2 - Го
| Лиг + Буг + С |
Глобальный минимум дисперсии Б дает геометрические параметры прототипов кластеров. Рис. 3 а демонстрирует кластеризацию данных, относящихся к окружности и трем прямым. Аналитическое задание образующих каркас кластеров линий позволяет найти точки их пересечений. Для приложений в области физики высоких энергий такая возможность может представлять самостоятельный интерес.
Элементы пересечений считаем принадлежащими нескольким кластерам, а в описании (6) вместо коэффициентов используем функции принадлежности и нечеткий алгоритм кластеризации
^Х^кVгк ^ т^
г=1 к= 1
(7)
где Vгк - квадрат отклонения 1-ого элемента данных до к-кластера. Результаты нечеткой аппроксимации данных окружностью и прямой показаны на рис. 3 б.
Предметные области кластерного анализа
Кластеризацию данных алгоритмами глобальной оптимизации можно применять в разных предметных областях. В физике высоких энергий, изучающей взаимодействия сталкивающихся частиц, на первоначальном этапе обработки данных идентифицируют вторичные частицы по их трекам [20]. Оптимизационные алгоритмы позволяют автоматически отнести образующиеся в материале детекторов пятна к отрезкам прямых, дугам окружностей, спиралей и количественно оценить па-
VЛ22 + Б2 ' раметры этих объектов и связать с зарядом, энергией и импульсом частиц [21]. Попутно возможно решение специальных задач, например, поиск вершины взаимодействия.
Цель автоматической кластеризации данных при интерпретации результатов дистанционного зондирования Земли и планет состоит в дешифровке погребенных под чехлом осадочных отложений разломов, контактов тел, границ пород разного состава, кольцевых структур. Руководящее правило такой кластеризации составляет принцип минимизации, означающий максимальную локализацию перспективных площадей при минимальном числе используемых критериев. Обычно в рельефе ищут линиаменты, крупные дуговые, кольцевые структуры, блоки глубинного строения, трансформные и региональные разломы, выясняют их рудоконтролирующую роль. Задачей линиаментного анализа является оценка трещиноватости и глубинного строения кристаллического фундамента. Кластеры азимутов поверхностных трещин о. Валаам (рис. 4), выделенные из данных [22], дают направления, связанные с процессами контракции при кристаллизации горных пород и наложенной тектоникой. Кольцевые структуры образуются при купольных поднятиях, вулканно-тектонических процессах, импактных событиях. С кольцевыми структурами поднятия и пересекающими их линиаментами связывают месторождения полезных ископаемых, в частности, такие крупные золоторудные, серебряные, платиновые и урановые месторождения, как рифтогенный бассейн Витватерсанд (Южно-Африканская Республика), месторождение Мурунтау (Казахстан) [23].
Рис. 3. Аппроксимация данных по алгоритму (5-6) с определением параметров линий и точки их пересечения (а); нечеткая аппроксимация данных окружностью и прямой (б)
Рис. 4. Азимутальные гистограммы распределения трещин по разным участкам о. Валаам (а) и наложенной трещиноватости (б)
Рис. 5. Фото гранита рапакиви (а) и его выделенные в результате обработки кластеры: калишпат (б), кварц (в), олигоклаз (г)
В геохимии алгоритмы кластеризации помогают выявлять скрытые связи. Устраняя кажущуюся хаотичность геохимических данных, кластеризация способствует их упорядочению, выделению однородных совокупностей и аномальных значений, помогает пониманию механизмов процессов, эволюционных изменений, дает основу для выдвижения и обсуждения гипотез.
При обработке изображений часто пользуются процедурой сегментации. Разделение пикселей по цвету позволяет выделить цветовые компоненты изображения [24]. Подход может быть применен для количественной экспрессной оценки минерального состава горных пород, особенно полезной в полевых условиях. Рис. 5 в черно-белом виде содержит изображения гранита рапакиви (а), выделенные мето-
дом К-средних по цветовым координатам его компоненты, соответствующие калишпату (б), кварцу (в) и олигоклазу (г), кристаллизующемуся позднее и занимающему промежуточные области. Объемное содержание этих минералов в породе оценивали по площади их кластеров на изображении: 46, 26, 28 % соответственно.
В информационных технологиях кластеризация данных на основе глобальной оптимизации может быть полезна в системах безопасности, например, при обнаружении посторонних данных в сетевом трафике и других приложениях.
Заключение
Алгоритмы глобальной оптимизации дают решение, близкое к оптимальному реше-
нию, свободны от требований непрерывности и дифференцируемости функций, учитывают ограничения, накладываемые на переменные. Реализованные в системах компьютерной математики, они доступны широкому кругу пользователей, решают оптимизационные задачи кластеризации, связанные с определением положения, формы и границ кластеров. Их применение в физике высоких энергий, науках о Земле, обработке изображений, информационных технологиях повышает качество анализа данных.
Литература
1. Jain A. K., Murty M. N, Flynn P. J. Data Clustering: A Review (http://www.csee. umbe.edu/nicholas/clustering/ p264-jain.pdf)
2. Kogan J., Nicholas C., Teboulle M. Clustering Large and High Dimensional Data (http://www.csee.umbe.edu /nicholas/clustering/ tutorial.pdf)
3. Ходасевич Г. Б. Обработка экспериментальных данных на ЭВМ. Учебное пособие. СПб.: СПбГУТ, 2002. (http://dvo.sut.ru/libr/opds/ i130hod2/index.htm)
4. Штовба С. Д. Проектирование нечетких систем средствами MATLAB. М.: Горячая линия. Телеком, 2007. С. 72-74.
5. Гладков Л. А. и др. Биоинспирированные методы в оптимизации. Монография. М.: Физ-матлит, 2009. 384 с.
6. Global Optimization Toolbox (http://matlab. ru/products/global-optimization-toolbox)
7. Лекция: Методы кластерного анализа. Иерархические методы: версия для печати и PDA. http://vudguit.no-ip.biz:3232/department/database/datamining/13/ datamining_13.html
8. Jolliffe I. T. Principal Component Analysis, Series: Springer Series in Statistics. 2nd ed. Springer. NY. 2002. XXIX. 487 p.
9. Хайкин С. Нейронные сети. Полный курс. Изд-е 2. М.: Издательский дом «Вильямс», 2008. С. 573-621.
10. Yager R., Filev D. Essentials of Fuzzy Modeling and Control. USA: John Wiley & Sons, 1984. 387 p.
11. Электронный учебник MatLab www.Mat-Lab.ru
12. Ту Дж., Гонсалес Р. Принципы распознавания образов. М.: Мир, 1978. С. 109-112.
13. Holland J. Adaptation in natural and artificial systems. University of Michigan Press Ann Arbor. USA. 1975.
14. Krishna K., Murty M. N. Genetic K means algorithm // IEEE Transaction on System. Man and Cybernetics. 1999. Vol. 29, N 3. P. 433-439.
15. Шаблоны и теорема шаблонов (http://qai.narod. ru/GA/schema.html)
16. Dorigo M., Gambardella L. M. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem // IEEE Transactions on Evolutionary Computation. 1997. Vol. 1, N 1. P. 53-66.
17. Parsopoulos K. E. Recent Approaches to Global Optimization Problems Through Particle Swarm Optimization // Natural Computing. 2002. Vol. 1, N 2-3. P. 235-306.
18. Джонс М. Т. Программирование искусственного интеллекта в приложениях. М.: ДМК Пресс, 2004. C. 25-42.
19. Bezdek J. C. Pattern Recognition with Fuzzy Objective Function. New York: Plenum Press, 1981.
20. Физика микромира. Маленькая энциклопедия / Под ред. Д. В. Ширкова. M.: Советская энциклопедия, 1980. 284 с.
21. Денисов С. П. Детекторы черенковского излучения // Природа. 2004. № 7. C. 22-29.
22. Свириденко Л. П., Светов А. П. Валаамский силл габбро-долеритов и геодинамика котловины Ладожского озера. Монография. Петрозаводск: КарНЦ РАН, 2008. 123 с.
23. Аэрокосмические методы геологических исследований / Под ред. А. В. Перцова. СПб.: Изд-во СПб картфабрики ВСЕГЕИ, 2000. 316 с.
24. Ohlander R., Price K., Reddy D. R. Picture Segmentation Using a Recursive Region Splitting Method // Computer Graphics and Image Processing. 1978. Vol. 8. P. 313-333.
Поступила в редакцию 30.06.2015
References
1. Jain A. K., Murty M. N, Flynn P. J. Data Clustering: A Review (http:// www.csee. umbe.edu/nicholas/clustering/p.264-jain.pdf)
2. Kogan J., Nicholas C, Teboulle M. Clustering Large and High Dimensional Data (http://www csee.umbe.edu/nicholas/clustering/tutorial.pdf)
3. Hodasevich G. B. Obrabotka jeksperimental'nyh dannyh na JeVM. Uchebnoe posobie. SPb, SPbGUT, 2002 (http://dvo.sut.ru/libr/opds/ i130hod2/index.htm)
4. Shtovba S. D. Proektirovanie nechetkih sistem sredstvami MATLAB. Moscow: Gorjachaja linija Telekom, 2007. P. 72-74.
5. Gladkov L. A. i dr. Bioinspirirovannye metody v optimizacii: monografija. Moscow: Fizmatlit, 2009. 384 p.
6. Global Optimization Toolbox (http://matlab.ru /products/global optimization-toolbox)
7. Lekscija: Metody klasternogo analiza. Ierarhicheskie metody: versija dlja pechati i PDA http://vudguit.no-ip.biz:3232/department/data base/datamining/13/datamining 13.html
8. Jolliffe I. T. Principal Component Analysis, Series: Springer Series in Statistics, 2nd ed., Springer, NY, 2002. XXIX. 487 p.
9. Hajkin S. Nejronnye seti. Polnyj kurs. 2 izd. Moscow: Izdatel'skij dom «Vil'jams», 2008. P. 573-621.
10. Yager R., Filev D. Essentials of Fuzzy Modeling and Control. USA: John Wiley and Sons, 1984. 387 p.
11. Tu Dzh., Gonsales R. Principy raspoznavanija obrazov. Moscow: Mir, 1978. P. 109-112.
12. Jelektronnyj uchebnik MatLab // www.MatLab.ru
13. Holland J. Adaptation in natural and artificial systems. University of Michigan Press Ann Arbor, USA, 1975.
14. Krishna K., Murty M. N. Genetic K means algorithm. IEEE Transaction on System. Man and Cybernetics. 1999. Vol. 29, N 3. P. 433-439.
15. Shablony i teorema shablonov (http://qai. narod.ru/GA/schema.html)
16. Dorigo M., Gambardella L. M. Ant Colony System: A Cooperative Learning Approach to the
СВЕДЕНИЯ ОБ АВТОРАХ:
Белашев Борис Залманович
ведущий научный сотрудник, д. т. н. Институт геологии Карельского научного центра РАН ул. Пушкинская, 11, Петрозаводск, Республика Карелия, Россия, 185910
профессор кафедры информационно-измерительных
систем и физической электроники
Петрозаводский государственный университет
пр. Ленина, 33, Петрозаводск,
Республика Карелия, Россия, 185910
эл. почта: [email protected]
тел.: (8142) 782753
Долгий Константин Анатольевич
аспирант кафедры информационно-измерительных систем и физической электроники физико-технического факультета Петрозаводского государственного университета пр. Ленина, 33, Петрозаводск, Республика Карелия, Россия, 185910 эл. почта: [email protected] тел.: (8142) 719675
Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, 1997. Vol. 1, N 1. P. 53-66.
17. Parsopoulos K. E. Recent Approaches to Global Optimization Problems Through Particle Swarm Optimization. Natural Computing. 2002. Vol. 1, N 2-3. P. 235-306.
18. Dzhons M. T. Programmirovanie iskusstvennogo intellekta v prilozhenijah. Moscow: DMK Press, 2004. P. 25-42.
19. Bezdek J. C. Pattern Recognition with Fuzzy Objective Function. New York: Plenum Press, 1981.
20. Fizika mikromira. Malen'kaja jenciklopedija / Pod red. D. V. Shirkova. Moscow: Sovetskaya jenciklopedija, 1980. 284 p.
21. Denisov S. P. Detektory cherenkovskogo izluchenija. Priroda. 2004. N 7. P. 22-29.
22. Sviridenko L. P., Svetov A. P. Valaamskij sill gabbro-doleritov i geodinamika kotloviny Ladozhskogo ozera. Monografija. Petrozavodsk: KarNC RAN, 2008. 123 p.
23. Ajerokosmicheskie metody geologicheskih issledovanij / Pod red. A. V. Percova. SPb: Izd-vo SPb kartfabriki VSEGEI, 2000. 316 p.
24. Ohlander R, Price K, Reddy D. R. Picture Segmentation Using a Recursive Region Splitting Method. Computer Graphics and Image Processing. 1978. Vol. 8. P. 313-333.
Received June 30, 2015
CONTRIBUTORS:
Belashev, Boris
Institute of Geology, Karelian Research Centre,
Russian Academy of Sciences
11 Pushkinskaya St., 185910 Petrozavodsk,
Karelia, Russia
Petrozavodsk State University
33 Lenina St., 185910 Petrozavodsk,
Karelia, Russia
e-mail: [email protected] tel.: (8142) 719675
Dolgy, Konstantin
graduate student of information-measuring systems and
physical electronics of physical and technical department
of Petrozavodsk State University
33 Lenina St., 185910 Petrozavodsk,
Karelia, Russia
e-mail: [email protected]
tel.: (8142) 719675