Научная статья на тему 'Эволюционный алгоритм для решения задачи нечеткой кластеризации'

Эволюционный алгоритм для решения задачи нечеткой кластеризации Текст научной статьи по специальности «Математика»

CC BY
552
148
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКАЯ КЛАСТЕРИЗАЦИЯ / ЭВОЛЮЦИОННЫЙ АЛГОРИТМ / ИНДЕКС КСИ-БЕНИ / FUZZY CLUSTERING / EVOLUTIONARY ALGORITHM / XIE-BENI INDEX

Аннотация научной статьи по математике, автор научной работы — Леденева Т. М., Моисеев С. А.

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

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

EVOLUTIONARY ALGORITHM FOR FUZZY PARTITIONING

In this article original evolutionary algorithm with Xie-Beni fuzzy clustering criteria is used to perform fuzzy partitioning of iris Fisher data set

Текст научной работы на тему «Эволюционный алгоритм для решения задачи нечеткой кластеризации»

УДК 004.023

Информационные технологии

ЭВОЛЮЦИОННЫЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ НЕЧЕТКОЙ

КЛАСТЕРИЗАЦИИ

Т.М. Леденева, С.А. Моисеев

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

Ключевые слова: нечеткая кластеризация, эволюционный алгоритм, индекс Кси-Бени

Одним из перспективных и развивающихся направлений в области систем искусственного интеллекта является

гибридизация, при которой происходит

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

управления, прогнозирования, поддержки

принятия решений в различных областях деятельности человека. В данной статье предлагается метод нечеткой кластеризации с использованием эволюционного алгоритма и индекса нечеткой кластеризации Кси - Бени (индекс ХВ), а также продемонстрированы результаты его работы на тестовом наборе данных ирисов Фишера и проведено сравнение с результатами работы алгоритма нечетких с -средних.

Существует достаточно большое количество методов нечеткой кластеризации, среди которых наибольшее распространение имеет метод нечетких с - средних [1] и различные его вариации.

Процесс нечеткой кластеризации можно представить в виде эволюционирования матрицы нечеткого разбиения пространства значений параметров, представляющей

Леденева Татьяна Михайловна - ВГУ, д-р техн. наук, профессор, e-mail: dean@amm.vsu.ru Моисеев Станислав Александрович - ВГТУ, аспирант, e-mail: Akakay.Malahov@mail.ru

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

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

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

[2].

Рис. 1. Общая схема классического генетического алгоритма

Различают Мичиганский и Питсбургский подходы к кодированию пространства решений задачи, к которой применяется генетический алгоритм [3]. Важное значение имеет также выбор способа кодирования решений и генетических операторов [4].

Функция приспособленности хромосомы показывает степень полезности решения. Для измерения значений функции

приспособленности хромосом в статье используется индекс ХВ [5], закодированный в хромосоме. Индекс представляет собой отношение общего разброса к минимальному расстоянию между кластерами. Пусть множество всех возможных матриц разбиения обозначается так:

V = {U£ ;£v„ = 1,£v„ > 0,Vk £ [0,1]}(1)

i =1 k=1

Наилучшим разбиением считается такое, которое минимизирует индекс XB:

V* е V;XB(V*,C*,X) = min(XB(V,C,X))

Vi£U (2)

В формуле V - оптимальная матрица разбиения, C * - центры кластеров, X - вектор входных значений, XB - индекс XB. Количество кластеров и соответствующее нечеткое разбиение данных эволюционирует одновременно.

Значение общего разброса вычисляется по

(3), минимальное расстояние между центрами кластеров - по (4), вычисление индекса XB производится по (5).

m П

s(V, C, X) = XZ ”*D2(Ci, Xk) , (3)

i=1 k=1

XB(V, C, X):

s(V, C, X) n * s(C)

(4)

(5)

