Научная статья на тему 'Система онлайн кластеризации на базе методов Fuzzy C-means и MST'

Система онлайн кластеризации на базе методов Fuzzy C-means и MST Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1268
92
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ / КЛАСТЕРНЫЙ АНАЛИЗ / МИНИМАЛЬНЫЕ ОСТОВНЫЕ ДЕРЕВЬЯ / НЕЧЕТКИЕ К-СРЕДНИЕ / MST / FUZZY C-MEANS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кулажский А. А.

В статье описывается веб-приложение для кластеризации фактографических данных. Приводится список популярных алгоритмов кластеризации и их классификация. Объясняется комбинированный алгоритм кластеризации на базе методов Fuzzy C-means и MST, раскрываются особенности реализации приложения в веб-среде.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кулажский А. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Система онлайн кластеризации на базе методов Fuzzy C-means и MST»

Система онлайн кластеризации на базе методов

Fuzzy C-Means и MST

Кулажский A.A.

Московский Государственный Технический Университет им. Н.Э. Баумана

AKulazhski @ it-claim, ги

Аннотация. В статье описывается веб-приложение для кластеризации фактографических данных. Приводится список популярных алгоритмов кластеризации и их классификация. Объясняется комбинированный алгоритм кластеризации на базе методов Fuzzy C-means и MST, раскрываются особенности реализации приложения в веб-среде.

Ключевые слова: интеллектуальный анализ данных, кластерный анализ, минимальные остовные деревья, MST, нечеткие к-средние, Fuzzy C-means.

1 Интеллектуальный анализ данных и задача кластеризации

В связи с ростом объемов информации в последние десятилетия актуальность приобретают новые способы обработки и работы с данными. Одним из таких направлений является Data Mining - интеллектуальный анализ данных. В отличие от классических способов работы с информацией, в это области большое внимание уделяется поведению человека, решающего сложные интеллектуальные задачи классификации, обобщения, выявления закономерностей и т.д. Развитию этой дисциплины способствовало проникновение в сферу анализа данных теории искусственного интеллекта. «Data Mining - это процесс обнаружения в сырых данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретаций знаний, необходимых для принятия решений в различных сферах человеческой деятельности»4. При исследованиях и работе с данными в рамках Data Mining выделяют шесть различных задач -классификация, регрессия, кластеризация, выявление ассоциаций, выявление последовательностей и прогнозирование [Нейский и др., 2009].

Основной целью кластерного анализа является нахождение сравнительно небольшого числа групп (кластеров) объектов так, чтобы внутри кластеров объекты были как можно более схожи, а между кластерами - как можно больше отличались. Этот вид анализа широко используется в информационных системах при работе с категорийными данными в таких областях как статистика, финансовая математика, при

4 http://www.basegroup.ru/library/methodology/data_mining.

проведении социально-экономических исследований, в банковской и страховой сферах, в медицине и так далее.

В работе была разработана информационная система онлайн кластеризации, использующая методы кластерного анализа данных. В основе работы программы лежит алгоритм, предложенный И.М. Нейским в диссертационном исследовании "Методика адаптивной кластеризации фактографических данных на основе интеграции методов минимального остовного дерева и K-средних" [1, 2]. Задача текущей разработки заключалась в реализации данного алгоритма на базе веб-приложения.

существующих

алгоритмов

7 Краткий обзор кластеризации

В данной работе все алгоритмы были разделены на иерархические-неиерархические, это широко используемая классификация алгоритмов кластеризации [4]. С более подробной классификацией можно ознакомиться в работе «Survey of Clustering Data Mining Techniques» [3].

Иерархические

<

Алгоритмы кластеризации

'ВИД

Дивизимные

К-средних

K-medoids

Вероятностные

Плотностные

К

I I

4

MCLUST

AUTOCLAS5

DBCLASD

OPTICS

DBS С AN

Рис. 1. Классификация алгоритмов кластеризации

8 Комбинированный алгоритм

На базе алгоритмов MST5 и Fuzzy-C-Means6, был создан комбинированный алгоритм, объединяющий достоинства обоих алгоритмов. Данный алгоритм позволяет провести первоначальное разделение на кластеры произвольной формы с помощью MST, тем самым избежав недостатка Fuzzy-C-Means, где необходимо задать исходное

5 http://www.ics.uci.edu/~eppstein/161/960206.html

6http://home.deib.polinü.it/matteucc/Clustering/tutorial_html/cmeans.html

количество кластеров. На первом шаге на экран выводятся расстояния между узлами в виде таблицы с числовыми значениями. Не зная заранее точное значение количества кластеров, достаточно указать максимально допустимое расстояние между объектами, на основании которого будут удаляться ребра остовного дерева. Далее результат MST поступает на вход Fuzzy-C-Means, где происходит деление на кластеры.

