Использование нечеткой логики в решении задач классификации

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В ТЕОРИИ УПРАВЛЕНИЯ СЛОЖНЫХ ПРОЦЕССОВ

ИСПОЛЬЗОВАНИЕ НЕЧЕТКОЙ ЛОГИКИ В РЕШЕНИИ ЗАДАЧ КЛАССИФИКАЦИИ

А.Ю. Лабинский, кандидат технических наук, доцент. Санкт-Петербургский университет ГПС МЧС России

Рассмотрены особенности решения задач классификации с использованием нечеткой логики. Классификация выполнялась с использованием системы нечеткого вывода с четкими функциями принадлежности. Рассмотрена классификация 6 и 16 объектов, в результате которой объекты объединены в два и три кластера разной конфигурации.

Ключевые слова: нечеткая кластеризация, система нечеткого вывода, компьютерная программа, математическая модель

THE PROBLEM OF USE THE FUZZY LOGIC FOR CLASSIFICATION THE OBJECTS

A.Yu. Labinskiy. Saint-Petersburg university of State fire service of EMERCOM of Russia

This article presents the problem of using the fuzzy logic for classification the objects. The reliability calculation work with use fuzzy output system with membership functions. The mathematical model use the fuzzy control.

Keywords: fuzzy classifier, fuzzy output system, computing program, mathematical model

В настоящее время активно развиваются исследования в области разработки компьютерных моделей сложных процессов и систем, основанных на перспективных направлениях моделирования в рамках научного направления «природные вычисления», объединяющего нечеткие системы, нейронные сети, генетические алгоритмы и методы самоорганизации [1, 2].

Под кластеризацией понимается объединение объектов в группы (кластеры) на основе отличий признаков между группами и схожести признаков для объектов одной группы [3]. Алгоритмы кластеризации могут использоваться в условиях полного отсутствия информации о законах распределения исходных данных. Исходной информацией для кластеризации объектов с количественными (числовыми) признаками является матрица наблюдений:

X=[(x11 x12... x1n).........( xm1 xm2...xmn)]. В матрице наблюдений Х каждая строка

представляет собой значения n признаков одного из m объектов кластеризации.

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

Нечеткие методы кластеризации позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам с различной степенью принадлежности.

В зависимости от того, определено ли количество кластеров до начала кластеризации или нет, методы кластеризации делятся на две группы. Если количество кластеров не известно, то оно определяется в ходе выполнения алгоритма кластеризации. В случае, когда множество объектов может быть сгруппировано в кластеры, каждый из которых отделим от других, кластеризация выполняется с помощью алгоритма четких с-средних [4].

Четкая кластеризация алгоритмом четких с-средних

При кластеризации алгоритмом четких с-средних исходное множество X разбивается на подмножества Aj, со следующими свойствами:

и^=Х;

А^=0;

0еА)еХ,

где j=1, ... ,С; С - число кластеров.

Свойство (1) показывает, что все объекты должны быть распределены по кластерам. Свойство (2) показывает, что каждый объект должен принадлежать только одному кластеру. Свойство (3) показывает, что ни один из кластеров не может быть пустым или содержать все объекты. Количество кластеров обычно задается до начала работы алгоритма.

Для формулировки задачи кластеризации часто используют характеристическую функцию. Характеристическая функция может принимать два значения: 0 - если элемент не принадлежит кластеру, 1 - если элемент принадлежит кластеру. С помощью характеристической функции и матрицы разбиения и кластеры можно описать следующим образом:

где Иые{0, 1}, к=1 ... М; ¡=1 ... С; М - количество объектов; С - количество кластеров. Свойства матрицы разбиения И:

ЕмС Ии=1;

0<Ек=1М Иы<М.

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

где центр кластера "¡=(1/^|)*1к=1М Хк; 81=||Хк|| .

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

Нечеткая кластеризация алгоритмом нечетких с-средних

FCM-алгоритм (Fuzzy Classifier Means, Fuzzy C-Means) кластеризации часто называют алгоритмом нечеткой кластеризации нечетких с-средних [5]. FCM-алгоритм кластеризации обычно предполагает, что объекты принадлежат всем кластерам с определенной функцией принадлежности. Нечеткие кластеры могут быть описаны следующей матрицей нечеткого разбиения:

В нечеткой матрице F k-строка содержит степени принадлежности ^ki k объекта к i кластерам. Нечеткая матрица F от четкой матрицы U отличается только тем, что при нечетком разбиении степень принадлежности объекта к кластеру принимает значения из интервала [0, 1], а при четком разбиении степень принадлежности объекта к кластеру принимает значения из множества {0, 1}. Условия для матрицы нечеткого разбиения, аналогичные условиям (4) и (5) для матрицы четкого разбиения, записываются так:

Zi=iC №=1;

0<Zk=iM №<M.