В приведенных формулах (7 - общий разброс, 5 - минимальное расстояние между центрами кластеров, ХВ - индекс ХВ, п -размерность массива разбиваемых точек данных, т - количество центров кластеров, с -координаты центров кластеров, - элементы

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

Когда разбиение компактное и «хорошее», значение 7 должно быть малым, в то время как значение 5 должно быть большим, приводя к уменьшению значения индекса ХВ. Таким образом, целью является минимизация индекса ХВ для получения оптимальной матрицы разбиения.

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

При формировании первоначальной популяции генерируется Q0 хромосом, число

Q0 задается пользователем. Количество

кластеров Qt в каждой хромосоме, то есть длина каждой отдельной хромосомы, при формировании первоначальной популяции вычисляется по (6).

Qt = INT (RAND(2, M * +1)) (6)

В (6) M * представляет оценку верхней границы числа кластеров и используется только для генерации первоначальной популяции.

Значение M * также либо задается

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

Пусть хромосома кодирует m центров кластеров, которые обозначаются как c1,c2,...,cm . Значения принадлежностей

k = 1,2,

i = 1,2,

вычисляются

по (7)

v,,, =

2 Y

Z

j=i

D(c, xk) '1W-1

D(cj , xk ) ,

(7)

В формуле (7) W - параметр нечеткости, обычно выбирают значение параметра равное 2 и выше, при значении параметра равным 1 получаем точную кластеризацию. Функция приспособленности хромосомы определяется как XB-1, таким образом, максимизация функции приспособленности минимизирует значение индекса ХВ.

Центры кластеров, закодированные в хромосоме, пересчитываются согласно выражению (8)

Z (v* )Wxk

k=1

Z v )W

k=1

1 < i < m. (8)

В качестве оператора селекции используется пропорциональная селекция, при которой хромосома копируется в следующее поколение в зависимости от пропорции ее значения функции приспособленности в популяции. В данной работе применяется широко распространенный метод колеса рулетки [6].

Важной проблемой при разработке эволюционного алгоритма является

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

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

Для выполнения операции кроссинговера применяется следующий подход. Центры кластеров считаются неделимыми, и точки кроссинговера могут располагаться только между двумя центрами кластеров. Оператор кроссинговера применяется случайным образом с вероятностью Pcross, при этом необходимо убедиться, что операция кроссинговера произошла, и оба потомка кодируют центры как минимум двух новых кластеров. В соответствии с вышесказанным, оператор кроссинговера определяется следующим образом: пусть родительские

хромосомы кластеров C1 кроссинговера рассчитывается

Aj и

2 кодируют центры [ C2 соответственно. Точка q1 в хромосоме A1

случайным образом по

формуле

q1 = RANDQ) * MOD(A1) (9)

Пусть q2 - точка кроссинговера в хромосоме A2, и она может изменяться в диапазоне [.L6(q2),RB(q2)], где LB(q2) и RB(q2 ) - соответственно нижняя и верхняя границы диапазона значений q2 , которые вычисляются по формулам

LB(q2) = min[2,max(0,2 - (C1 - q1))] (10) RB(q2) = [C2 -max(0,2-q1)] (11)

Таким образом, точка q2 задается формулой:

ГLB(q2) + RAND ()MOD(RB(q2) -q 2 = <- LB (q 2))), если RB (q 2) > LB (q 2), 0, в противном случае

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

Каждый локус хромосомы может мутировать с фиксированной вероятностью pm. Число t е [0,1] генерируется в

соответствии с однородным распределением. Изменение значение гена происходит следующим образом: если значение гена до

c

мутации было равно h, после применения оператора мутации оно будет равным (1 ±2 *т)*h, когда h ф 0 и ±2* т если h = 0 .

Знак мутации выбирается с вероятностью 1/ 2 . Необходимо отметить, что при такой мутации может быть изменен более чем один кластер в хромосоме.

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

Рассмотрим решение задачи нечеткой кластеризации для тестового набора данных ирисов Фишера. Указанный набор данных доступен на сайте [7], и представляет набор значений четырех параметров для трех различных видов ирисов, состоящий из 150 строк. При этом в ходе проведения тестов не использовалась информация о принадлежности конкретного цветка, заданного значениями четырех параметров, определенному классу. Для моделирования работы эволюционного алгоритма использовалось разработанное авторами программное обеспечение для проведения эволюционных вычислений. Настройки эволюционного алгоритма представлены в табл. 1.