9 Особенности реализации разработанного приложения

Информационная система онлайн кластеризации представляет собой веб-приложение, предоставляющее специалистам по интеллектуальному анализу данных функции кластеризации данных в числовых форматах методами MST и Fuzzy-C-Means. Система имеет клиент-серверную архитектуру, так как существует необходимость выполнения сложной логики алгоритмов кластеризации. В ходе разработки приложения возникли некоторые трудности, связанные с выполнением программы на стороне сервера: пользователям запрещается запускать ехе-файлы, хранящиеся на сервере. Таким образом, стандартными способами невозможно было запустить desktop-приложение разработанное автором

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

Клиент Сеть Сетевой зкран

Сервер CGI-программа

Рис. 3. Общая архитектура программы

Сам алгоритм был реализован с использованием открытых С++ библиотек mlpack8 и cgicc9 . Тестирование системы проводилось на открытых данных из архива UCI Machine Learning Repository10. Исходные массивы данных имели до 5 атрибутов и до 200 экземпляров, для которых заранее была известна принадлежность к определенному классу - это использовалось для проверки качества программы.

Рассмотрим результаты для классического набора данных «Ирисы»11, предложенного Р. Фишером в 1936 году для тестирования задач классификации. Файл содержит 150 экземпляров, которые по характеристикам цветков делятся на 3 класса по 50 экземпляров. В нашем случае, мы тестируем задачу кластеризации, поэтому не задаем изначальное количество кластеров.

Результат работы программы:

91% экземпляров верно распределены по классам.

6% экземпляров образовали отдельные классы (шум).

3% экземпляров отнесены в неправильный класс.

7 http://www.w3.org/CGI/

8 http://mlpack.org/

9 http://www.gnu.org/software/cgicc/

10 http://archive.ics.uci.edu/ml/datasets.html

11 http://archive.ics.uci.edu/ml/datasets/Iris

Расстояния между ушами:

ооо о. 1000 о. 1000 о. I ооо о. 1000 0,14140.1414 0.14140.1414 0.14140.1414 0,1414 0,1414 0.1414 0.1414 0,1414 0,14140.1414 01414 0,1414 0.1414 0.1414 0.1414 0.1414 0.1414 0.1414 0.1414 0.1414 0.1732 0.1732 0.1732 0.1732 0.1732 0.1732 0.1732 0.1732 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2236 0.2236 0.2236 0.2236 0.2236 0.2236 0.2236 0.2236 0,2236 0.2236 0.223o 0.2236 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0.2449 0,2646 0.2646 0.2646 0.2646 0,2646 0.2646 0.2646 0.2646 0,2646 0.2646 0,2646 0.2828 0.2828 0.2828 0.3000 0,3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0,3162 0.3162 0,3162 0.3162 0,3162 0.3162 0,3317 0.3317 0,3317 0.3317 0.3317 0,3317 0,3464 0.3464 0,3464 0.3464 0,3464 0.3464 0,3464 0.3464 0,3464 0.3606 0.3606 0.3606 0,3606 0,3606 0,3606 0,3606 0.3606 0,3742 0.3742 0.3742 0,3873 0.3873 0,3873 0.4000 0.4123 0.4123 0,4123 0.4123 0,4243 0.4243 0.4359 0.4359 0,4583 0,4899 0.4899 0,5099 0.5292 0.5385 0.5385

0.5568.0,6245 0.6325 0,6481 0.7348 0,8185 1.6401

Для продолжения введите максимально допустимое расстояние между узлами внутри кластера Distance Ii mil !о.4 Дальше

Рис. 4. Форма задания максимального расстояния

Результат сильно зависит от заданного максимального расстояния между объектами, которое выбирается после анализа таблицы расстояний. При работе с программой это действие должно выполняться специалистом в исследуемой предметной области.

Более подробную информацию о проделанной работе можно получить по адресу blogs.it-claim.ru/akulazhski.

10 Список литературы

1. Нейский И.М., Филиппович А.Ю. Методика адаптивной кластеризации фактографических данных на основе интеграции алгоритмов MST и Fuzzy C-means // Известия высших учебных заведений. Проблемы полиграфии и издательского дела. -М.: Изд-во МГУП, 2009. - №3 - С. 48-61.

2. Нейский И.М., Филиппович А.Ю. Разработка тарифной политики для клиентов брокерского обслуживания на базе методов адаптивной кластеризации // Прикладная информатика, №1 (31), 2011 - С. 3-11.

3. P. Berkhin. Survey of clustering data mining techniques. Technical report, Accrue Software, San Jose, CA, 2002.

4. Anil К Jain, R.C. Dubes. Algorithms for Clustering Data. Prentice Hall, New Jersey, 1988.

i Надоели баннеры? Вы всегда можете отключить рекламу.