Разработка системы анализа алгоритмов кластеризации

Автор работы: Пользователь скрыл имя, 02 Ноября 2013 в 19:18, дипломная работа

Описание работы

Кластеризация – задача разбиения заданного множества объектов (данных) на различные подмножества, называемые кластерами, таким обра-зом, чтобы кластеры были непересекающимися и состояли из схожих по свойствам объектов, при этом объекты разных классов отличались.
Различные определения кластера могут быть сформулированы в зави-симости от цели анализа. В общем представлении, кластер – группа объек-тов схожих между собой по определенным признакам

Содержание работы

ВВЕДЕНИЕ 3
ГЛАВА 1: АЛГОРИТМЫ КЛАСТЕРИЗАЦИИ 4
1.1 Задача кластеризации 4
1.2 Средства анализа алгоритмов кластеризации данных 9
1.3 Постановка задачи 12
ГЛАВА 2: ТЕОРЕТИЧЕСКИЕ ОСНОВАНИЯ РАБОТЫ 15
2.1 Индексные методы оценки кластеризации 15
2.2 Анализ главных компонент 18
ГЛАВА 3: ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 21
3.1 CAMA 21
3.2 Примеры 26
ЗАКЛЮЧЕНИЕ 29
СПИСОК ЛИТЕРАТУРЫ 30

Файлы: 1 файл

кластер.docx

— 265.72 Кб (Скачать файл)

 

Добавление, просмотр и редактирование алгоритмов

   Работа  с файлами, содержащими код  алгоритмов, организована аналогично работе с файлами данных. Существенным отличием, является то, что при добавлении алгоритма вызывается метод, который его компилирует  и генерирует соответствующую динамическую библиотеку.  С этого момента этот алгоритм можно использовать.  Он доступен через интерфейс сайта, который обращается к вычислительному серверу с идентификатором алгоритма, а тот в свою очередь по идентификатору обращается к сгенерированной динамической библиотеке.

Взаимодействие с вычислительным ядром

Рис. 4  Программная архитектура системы.

 

В работе используется  вычислительное ядро(сервер), реализованное на С# , частично поддерживающий синтаксис Matlab [3]. Пользовательские  алгоритмы компилируются на стороне сервера и хранятся в качестве динамических библиотек. Достоинство разработанной системы в том, что потенциально она может поддерживать параллельно сразу несколько вычислительных серверов. В рамках написания дипломной работы автором было дополнительно апробировано использование в качестве вычислительного сервера программы Matlab , и проведено сравнение результатов выполнения на нем некоторых алгоритмов кластеризации с разработанными в рамках [3].

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

3.2 Примеры

Рассмотрим  работу индексных методов в разработанной системе. В анализируемых данных, четко выделены три кластера, применим к ним  стандартный алгоритм k-Means, поддержанный вычислительным ядром [3]. Ограничив максимальное количество кластеров числом 10 (Рис. 5).

Рис. 5  Пример анализа алгоритма k–means.

Как видно  из примера, при выполнении алгоритма для трех кластеров индексы достигают экстремальных значений, тем самым, указывая это число классов, как наиболее вероятное.

Пользователь  также может добавить свой алгоритм (Рис. 6)

 

Рис. 6  Раздел добавления алгоритмов.

 

и в дальнейшем использовать его,  в том числе сравнивая с другими алгоритмами (Рис. 7).

Рис. 7  Сравнительный анализ двух алгоритмов на одних данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

В ходе написания  дипломной работы были рассмотрены  итеративные методы кластеризации и индексные методы их оценки, а также использован алгоритм Хебба для выделения главных компонент. Была разработана система, поддерживающая эти методы. Существенным отличием от других подобных систем является то, что разработка находится в свободном доступе и  не требует от пользователя установки дополнительного программного обеспечения, делает доступным анализ собственных алгоритмов. Были разработаны как внутренняя структура системы, так и пользовательский интерфейс. По результатам работы подготовлена статья на конференцию.

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

 

 

 

 

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

 

    1. Граничин О.Н., Шалымов Д.С. Исследование и рандомизация алгоритмов устойчивой кластеризации на основе индексов// Нейрокомпьютеры: разработка, применение, № 3 , с. 58–64, 2009.

 

    1. Саймон Хайкин Нейронные сети: полный курс — 2–е. — М.: «Вильямс», 2006.

 

    1. Cкрыган  К. А. Веб–сервис для имплементации алгоритмов на языке «Matlab». Дипломная работа, Математико–механический факультет СПбГУ, 2009.

 

    1. Bezdek J.C. and Dunn J.C. Optimal fuzzy partitions: A heuristic for estimating the parameters in a mixture of normal dustrubutions // IEEE Transactions  on Computers, 835–838,1975.

 

    1. Calinski R. B. and Harabasz, J. A dendrite method for cluster analysis // Communications in Statistics, vol. 3, 1–27, 1974

 

    1. Krzanowski, W. J. and Lai, Y. T. A criterion for determining the number of clusters in a data set using sum of squares clustering // Вiometrics 44, 23–34. 1985.

 

           

 

 

 


Информация о работе Разработка системы анализа алгоритмов кластеризации