Таблица 1 Настройки эволюционного алгоритма

Т ип популяции Вектор действительных чисел

Первоначальное количество кластеров 10

Размер популяции 20

Т ип селекции Колесо рулетки

Процент элитных особей 10

Максимальное количество поколений 10000

Вероятность мутации 0,05

Вероятность кроссинговера 0,9

Размерность пространства входов 4

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

График изменения наилучшего значения функции приспособленности в зависимости от номера поколения представлен на рис. 2. График изменения значения средней

приспособленности всей популяции в зависимости от номера поколения представлен на рис. 3.

160 т

140 -120 -100 -80 -60 -40 -20 -0 -

т-Г'-СП’гГГ'-СОСЧСЧС'О’гГС'ОС'О’гГСЧГ'-СЧСПт-СЧ

СОС^т-СОЮт-ОСПСОЮСЧСП'';ГСПСОт-ЮГ'-

СЧЮСПСОСОСЧСОСОСОСЧСОСОСОСОГ--СОГ--

ч-ч-СЧСЧСЧСЧСОСО^ЮСОСОСПСП

Рис. 2. Изменение наилучшего значения функции приспособленности

160 140 120 100 80 60 40 20 0

ч— Г-~СЛ'';ГГ--ООСЧСЧСО'';ГСОСО'';ГСЧГ--СЧ<Л'<— сч

СО ОТ ч— СОЮ-«— ОСЛСОЮСЧСЛ-'гГСЛСО'«— ЮГ-~ СЧЮСЛСОООСЧСОСОООСЧСОСОСОСОГ-~СОГ-~

ч— ч— ПП^ПСОСО^-ЮЮСООО!

Рис. 3. Изменение среднего значения функции приспособленности по популяции

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

Таблица 2 Центры кластеров, определенные эволюционным алгоритмом_____________

Длина чашелис- тика Ширина чашелис- тика Длина лепестка Ширина лепестка

46 26 9 10

59 30 14 2,5

48 38 23 0,4

Результаты выполнения команды Ш8&т пакета МаЙаЬ для проведения нечеткой кластеризации методом нечетких с-средних приведены в табл. 3.

Таблица 3

Центры кластеров, определенные методом _________нечетких с-средних______________

Длина чашелис- тика Ширина чашелис- тика Длина лепестка Ширина лепестка

58,8 27,6 43,6 13,9

67,7 30,5 56,4 20,5

50 34,1 14,8 2,5

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

В данной статье представлен метод нечеткой кластеризации на основе модифицированного эволюционного

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

Воронежский государственный университет

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

Литература

1. J.C. Dunn. A Fuzzy Relative of the ISODATA Process and its Use in Detecting Compact, Well Separated Clusters. - J.Cyber, 1974. - С. 32-57

2. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. - М.: ФИЗМАТЛИТ, 2003. - 432 с.

3. Курейчик В.В., Курейчик В.М., Гладков Л.А.

Генетические алгоритмы. Учебное пособие. - М.:

ФИЗМАТЛИТ, 2006. - 320 с.

4. H. Muhlenbein, D. Schlierkamp-Voosen. Analysis of Selection, Mutation and Recombination in Genetic Algorithms. - Evolution and Biocomputation, 1995. - 27 с.

5. Xie X.L., Beni G.A. A validity Measure for Fuzzy Clustering. - IEEE Trans. on PAMI, vol. 3, n. 8, 1999. - С. 841-846.

6. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. - М.: Горячая линия - Телеком, 2006. - 452с.

7. http://en.wikipedia.org/wiki/Iris_flower_data_set

Воронежский государственный технический университет

EVOLUTIONARY ALGORITHM FOR FUZZY PARTITIONING T.M. Ledeneva, S.A. Moiseev

In this article original evolutionary algorithm with Xie-Beni fuzzy clustering criteria is used to perform fuzzy partitioning of iris Fisher data set

Key words: fuzzy clustering, evolutionary algorithm, Xie-Beni index

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