Решить проблему объектов, расположенных на границе двух кластеров, нечеткое разбиение позволяет путем назначения степени принадлежности, равной 0,5. При работе с объектами, удаленными от центров всех кластеров, проявляется недостаток нечеткого разбиения, для устранения которого можно использовать вероятностное разбиение, требующее принадлежности произвольного объекта из U хотя бы одному кластеру. Для получения вероятностного разбиения достаточно ослабления условия (7): Zi=1C Mki~1.

С целью оценки качества нечеткого разбиения используется следующий критерий разброса:

Zi=iC Zk=iM[

Центры нечетких кластеров Vi могут быть определены по формуле:

Vi=[1/Zk=iM

В формулах (9) и (1 0) показатель степени m, определяющий нечеткость кластеров, обычно равен 2.

Алгоритм нечеткой кластеризации нечетких с-средних может быть описан следующим образом [5]:

1. Установить параметры алгоритма: C - количество кластеров; m - показатель степени; E - параметр останова (точность) алгоритма.

2. С помощью датчика случайных чисел создать матрицу нечеткого разбиения F, удовлетворяющую условиям (7) и (8).

3. Рассчитать центры нечетких кластеров по формуле (10).

4. Рассчитать расстояния между объектами и центрами кластеров:

где количество объектов k=1 ... M; количество кластеров i=1 .... C.

5. Пересчитать элементы матрицы нечеткого разбиения:

Если Dki >0: №i=1/[Dki2 Zj=iC(1/ Dkj2)]A, где показатель степени A=1/(m-1).

Если Dki =0: ^ki=1 при j=i и ^ki=0 при j^i.

48

_ * *

6. Проверить условие ||Б-Р ||<Е, где Б - матрица нечеткого разбиения на предыдущей итерации алгоритма. Если условие выполняется, то выход из алгоритма, иначе перейти к пункту 3.

В приведенном алгоритме нечеткой кластеризации нечетких с-средних нужно задать количество кластеров С, для чего необходимо иметь априорную информацию о распределении значений свойств исследуемых объектов. При отсутствии такой информации для определения количества кластеров обычно используются два способа [5].

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

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

Вторым параметром алгоритма кластеризации является показатель степени т, часто называемый экспоненциальным весом. Чем больше т, тем конечная матрица нечеткого разбиения становится более «размытой», и при т^го с одной и той же степенью принадлежности все объекты принадлежат ко всем кластерам. В настоящее время не существует теоретически обоснованного правила выбора значения показателя степени (экспоненциального веса) т. Обычно устанавливают значение т=2.

Классический метод кластерного анализа

В классическом методе кластерного анализа используют понятие расстояния между группами (кластерами) объектов [3]. Наиболее часто используемыми расстояниями между группами (кластерами) объектов являются следующие:

- расстояние, измеряемое по принципу «ближайшего соседа» и определяемое по формуле:

Ртт^к, §т )-тт р(хь Х|),

где группа (кластер), состоящий из N объектов, х;е8к, ХjeSm;

- расстояние, измеряемое по принципу «дальнего соседа» и определяемое по формуле:

рmax(Sk, Sm )-тах р(хь Хj);

- расстояние между группами (кластерами) объектов Sk и Sm;q, являющимися объединением двух других классов Sm и Sq, которое можно определить по формуле:

рk,

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

Рассмотрим пример классификации шести объектов с использованием иерархической процедуры. Каждый объект, подлежащий иерархической процедуре классификации, характеризуется двумя признаками Х^ и Х^, значения которых представлены в табл. 1.

Таблица 1

№ объекта 1 2 3 4 5 6

Хп 5 6 5 10 11 10

Х,2 10 12 13 9 9 7

Расположение объектов в виде точек на плоскости показано на рис. 1.

♦

Ь; 1а < 6; 12

5; 10 <  ♦

11) < ; 9 11; 9

1и ; !

О 2 4 6 8 10 12

Рис. 1. Расположение на плоскости шести объектов классификации

Для классификации объектов будем использовать иерархическую процедуру, в которой в качестве расстояния между объектами используем обычное расстояние Евклида:

р

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

Таблица 2

0 2,24 3,00 5,10 6,08 5,83

2,24 0 1,41 5,00 5,83 6,40

3,00 1,41 0 6,40 7,21 7,81

5,10 5,00 6,40 0 1,00 2,00

6,08 5,83 7,21 1,00 0 2,24

5,83 6,40 7,81 2,00 2,24 0

Из матрицы расстояний следует, что четвертый и пятый объекты наиболее близки, так как р45=1,00 и могут быть объединены в один кластер. Продолжая иерархическую процедуру классификации, последовательно объединяем объекты и пересчитываем матрицу расстояний, используя формулы для расчета расстояний между кластерами (11) и расстояний между объектами (12).

В результате получим три кластера: Б(1), Б(2,3) и 8(4,5,6). Матрица расстояний будет иметь следующий вид, представленный в табл. 3.

Таблица 3

0 2,24 5,10

2,24 0 5,00

5,10 5,00 0

