В этой области пользователь может выбрать алгоритм кластеризации, установить параметры алгоритма кластеризации, провести кластеризацию и сохранить координаты центров кластеров в виде файла. В области расположены следующие меню и кнопки.
Меню Method (Метод)позволяет выбрать один из двух алгоритмов кластеризации: subtractiv – алгоритм вычитающей кластеризации; fcm - нечеткий c-means алгоритм. При выборе алгоритма вычитающей кластеризации графическое окно модуля Findcluster имеет вид, показанный на рис. 4.24. В этом случае пользователь имеет возможность установить значения следующих параметров алгоритма Influence Range (Диапозон влияния), Squash (Давка),Accept Ratio (Принимаемый коэффициент)иReject Ratio (Отклоненный коэффициент), смысл которых объяснен в описании функции subclust. При выборе нечеткого c-means алгоритма область кластеризации принимает вид, изображенный на рис. 4.25. В этом случае пользователь имеет возможность установить значения следующих параметров: Cluster Num. –количество кластеров; Max Iteration # -максимальное количество итераций алгоритма; Min –минимально допустимое значение улучшения целевой функции за одну итерацию алгоритма; Exponent –значения экспоненциального веса.
Рис. 2.24. Основное окно модуля Findcluster
Рис. 2.26. Окно выполнения алгоритма вычитающей кластеризации
Рис. 2.25. Область кластеризации
Кнопка Start –запускает кластеризацию. При использовании алгоритма fcmзначения координат центров кластеров выводятся в окне визуализации после каждой итерации. При использовании вычитающего алгоритма открывается дополнительное окно (рис. 2.26), показывающее динамику процесс кластеризации. Координаты центров кластеров выводятся по окончанию выполнения алгоритма.
Кнопка Clear Plotпозволяет очистить поле вывода данных.
Для выявления центров кластеров (точек в многомерном пространстве данных) откроем файл clusterdemo.dat для просмотра его структуры (рис. 2.27). Файл представляет собой массив цифр (экспериментальных данных), сгруппированных в три столбца (многомерный массив).
Рис. 2.27. Файл clusterdemo.dat
Пример выполнения:
1) загрузим файл данных MATLAB\toolbox\fuzzy\fuzdemos\ clusterdemo.dat с помощью кнопки «Load Data»;
2) выберем алгоритм кластеризации Fuzzy c-means (fcm), с помощью кнопки «Method»;
3) зададим число кластеров равное 3, с помощью кнопки опции «Cluster num»;
4) зададим число итераций равное 100, с помощью кнопки опции «Max Iteration#»;
5) нажимаем кнопку Start и получаем результат (рис. 2.28).
Рис. 2.28. Результат работы программы Clustering
(центры кластеров окрашены в черный цвет).
При увеличении количества кластеров до 30 получим результат, представленный на рис. 2.29.
Рис. 2.29. Результат работы программы Clustering
(центры кластеров окрашены в черный цвет).
Выводы (пример):
В результате выполнения лабораторной работы мы ознакомились с графической средой программы кластеризации – Clustering, пакета Fuzzy Logic Toolbox, которая выявляет центры кластеров. Мы убедились, что с помощью этой программы можно быстро найти центры кластеров.
С использованием демонстрационного примера было произведено сравнение работы двух алгоритмов нахождения центров кластеров (алгоритм вычитающей кластеризации и алгоритм нечетких центров). В результате сравнения было выявлено, что алгоритм вычитающей кластеризации менее точен и подойдет, если не нужна высокая точность кластеризации данных, а алгоритм нечетких центров более точен, его нужно применять, если требуется высокая точность результата. Таким образом, точность решения зависит от выбора алгоритма кластеризации и от формы представления входных данных.
Контрольные вопросы:
1. Какая программа использовалась для выявления центров кластеров?
2. Дайте определение кластеризации.
3. Для каких задач может быть использована кластеризация?
4. Как может быть определено расстояние между кластерами?