Введение в нечеткие системы

Содержание

Нечеткие множества

Понятие нечетких множеств (fuzzy sets) было введено в 1965 г. Л.Заде как обощение понятия классических множеств. В нечетком множестве каждый его элемент может принадлежать множеству частично, тогда как в классических множествах элемент или целиком принадлежит множеству, или нет. Степень принадлежности элемента a нечеткому множеству A характеризуется коэффициентом принадлежности , обозначаемому muA(a).

muA(a) - действительное число , принимающее значение в диапазоне (0,1), при этом 1 означает 100%-ю (безусловную) принадлежность a к множеству А, а 0 - безусловное отсутствие a в А.

Отображение множества элементов x во множество значений muA(x) образует функцию принадлежности muA(x).

Функция muA(x) может быть определена явно в виде, например, алгебраического выражения или таблично (дискретно) в виде массива пар

{x1/muA(x1), x2/muA(x2),...,xN/muA(xN)}.

В теории нечетких множеств помимо числовых переменных существуют переменные лингвистические. Например, лингвистичекая переменная "температура тела человека" может принимать значения: "пониженная", "нормальная", "повышенная", "высокая".

Нечеткое множество "нормальная температура тела" может быть дискретно задано следующим образом:

{36,2/0,15, 36,3/0,33, 36,4/0,6, 36,5/0,85, 36,6/1,0, 36,7/0,85, 36,8/0,6, 36,9/0,33, 37,0/0,15}.

То же множество может быть представлено следующим выражением:

muнорм=exp(-((t-36.6)/0.3)2).

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

Носителем нечеткого множества A Supp(A) являются все элементы, для которых коэффициент принадлежности больше нуля, т.е. Supp(A)={x|muA(x)>0}. В приведенном выше примере табличного задания функции принадлежности носителем нечеткого множества "нормальная температура" является следующее множество:

{36,2, 36,3, 36,4, 36,5, 36,6, 36,7, 36,8, 36,9, 37,0}.

Два нечетких множества A и B равны между собой тогда и только тогда, когда muA(x)=muB(x) для всех элементов этих множеств.

Кардинальное число нечеткого множества A - сумма коэффициентов принадлежности всех элементов этого множества, т.е. M(A)=sum[i](muA(xi)).

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

Сечением Aalpha нечеткого множества A называется подмножество элементов A, для которых muA(x)>alpha (слабое сечение) или muA(x)>=alpha (сильное сечение), при этом alpha принадлежит [0,1].

Операции на нечетких множествах

Основными операциями на нечетких множествах являются следующие.

Нечеткое множество A считается подмножеством нечеткого множества B, если для всех элементов A выполняется неравенство muA(x)<=muB(x).

Описанные выше операции на нечетких множествах обладают следующими свойствами:

Меры нечеткости нечетких множеств

Для определения степени нечеткости множества введено понятие меры нечеткости, сводящейся к измерению уровня различия между нечетким множеством A и его отрицанием ~A.

Наиболее популярна мера Е.Егера

FUZp(A)=1-Dp(A,~A)/(n1/p) ,
где n - количество элементов в A, Dp(A,~A) - расстояние между между множествами A и ~A в метрике p (p равно 1 или 2). Значение p=1 соответствует метрике Хемминга
D1(A,~A)=sum[i=1,n](|2*muA(xi)-1|) ,
а значение p=2 соответствует эвклидовой метрике
D2(A,~A)=(sum[i=1,n](2*muA(xi)-1)2)0,5 .

Другую меру нечеткости предложил Б.Коско, она основана на кардинальных числах множеств

FUZ(A)=M(AЛ~A)/M(AU~A).

Нечеткие продукции

В простейшем случае нечеткая продукция имеет следующий вид:

ЕСЛИ x это A, ТО y это B,
где A и B - значения лингвистических переменных, задаваемые функциями принадлежности. Левая часть продукции называется условием (или предпосылкой), а правая - следствием (или заключением). Продукцию часто в сокращенном виде записывают как A->B.

В более общем случае нечеткая продукция принимает такую форму:

ЕСЛИ x1 это A1 И ... И xN это AN, ТО y это B,

Для вычисления значения коэффициента принадлежности сложного коньюнктивного условия продукции используются 2 способа:

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

Для вычисления коэффициента принадлежности продукции в целом также используется два способа:

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

Нечеткая продукционная система Мамдани-Заде

Продукционные системы с нечеткими продукциями называются нечеткими продукционными системами (ПС).

В технических и ряде других приложений в качестве входов x1, x2, ... ,xN и выхода y часто выступают доступные к измерению числовые величины. В такой ситуации для согласования нечетких продукций, оперирующих лингвистическими переменными, с входами/выходами в виде числовых значений в состав ПС вводятся так называемые фуззификатор и дефуззификатор. Фуззификатор преобразует множество входных данных в нечеткое множество, определяемое с помощью значений функции принадлежности, а дефуззификатор преобразует нечеткое множество, определяемое с помощью значений функции принадлежности, в конкретное значение.

Представленный ниже рис. упрощенно иллюстрирует функционирование нечеткой ПС Мамдани-Заде.

Поступившие на вход значения (например, результаты измерений на реальном физическом объекте) xi, i=1,2, ... , N, преобразуются в значения mu(xi) функций принадлежности нечетких множеств, с которыми оперирует ПС. Интепретатор ПС выбирает из базы нечетких продукций все применимые к входным данным продукции и определяет функции (???) принадлежности переменных y из правой части продукций. Поскольку в общем случае применимыми оказываются несколько продукций, то возникает проблема агрегирования функций принадлежности из правыхчастей отдельных продукций. Это объединение функций принадлежности реализуется, как правило, оператором логического сложения. Нечеткий результат в виде функции принадлежности mu(y) трансформируется дефуззификатором в конкретное значение выхода y.

