Научно-технические ведомости СПбГПУ б' 2008. ^Информатика. Телекоммуникации. Управление ^
Математическое моделирование: методы, алгоритмы, технологии
Демидова Л. А., Кираковский В. В. Методы кластеризации объектов на основе нечетких множеств
второго типа и генетического алгоритма
Методы кластеризации на основе целевых функций используются, чтобы минимизировать расстояние между объектом и прототипом кластера (таким как точка, линия, гиперэллипсоид и т. п.) и определить параметры прототипа - центр или радиус. Если множество объектов состоит из компактных кластеров и каждый кластер разумно отделим от других, желательный результат кластеризации может быть получен с помощью четкого алгоритма с -средних. Однако в практических задачах множества объектов редко являются такими. Наиболее известны алгоритмы кластеризации, основанные на учете того или иного вида неопределенности: алгоритм нечетких с-средних (fuzzy с-means FCM-алгоритм), алгоритм возмож-ностных с-средних (possibilistic c-means-PCM-алгоритм). FCM-алгоритм позволяет получить адекватные результаты кластеризации в случае, когда множество объектов содержит пересекающиеся кластеры [1,3]. Результаты кластеризации основаны на нечетких функциях принадлежности, использующих относительные расстояния объектов относительно центров кластеров. Так. объект, расположенный далеко от центра кластера, вносит меньший вклад в процедуру поиска центров кластеров, чем объекты, расположенные близко к центру кластера. Однако FCM-алгоритм работает хорошо, если множество объектов содержит кластеры подобного объема гиперсферической формы, подобной плотности или подобной мощности. Если кластеры в множестве объект ов имеют разную плотность, объем или мощность, то работа FCM-алгоритма может существенно зависеть от выбора фаззификатора т [3]. Если объем кластеров в множестве объектов увеличивается или число объектов в каждом кластере уменьшается, то нечеткая степень принадлежности для объектов в кластере будет изменяться. В FCM-алгоритме изменение нечеткой степени принадлежности для объектов может привести к нежелательному искажению результатов кластеризации.
РСМ-алгоритм позволяет улучшить результаты нечеткой кластери зации в случае, если множество объектов содержит атипичные объекты, за счет
ослабления свойства кластерной относительности и учета свойства типичности. Однако результаты кластеризации с использованием этого алгоритма также сильно зависят от выбора фаззификатора т и значений "ширины зоны" 11. (] = 1, с ), если кластеры в множестве объектов имеют разную плотность, объем или мощность.
В случае применении одного фаззификатора т предполагается, что РСМ-и РСМ-алгоритмы основаны на использовании нечетких множества первого типа (НМТ1). Использование интервальных нечетких множеств второго типа (ИНМТ2) позволяет ввести в рассмотрение два фаззификатора /я, и тг, существенно улучшив результаты кластеризации.
РСМ-алгоритм
РСМ-алгоритм - итерационный алгоритм, вычисляющий нечеткие функции принадлежности для объектов и параметры центров кластеров в соответствии с функциями принадлежности. Функции принадлежности шрают роль весовых коэффициентов, представляя степень вклада объекта, зависящую от выбора фаззификатора т , в оценку центров кластеров. РСМ-алгоритм определяет локально-оптимальное нечеткое разбиение, описываемое совокупностью функций принадлежности. и центры кластеров. Для получения адекватных результатов нечеткой кластеризации необходимо многократное выполнение РСМ-ал-горитма при заданном числе кластеров для различных исходных нечетких разбиений с целью принятия окончательного решения о результатах кластеризации [ 1 ]. РСМ-алгоритм на основе НМТ1 реализует минимизацию целевой функции:
Ни-г)-Ц КМ"-4
(2>,К) = 1 V/ = й),
у=1
где Ц = [«/(*,)] - нечеткое с-разбиение множества объектов {*,} на основе функций
принадлежности м; (.*,); V = (у,,...,- центры кластеров; <//( - Евклидово расстояние между центром кластера у/ и объектом xi: с//( = р, - ||; т - фаззификатор (т е Л, т > 1); с - количество кластеров; п - количество объектов; / = 1,п; у = 1 ,с.
РСМ-алгоритм предполагает выполнение следующих шагов:
1. Инициализация начального нечеткого разбиения и = [и (л-,)].
2. Вычисление центров кластеров:
/=1х Ч 1=1
3. Вычисление новых функций принадлежности:
1/1 К-.-К Р-/ *=1
4. Шаги 2 и 3 повторяются до тех пор. пока не будет выполнено заданное число итераций .у или не будет достигнута заданная точность (и, V) -./'({7, К)| < е , где J{U,V), ..1'(и,У) - значения целевой функции на двух последовательных итерациях.
РСМ-алгоритм
В случае возможностной интерпретации неопределенности может быть использован РСМ-алгоритм на основе НМТ1 [4]. РСМ-алгоритм основан на минимизации целевой функции вида:
J{U,V) =
У=11=1 /=I '=1
где II = [и, (л,)] -возможностное ¿ -разбиениемножества объектов {.V,} на основе функций типичности и,(*,); V = (V,,...,- центры кластеров; с! И - расстояние между объектом х, и цен фом кластера V ■; т - фаззификатор (т е Л , т > 1); г|/ (у = 1,с ) — "ширина зоны", определяющая расстояние, на котором значение функции типичности объекта у -му кластеру равно 0,5; с - количество кластеров; п - количество объектов кластеризации; у = 1, с ; » = 1, п .
При кластеризации с использованием РСМ-алгоритма на основе НМТ1 отбрасывается огра-
(2)
ничение ) = ' - которое обеспечивает
>=I
выполнение требования о том, что для любого
объекта г( (/ = \,п ) сумма степеней принадлежности всем кластерам должна равняться 1.
При минимизации целевой функции (2) воз-можностные функции типичности могут быть вычислены как:
"у (*,) = 1/
1 +
К/п,)
(И-1
(3)
Уравнение (3) определяет функцию типичности объекта х,, которая представляет собой абсолютное расстояние между центром кластера v, и объектом ,т(. Функции типичности м (х1) удовлетворяют офаничению:
!>;(*/) = 1 (У = й).
(=1
Координаты центров кластеров находятся также, как в РСМ-алгоритме на основе НМТ1 в соответствии с формулой (1). РСМ-алгори гм на основе НМТ1, так же, как и РСМ-алгоритм на основе НМТ1, - итерационный алгоритм.
Неопределенность фаззификатора
РСМ-алгоритм дает хорошие результаты кластеризации, если кластеры идентичны по структуре и плотности. Максимально нечеткие степени принадлежности - там. где объекты расположены на одинаковом расстоянии от центров кластеров (средняя вертикальная линия на рис. 1). Эти объекты будут оказывать меньшее влияние на процедуру поиска центров кластеров, чем те, которые удалены от этой вертикальной линии.
Вертикальная линия определяет фаницу решения: объекты, расположенные слева (справа) от нее принадлежат кластеру А, ( Л2). Фаззификатор т определяет максимальную нечеткую область. Обычно хорошие результаты нечеткой кластеризации достигаются при т = 2.
РСМ-алгоритм может дать плохие результаты кластеризации при выборе несоответствующего фаззификатора т из-за различия в плотности или объеме между кластерами [3].
Идеальная ситуация - получение максимальной нечеткой области с широкой левой и узкой правой подобластями (рис. 2). Такая максимальная нечеткая область не может быть получена с помощью РСМ-алгоритма на основе НМТ1 ввиду единственности фаззификатора т.
4
У
надлежности, используя два различных значения фаззификатора m :
Рис. I. Максимальная нечеткая область для кластеров одинакового объема фаззификатора ТП
X =
[(М,У* (*,«)) IV* | Vu е Jx ç [0,l] ,./*(*, и) = lj
При определении интервальных первичных функций принадлежности объекта .г, рассмотрим нижнюю и верхнюю интервальные функции при-
если «'( О > "у (*/)
'у W' если <
ifo). если < иНх')
j (*<)' если > u){xi)
Рис. 2. Желательная максимальная нечеткая область для кластеров разного объема
Чтобы управлять неопределенностью, существующей при задании максимальной нечеткой области в РСМ-алгоритме, необходимо использовать два фаззификатора /и, и т2 для расширения множества объектов на ИНМТ2 [3]. Эта максимальная нечеткая область является неопределенной, так-как построена с помощью двух фаззификаторов »1, и т2, представляющих различные степени нечеткости [3].
Использование интервальных нечетких множеств второю типа
Первичная функция принадлежности ./х объекта х, при описании неопределенности с помощью ИНМТ2 может быть определена как интервальная функция принадлежности со всеми вторичными степенями первичных функций принадлежности, равными 1.
Тогда ИНМТ2 X может быть представлено как [3]:
где (.v,. ) = l/X (dfl/dkipï , р = 1,2.
/ к=I
Функции принадлежности вида (4) и (5) определяют и соответствующий ему "отпечаток неопределенности" FOU . На рис. 3 приведен пример ИНМТ2, "отпечаток неопределенности" которого окрашен в черный цвет, для случая двух кластеров при /и, = 2 и т2 = 5.
Использование фаззификаторов /и, и т2, определяющих различные степени нечеткости, приводит к различным целевым функциям, которые следует минимизировать на основе FCM-алгоритма при m = ш, и m = т2 :
7=11=1
7=1 <' = 1
Аналогичным образом определяются две целевые функции для РСМ-алгоритма при при m = mt и m = т2 :
j= 1i=i
/=I 1=1
./ = I i=l
7=1
При этом в качестве "''(-*,) в формулах (4) и (5) используется функции типичности по формуле (3).
Управление неопределенностью фаззификатора т осуществляется с помощью: вычисления центров кластеров и получения четкого разбиения
для принятия конечного решения о результатах кластеризации [3].
Центроид НМТ1 для п объектов может быть вычислен по формуле:
(6)
i=i
По принципу расширения центроид НМТ2 X вычисляется как:
V.v= I - I /И*.))
FOU
Верхняя iJrnKian принадЕЗ+ностк Ннжп Еч&тдст пддтадге:»ко сш
1=1
(7)
"О 0.1 0.2 0.3 0.4 0.5 Об 0.7 0.8 0.9 1 Рис. 3. "Отпечаток неопределенности"
для Щ = 2 и пг, = 5
Для ИНМТ2 в формуле (7) можно заменить все /(м (.*, )) (/' = 1,и) на 1 и использовать эту формулу для нечеткой кластеризации, введя дополнительно в формулу нечеткую степень т :
i ••• i
Vi=l / /=1
В результате оцениваемые центры кластеров представляются интервалом у^ = [уд, уя] [3].При оценке центров кластеров целесообразно использовать итерационный алгоритм Карника-Менделя [3, 5].
Итерационный алгоритм Карника-Менделя
Итерационный алгоритм Карника-Менделя позволяет определить два "вложенных" НМТ 1 - L и R - внутри FOU ИНМТ2 X. Множества L и R имеют минимально и максимально возможный центроиды vL и vR в X соответственно. Пусть для каждого из объектов кластеризации дг, ( / = 1, п ) заданы значения всех q характеристик, измеренные в некоторой количественной шкале:
= .....хщ)-
Алгоритм Карника-Менделя для поиска максимума \>к центра кластера имеет вид:
1. Для множества объектов л, = (л(|,.... хщ) (; = 1, п ) вычисляются функции принадлежности
в соответствии с формулами (4) и (5).
2. Выбирается значение фаззификатора т (любое из т, и т2).
3. Вычисляется центроид у^ = (у^,..., у^) по формуле (6) и и; (.г,-) = (и, (дг,) + и, (.V, ))/2.
4. Выполняется сортировка индексов п объектов (I = 1, п ) по каждой характеристике / (/ = 1, (]) по возрастанию:
лг| |,.... дг,,| , ..., х^,..., xпч .
5. По каждой характеристике / (/ = 1. ц ) выполняется поиск индекса к ( \ < к < п — 1) такого.
что хк, < V), < *(,+1)/ .
6. Для всех п объектов вычисляются функция принадлежности: если / < А-, то ну- (дг,) = (дг,); иначе - и, (дг, ) = и, (х,).
7. Вычисляется центроид для у", по формуле
(8).
8. Если V)! = у",, то / -я координата центра у -го кластера считается вычисленной и осуществляется переход к шагу 9. В противном случае полагается, что у'/7 = у", и осуществляется переход к шагу 5 для уточнения I -й координаты у -го кластера.
9. Если I < ч , то номер координаты увеличивается на единицу: / = / + 1 и осуществляется переход к шагу 5 для уточнения I -й координаты ] -го кластера. Если / = ч , считается, что процедура вычисления максимума уй центра кластера V; завершена и уд = у, = (у},.....у'/?).
Минимум уд центра кластера у. вычисляется аналогичным образом с заменой действий шага 6
на следующее: если / < к, то м (.г, ) = и, (.V, ); иначе - и} (х,) = иу (.V,).
Результирующее интервальное НМТ1 может быть записано в виде: V = 1.0/[у, , уд] . Четкое значение для центра кластера V находится с помощью операции "понижения типа" [3]:
V) = К + ''л)/2 •
"Четкое разбиение" в РСМ-алгоритме на основе 11НМТ2 находится в соответствии с правилом: "Если(и; (.V, ) > и, (.*,.)) для / = 1,...,с и у ф г ,то х, относится к кластеру у ".
Перед выполнением "четкого разбиения" необходимо выполнить "понижение типа" для функций принадлежности объектов ыДдс,), используя левые и правые функции принадлежности (и': (.г,) и и, (л-;)). "Понижениетипа» может быть выполнено так:
М = К (*/) + «; {х1))/2,] = ~с,
иНх<)=
/=| /
"/ ( г/)'если ХИ использует ¡7 (х,) для V*
№) = / ч '
[ (х,), иначе
"у (*<) = Xм;/ (*/) А-/=1 /
к, (х,), если х,7 использует « (х,) для V •
[ иу (х,),иначе
Вычислительная сложность алгоритма кластеризации на основе ИНМТ2 не превышает 0(>г ). а для ряда практических случаев может быть оценена как 0(п:) [3]. Следует отметить, что РСМ- и РСМ-алгоритмы на основе ИНМТ2 является обобщением соответствующих РСМ-и РСМ-алгоритмов на основе НМТ1 при щ - т2.
Генетический алгоритм поиска
оптимальной комбинации параметров алгоритмов кластеризации
Чтобы найти оптимальную комбинацию фаззификаторов /п, и т2 для РСМ-алгоритма на основе ИНМТ2 и оптимальную комбинацию фаззификаторов т], т2 и значений "ширины зоны" II / (у = 1, с ) следует использовать соответствующий генетический алгоритм [2].
Для РСМ-алгоритма хромосома может быть задана в виде: 5 = (/и,. т2), а для РСМ-алгоритма: 5 = (т},т2,х\^...,х\с), где т1,т2 е (1 ,ттах]; т, < т2; П/ е [ц™,^] (у = ~с ); ттах , л™" и г)"'ш - некоторые действительные числа.
Если для инициализации РСМ-алгоритма на основе ИНМТ2 используются результаты кластеризации. полученные с помощью РСМ-алгоритма на основе ИНМТ2. то хромосому целесообразно представить в виде: 5 = (т|,,..., г)с). В качестве функции соответствия следует использовать общий гиперобъем. который должен быть минимизирован:
7=1
") 1=1
где - ковариационная матрица у -го кластера; п• - количество объектов кластеризации, отнесенных к у'-му кластеру; У/ — вектор координат центра у -го кластера; х, - вектор координат (оценок по критериям) /' -го объекта; с1е1 (IIА - определитель ковариационной матрицы у -го кластера; п - общее количество объектов;
с - количество кластеров; ¡ = 1.п,3 = 1,с.
Следует отметить, что обычно общий гиперобь-ем Н используется для оценки качества кластеризации на основе классического четкого алгоритма с -средних. Однако в данном случае невозможно использование классических показателей качества кластеризации ввиду наличия двух фаззификаторов /и, и т2. Выбор родителя заключается в выборе хромосомы, максимизирующей функцию соответствия Н . из двух случайно выбранных. Затем две выбранные таким образом хромосомы-родителя используются в операции скрещивания. При этом выбирается вероятность скрещивания Рс и генерируется случайное число Ыс. Если Рс > то случайным образом выбирается точка скрещивания 2 и выполняется скрещивание. При выполнении операции мутации выбирается вероятность мутации Р„, и генерируется случайное число Nт . Если Рт > Nт, то случайным образом выбирается точка мутации г и выполняется мутация.
При реализации генетического алгоритма используется одноточечное скрещивание, а мутации подвергается не более одного гена.
Тогда генетический алгоритм имеет вид:
1. Случайным образом создается начальная популяция размера Р. При этом выполняется проверка условия: тх < т2 ■
2. При (С и # - максимальное и текущее количество генераций генетического алгоритма) для каждой хромосомы вычисляется функция соответствия Н и создается Р/2 пар хромосом-родителей.
3. Выполняются операции скрещивания и мутации для текущей популяции. При этом выполняется проверка условия: /и, < пи .
4. Создается популяция размера Р , дополненная хромосомами-детьми в количестве Р * Рс, затем Р * Р хромосом с худшими значениями функции соответствия Н отбрасываются. При g < й осуществляется переход к шагу 2.
5. Выбирается лучшая хромосома, которая максимизирует функцию Н . Для каждого объекта определяется его принадлежность к кластерам.
Если хромосома представлена в виде:
.5 = (г|,.....т|(.), то проверка условия ш, < т2
при создании начальной популяции и при выполнении операций скрещивания и мутации не выполняется.
Предлагаемые методы кластеризации, реализующие совместное использование алгоритмов кластеризации на основе ИНМТ2 и генетического алгоритма, позволяют улучшить качество кластеризации множества объектов, содержащего кластеры существенно разной плотности, существенно разного объема или существенно разной мощности.
Экспериментальные результаты
Ниже приведен пример, демонстрирующий эффективность применения генетического для РСМ-алгоритма на основе ИНМТ2 в случае множества объектов, содержащего три кластера разной мощности.
Кластеры представляют собой множества объектов, координаты которых были сгенерированы с использованием нормального закона распределения с центрами (10, 50). (50. 50) и (90, 50). При этом при генерации первой и второй координат объектов первого и третьего кластеров использовались нормальные законы распределения, имеющие одинаковые дисперсии. Координаты объектов второго кластера имеют существенно большую дисперсию по обеим координатам. Первый и второй кластеры содержат по 35 объектов, а второй кластер - 130 объектов (на рис. 4 объекты разных кластеров помечены маркерами разной формы).
При использовании четкого алгоритма с -средних и РСМ-алгоритма на основе НМТ1 при различных значениях фаззификатора т ошибка кластеризации составляет от девяти объектов (для четкого алгоритма с-средних) и выше. Общий гиперобъем И для результатов кластеризации с использованием четкого алгоритма с-средних составил 350,616.
100 90 80 70 (50 50 40 Í0 20 10
« ! т !
• * ■
i • * VZ" * .......^»jjv*..... ......----- •щ , тг _______г» .:....... ■ь -*----- i-■ л ■ ■ ■х
• у т
• i i ▼ : ▼ ▼ :
0 20 40 60 80 100
Рис. 4. Множество объектов кластеризации 100
• 1 _ 1 t ▼ 1 1
* ......^.......,L....... ■
г • * ? - .......tjJVr---- W i ■ .......f.j _T-.L....... i-1-1 i-1-1 < ■ i i i i ■-¡¿i. +z ósvV lililí
• ■
• i i • ! ▼ T i
0 20 40 60 80 100
Рис. 5. Результаты кластеризации с использованием FCM-алгорнтма на основе НМТ1 при Ш — 2
На рис. 5 приведены результаты кластеризации с использованием FCM-алгоритма на основе НМТ1 при т = 2 , при этом ошибка кластеризации равна 13 объектам (центры кластеров помечены квадратными маркерами с белым заполнением). Применение FCM-алгоритма на основе ИНМТ2 при /и, = 108.813 и т2 = 112.174, найденных с помощью генетического алгоритма, позволило уменьшить ошибку кластеризации до пяти объектов (рис. 6). При этом общий гиперобъем Н для результатов кластеризации составил 330,144.
4
100 90 80 70 60 50 40 30 20 10 о
.А
£
-fc:.....
.....itz.A.....
\
» —
г
0 20 40 60 80 100
Рис. 6. Результаты кластеризации с использованием FCM-алгоритма на основе ИНМТ2 при т, = 108.813 и т2 = 112,174
100 90 80 70 60 50 40 30 20 10 О
... Л___ I _ i i * i
• i * f ■
..if... и t « ____я.__ • .......tj-^»----- ...Т. .fV.T........ . ♦----- ..if. XT ...\... ■ ■ I
• V 1 ▼ 1
• _ ▼ : * » :
40
60
80
100
0 20
Рис 7. Результаты кластеризации с использованием РСМ-алгоритма на основе ИНМТ2 при тх = 108.813, т2 = 112,174.
Л, = 115,411. ц2 = 148,455 и n3 = 117.808
Инициализация РСМ-алгоритма на основе ИНМТ2 с помощью результатов кластеризации, полученных для РСМ-алгоритма на основе ИНМТ2, позволила уменьшить ошибку кластеризации до четырех объектов, а общий гиперобъем Н для результатов кластеризации составил 311,776 (рис. 7).
Таким образом, использование алгоритмов кластеризации на основе ИНМТ2 позволило уменьшить ошибку кластеризации с 4,5 до 2 %.
Предлагаемые методы кластеризации, реализующие совместное использование алгоритмов кластеризации на основе ИНМТ2 и генетического алгоритма, позволяют адекватно представлять и управлять неопределенностью, которая возникает при анализе множества объектов, образованного из кластеров существенно разной плотности, существенно разного объема или существенно разной мощности.
На тестовых примерах доказана целесообразность использования общего гиперобъема Н как показателя качества кластеризации.
В результате удается определить более точное положение центров кластеров, и. следовательно, улучшить результаты кластеризации. Применение генетического алгоритма позволяет найти оптимальную комбинацию параметров алгоритма кластеризации на основе ИНМТ2, обеспечивающую адекватные результаты кластеризации, что подтверждается минимальным значением функции соответствия Н .
СПИСОК ЛИТЕРАТУРЫ
1. Демидова Л. Д., Кираковский В. В., Пыль-
кин А. Н. Алгоритмы и системы нечеткого вывода в задачах диагностики городских инженерных коммуникаций. М.: Радио и связь: Горячая линия - Телеком, 2005. 592 с.
2. Ярушкина Н. Г. Основы теории нечетких и гибридных систем: Учеб. пособие. М.: Финансы и статистика. 2004. 320 с.
3. Hwang C„ Rhee F. C-.H. Uncertain fuzzy clustering: interval type-2 fuzzy approach to c-means // IEEE Trans, on Fuzzy Systems. 2007. Vol. 15.№ I. P. 107-120.
4. Krishnapuram R., Keller.). M. A possililistic approach to clustering // IEEE Trans on fuzzy systems. 1993 Vol. 1, № 2. P. 98-110.
5. Mendel Jerry M. Type-2 fuzzy sets and systems: an overview. // IEEE Computational intellegence magazine. 2007. Vol. 2,№ 1. P. 20-29.