В результате объединения кластеров Б(1) и Б(2,3), расстояние между которыми равно р1(2,3)=2,24, получим два кластера 8(1,2,3) и 8(4,5,6), расстояние между которыми, найденное по принципу «ближайшего соседа», равно 5,0.

Компьютерная модель нечеткой классификации

Компьютерная модель нечеткой классификации была реализована в виде программы для ЭВМ, интерфейс которой представлен на рис. 2.

Рис. 2. Интерфейс программы нечеткой классификации

В данной компьютерной модели применяется система нечеткого вывода, использующая нечеткую модель Мамдани-Заде [6].

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

Если Х1=«низкий» И Х2=«низкий», то «кластер 1»;

Если Х1=«высокий» И Х2=«высокий», то «кластер 2».

Фаззификация входных переменных осуществлялась с помощью функций принадлежности ц(х) типа кривой Гаусса: д(х)=ехр[-(х-с)2/(2*а2).

Фаззификация выходной переменной осуществлялась с помощью функции принадлежности ц(х) треугольного типа. Вид функций принадлежности представлен на рис. 3.

Рис. 3. Функции принадлежности входной и выходной переменных

Результаты кластеризации представлены на рис. 4 (шесть объектов из рассмотренного выше примера) и 5 (16 объектов). На рис. 4 слева представлены шесть исходных объектов, каждый из которых имеет свой цвет; справа - объекты объединены в два кластера с объектами красного и зеленого цветов.

Рис. 4. Кластеризация 6 объектов

На рис. 5 слева представлены 16 исходных объектов, каждый из которых имеет один из шести цветов. На рис. 5 справа объекты объединены в два кластера с объектами красного и зеленого цветов.

2  14

4 5

8  6

16 1?

И

12_ 13

4

1' 5

11

10

Рис. 5. Кластеризация 16 объектов

Для случая группировки объектов в три кластера различной конфигурации база нечетких продукционных правил может иметь следующий вид: Если Х1=«низкий» И Х2=«низкий», то «кластер 1»; Если Х1=«средний» И Х2=«средний», то «кластер 2»; Если Х1=«высокий» И Х2=«высокий», то «кластер 3». Результаты кластеризации объектов представлены на рис. 6.

3

2 14

9

4 5

№ I

Я

Ш а 14

9 я

4 5

X

к 1?

И

Рис. 6. Кластеризация 16 объектов в три кластера разной конфигурации

Здесь на рис. 6 слева объекты объединены в три кластера по признаку Х1 (по оси абсцисс), на рисунке в центре - по признаку Х2 (по оси ординат) и на рисунке справа по признакам Х1 и Х2.

Созданная компьютерная модель, использующая систему нечеткого вывода и реализованная в виде программы для ЭВМ, способна обеспечить классификацию объектов

52

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

Литература

1. Лабинский А.Ю. Использование нечеткой логики в оценке вероятности возникновения чрезвычайных ситуаций // Науч.-аналит. журн. «Вестник С.-Петерб. ун-та ГПС МЧС России». 2017. № 1. С. 67-73.

2. Лабинский А.Ю. Методы построения функций принадлежности // Проблемы управления рисками в техносфере. 2017. № 1 (41). С. 93-101.

3. Дубров А.М., Мхитарян В.С., Трошин Л.И. Многомерные статистические методы. М.: Финансы и статистика, 2000.

4. Пегат А. Нечеткие моделирование и управление. М.: БИНОМ, 2013.

5. Зак Ю.А. Принятие решений в условиях нечетких и размытых данных: Fuzzy-технологии. М.: ЛИБРОКОМ, 2013.

6. Лабинский А.Ю. Моделирование системы нечеткого вывода // Природные и техногенные риски (физико-математические и прикладные аспекты). 2016. № 2 (18). С. 5-10.

References

1. Labinskij A.Yu. Ispol'zovanie nechetkoj logiki v ocenke veroyatnosti vozniknoveniya chrezvychajnyh situacij // Nauch.-analit. zhurn. «Vestnik S.-Peterb. un-ta GPS MCHS Rossii». 2017. № 1. S. 67-73.

2. Labinskij A.Yu. Metody postroeniya funkcij prinadlezhnosti // Problemy upravleniya riskami v tekhnosfere. 2017. № 1 (41). S. 93-101.

3. Dubrov A.M., Mhitaryan V.S., Troshin L.I. Mnogomernye statisticheskie metody. M.: Finansy i statistika, 2000.

4. Pegat A. Nechetkie modelirovanie i upravlenie. M.: BINOM, 2013.

5. Zak Yu.A. Prinyatie reshenij v usloviyah nechetkih i razmytyh dannyh: Fuzzy-tekhnologii. M.: LIBROKOM, 2013.

6. Labinskij A.Yu. Modelirovanie sistemy nechetkogo vyvoda // Prirodnye i tekhnogennye riski (fiziko-matematicheskie i prikladnye aspekty). 2016. № 2 (18). S. 5-10.