Пример. Пусть на вход нечеткой ПС поступают 2 величины x1 и x2.Фуззификатор, используя базу функций принадлежности всех известных ему нечетких множеств, определяет значения коэффициентов принадлежности. Отличными от 0 оказались три коэффициента принадлежности muA1(x1)=0,5, muA2(x2)=0,25, muA3(x2)=0,75 для трех нечетких множеств A1, A2 и A3, как это показано ниже.

Далее интерпретатор выявил две применимые нечеткие продукции:
P1: ЕСЛИ x1 это A1 И x2 это A2, ТО y это B1,
P2: ЕСЛИ x1 это A1 И x2 это A3, ТО y это B2.

Для каждой из продукций в виде логического произведения выполняется агрегирование левой части (условия):
muИ1=min{muA1(x1), muA2(x2)}=0,25,
muИ2=min{muA1(x1), muA3(x2)}=0,5.

Затем выполняется агрегирование (опять же логическим произведением) на уровне продукций, как это показано на представленном ниже рисунке.

Результат агрегирования - функции принадлежности, графики которых выделены жирной линией.

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

В конце концов дефуззификатор превращает итоговую функцию принадлежности в конкретное значение числовой величины y.

Фуззификатор

Фуззификатор осуществляет преобразование четкого множества X в нечеткое множество A, характеризующееся функцией принадлежности muA(x). Наибольшее распространение на практике получили функции принадлежности гауссова типа, а также треугольные и трапецеидальные функции.

Функция Гаусса для переменной x с центром c и параметром ширины s имеет следующий вид

muA(x)=exp(-((x-c)/s)2).

На представленном ниже рисунке даны графики этой функции для c=1 и s=1, 0,5, 0,25, 0,05.

Находит также применение обощенная гауссова функция в виде

muA(x)=exp(-(|x-c|/s)2*b),
где b - параметр формы. Ниже даны графики этой функции для c=1, s=1 и b=5, 2, 1, 0,6, 0,2.

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

muA(x)=1/(1+(|x-c|/s)2b).

Симметричная треугольная функция принадлежности может быть описана в виде
muA(x)=1-|x-c|/d для c-d<x<c+d,
muA(x)=0 для всех остальных x.

График треугольной функции принадлежности дан ниже.

Дефуззификатор

Дефуззификатор преобразует нечеткое множество, заданное функцией принадлежности muA(x), в точечное решение. Для такого преобразования могут быть использованы многие способы, наиболее популярны следующие.

На представленном ниже рисунке показано применение некоторых способов дефуззификации.

Нечеткая система Мамдани-Заде как универсальный аппроксиматор

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

  1. алгебраического произведения в качестве агрегатора условий (левых частей) продукций;
  2. логического произведения в качестве агрегатора относительно продукций;
  3. алгебраического произведения в качестве агрегатора результатов продукций;
  4. дефуззификации относительно среднего центра.

Обозначим через X=[x1, x2, ..., xN]T входной вектор. Пусть имеется M нечетких продукций вида

ЕСЛИ x1 это Ai1 И ... И xN это AiN, ТО y это Bi,
где i - номер продукции.

Тогда агрегирование алгебраическим произведением условий каждой продукции дает

prod[j=1:N](muAij(xj)).

Учитывая то, что для агрегирования относительно продукции используется логическое произведение (минимум из двух), и то, что muBi(ci)=1, где ci - это центр функции принадлежности нечеткого множества Bi из правой части продукции, в качестве значения функции принадлежности относительно i-ой продукции в целом также будем иметь

prod[j=1:N](muAij(xj)).

Дефуззификация относительно среднего центра дает

y=sum[i=1:M](ci*prod[j=1:N](muAij(xj)))/sum[i=1:M](prod[j=1:N](muAij(xj))).

При использовании для функций принадлежности всех множеств Aij обобщенной функции Гаусса в виде

muA(x)=exp(-(|x-c|/s)2b),
в итоге имеем
y = f(X) =
sum[i=1:M](ci*prod[j=1:N](exp(-((xj-cij)/sij)2bij)))
/ sum[i=1:M](prod[j=1:N](exp(-((xj-cij)/sij)2bij)))
.
где cij, sij и bij - центр, параметры ширины и формы функции принадлежности нечеткого множества Aij.

Доказано, что представленная непрерывная функция f(X) при соответствующем подборе параметров cij, sij, bij и ci может аппроксимировать заданную непрерывную функцию g(X) с произвольной точностью.

Ниже будет рассмотрена реализация полученного для f(X) выражения в виде многослойной нейронной сети, называемой нечеткой нейронной сетью.

Нечеткая система Такаги-Сугено-Канга

Широкую популярность среди нечетких продукционных систем получила система Такаги-Сугено-Канга (TSK), продукции которой выглядят следущим образом:

ЕСЛИ x1 это Ai1 И ... И xN это AiN, ТО yi=fi(x1, ..., xN).

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

Функция в правой части продукции - это, чаще всего, полином первой степени

yi=fi(X)=pi0+sum[j=1:N](pij*xj),
где pij - веса, подбираемые в процессе обучения продукционной системы.

При использовании M продукций итоговый выход y системы определяется как средневзвешенная сумма в виде

y = sum[i=1:M](wi*yi)/sum[i=1:M](wi)
= sum[i=1:M]((wi/sum[i=1:M](wi))*yi)
= sum[i=1:M](w'i*yi)
= sum[i=1:M](w'i*(pi0+sum[j=1:N](pij*xj)))
.

Для вычисления веса wi i-ой продукции в ПС используется агрегирование (в виде логического или алгебраического произведения) условий нечетких правил.