Нейросетевые технологии в обработке и защите данных Защита информации иммунными нейронными сетями Лекция 12. Особенности механизма вывода в системах нечеткого вывода 1 Классический подход к реализации нейронечетких классификаторов Классический подход к реализации и последующему обучению нейронечетких классификаторов для систем информационной безопасности базируется на адаптации набора функций принадлежности, соотносимых с входами и выходами нейронечеткой сети. Механизм нечеткого логического вывода позволяет использовать для предварительного обучения систем информационной безопасности опыт экспертов конкретной предметной области, овеществленной в системе нечетких правил вывода. 2 Нечеткие правила вывода Базовые правила вывода типа «если - то», в английской нотации «if – then», также называемые нечеткой импликацией, принимают форму: если x это A, то у это B, где A, B – лингвистические значения, определенные нечетким способом через соответствующие функции принадлежности для переменных x и у. Левая часть правила называется условием, правая – следствием или заключением. 3 Нечеткие правила вывода Импликацию в сокращенном виде можно записать в виде: A → B. Нечеткое рассуждение – это процедура, которая позволяет определить заключение, вытекающее из множества правил «если - то». Такое множество для N переменных xi может принять вид: если x1 это A1 и x2 это A2 …и xN это AN , то у это B. 4 Нечеткие правила вывода Каждой импликации многомерного условия также можно приписать единственное значение функции принадлежности μ A → B (x, y) Возможна интерпретация этой функции в форме логического или алгебраического произведения: A B min A x , B y , A B A x B y 5 НЕЧЕТКИЕ НЕЙРОННЫЕ СЕТИ В гибридных сетях выводы делаются на основе аппарата нечеткой логики, но соответствующие функции принадлежности подстраиваются с использованием алгоритмов обучения нейронных сетей, например алгоритма обратного распространения ошибки. Такие системы не только используют априорную информацию, но могут приобретать новые знания и для пользователя являются логически прозрачными . 6 Системы нечеткого вывода Элементы теории нечетких множеств, правила импликации и нечетких отношений образуют систему нечеткого вывода. В ней можно выделить множество используемых в системе нечетких правил, базу данных, содержащую описания функций принадлежности, а также механизм вывода и агрегирования, который формируется применяемыми правилами импликации. В качестве входных и выходных сигналов выступают измеряемые величины. Для обеспечения взаимодействия множеств этих двух видов вводится нечеткая система. 7 Системы нечеткого вывода Нечеткая система , как правило, включает так называемые фаззификатор, преобразующий множество входных данных в нечеткое множество, и дефаззификатор, преобразующий нечеткие множества в конкретное значение выходной переменной на выходе. Существуют также системы нечеткого вывода , в которых исполнительный механизм генерирует четкие значения непосредственно, поэтому дефаззификация не нужна. В качестве примера можно привести систему Такаги – Сугено – Канга. Блок агрегирования в этой системе реализуется в виде логического сумматора (оператор Max). 8 Этапы нечеткого вывода 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий; 4. Активизация подзаключений; 5. Аккумулирование заключений; 6. Дефаззификация 9 Формирование базы правил систем нечеткого вывода База правил систем нечеткого вывода предназначена для формального представления эмпирических знаний или знаний экспертов в некоторой предметной области. База правил нечетких продукций – конечное множество правил нечетких продукций, согласованных относительно используемых в них лингвистических переменных. 10 Формирование базы правил систем нечеткого вывода База правил часто представляется в виде: Rule_1:IF Condition_1 THEN Conclusion_1 (F1 ) Rule_2:IF Condition_2 THEN Conclusion_2 (F2) … Rule_n:IF Condition_n THEN Conclusion_n (Fn) Здесь через Fi (i{1,2,…,n}) обозначены весовые коэффициенты соответствующих правил, принимающие значения из интервала [0, 1]. Если эти коэффициенты отсутствуют, то их значения равны 1. База правил нечетких продукций считается сформированной, если заданы множества P, V, W, множества правил нечетких продукций, входных и выходных лингвистических переменных соответственно. 11 Общепринятые обозначения для значений основных термов лингвистических переменных Символические обозначения На английском языке На русском языке ----------------------------------- ------------------------------------ ------------------------------------------------------------ NB Negative Big Отрицательное большое NM Negative Middle Отрицательное среднее NS Negative Small Отрицательное малое ZN Zero Negative Отрицательное близкое к нулю Zero Нуль, близкое к нулю ZB Zero Positive Положительное близкое к нулю PS Positive Small Положительное PM Positive Middle Положительное среднее PB Positive Big Положительное большое Z малое 12 Фаззификация (Fazzification) Введение нечеткости или фаззификация – это процедура нахождения значений функций принадлежности нечетких множеств на основе обычных исходных данных. Исходные данные получают либо от датчиков, либо некоторым другим, внешним по отношению к системе нечеткого вывода, способом. Фаззификация считается законченной, если будут найдены все значения для каждого из подусловий всех правил, входящих в рассматриваемую базу правил системы нечеткого вывода. 13 Фаззификация (Fazzification) До начала этого этапа предполагаются известными конкретные значения всех входных переменных системы нечеткого вывода. Затем рассматривается каждое из подусловий вида “i is α”, где α – известный терм с известной функцией принадлежности, при этом значение ai используется в качестве аргумента функции принадлежности μ(x), bi ' (ai ) . 14 Пример процесса фаззификации трех нечетких высказываний о ситуации движения автомобиля в городской черте Рассмотрим нечеткие правила: 1) «скорость автомобиля малая»; 2) «скорость автомобиля средняя»; 3) «скорость автомобиля высокая» для лингвистической переменной 1 - скорость движения автомобиля. Им соответствуют нечеткие высказывания “1 is α1”, “1is α2”, “1 is α3”. Пусть текущая скорость автомобиля равна 55 км/ч. 15 Пример процесса фаззификации трех нечетких высказываний о ситуации движения автомобиля в городской черте 1 1) 0.8 0.6 0.4 0.2 0 b1 0 10 20 30 40 50 70 80 90 100 60 70 80 90 100 60 70 80 90 100 a1 1 2) 60 0.8 b1 0.6 0.4 0.2 0 0 10 20 30 40 50 a1 1 3) 0.8 0.6 0.4 0.2 0 b1 0 10 20 30 40 50 a1 16 Пример процесса фаззификации трех нечетких высказываний о ситуации движения автомобиля в городской черте Фаззификация первого нечеткого высказывания дает в результате число 0, которое означает его степень истинности и получается подстановкой значения a1=55км/ч. Фаззификация второго нечеткого высказывания дает в результате число 0.67. Фаззификация третьего нечеткого высказывания дает в результате число 0, которое означает его степень истинности и получается подстановкой значения a1=55км/ч. в качестве аргумента функции принадлежности терма α3. 17 Агрегирование (Aggregation) Агрегирование нечетких подмножеств представляет собой процедуру определения степени истинности условий по каждому из правил системы нечеткого вывода. Если условие состоит из нескольких подусловий, причем лингвистические переменные попарно не равны друг другу, то определяется степень истинности сложного высказывания на основе известных значений истинности подусловий (нечеткие конъюнкция или дизъюнкция). 18 Пример процесса агрегирования двух нечетких высказываний 1) «скорость автомобиля средняя и кофе горячий»; 2) «скорость автомобиля средняя или кофе горячий» для лингвистической переменной β1 – скорость автомобиля, β2 – температура кофе. Пусть текущая скорость автомобиля a1 = 55 км/ч. , а температура кофе a2 = 70С. Тогда агрегирование первого нечеткого высказывания с использованием нечеткой конъюнкцией дает число '' b1 0.67 . 19 Пример процесса агрегирования двух нечетких высказываний Это значение получается как минимальное из значений 0.67 и 0.8. Агрегирование второго нечеткого высказывания с использованием нечеткой дизъюнкции дает в результате b1''= 0.8, которое означает его степень истинности и получается как максимальное из значений 0.67 и 0.8. 20 Пример процесса агрегирования двух нечетких высказываний 1 1 b2 0.8 b1 1 0.8 0.8 0.6 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0 0 40 50 a1 60 b1" 0 0 30 40 50 60 70 a2 80 90 100 TC 1) «скорость автомобиля средняя и температура кофе высокая» 1 1 b2 0.6 0.6 0.8 b1" 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0.8 b1 1 0 0.8 0 0 40 50 a1 60 0 0 30 40 50 60 70 a2 80 90 100 TC 2) «скорость автомобиля средняя или температура кофе высокая» 21 Активизация (Activation) Активизация или композиция в системах нечеткого вывода представляет собой процедуру или процесс нахождения степени истинности каждого из подзаключений правил нечетких продукций. Активизация в общем случае во многом аналогична композиции нечетких отношений, но не тождественна ей. В действительности при формировании базы правил системы нечеткого вывода задаются весовые коэффициенты Fi для каждого правила (по умолчанию 1 для неявного задания весового коэффициента). 22 Активизация (Activation) После нахождения степеней истинности для каждого из подзаключений, обозначаемых через C = {c1, c2, …, cq} для q подзаключений в базе правил, определяются функции принадлежности каждого из подзаключений для рассматриваемых выходных лингвистических переменных. Для этих целей можно использовать один из методов нечеткой композиции. min – активация: μ′(y) = min{ci, μ(y)} prod – активация: μ′(y) = ci · μ(y) average – активация: μ′(y) = 0.5 · (ci + μ(y)) 23 Пример процесса активизации заключения в правиле нечеткой продукции Правило нечеткой продукции имеет вид: IF «скорость автомобиля средняя» THEN «кофе горячий» Входной лингвистической переменной в этом правиле является β1 – скорость автомобиля, а выходной является β2 – кофе горячий. Пусть текущая скорость автомобиля a1 = 55км/ч. 24 Пример процесса активизации заключения в правиле нечеткой продукции Поскольку агрегирование этого правила дает в результате b1''= 0.67, то это значение используется с качестве c1 для получения результата активации. Результат, полученный методом min – активации на верхнем рисунке изображен более темным цветом, а результат, полученный методом prod – активации, изображен на нижнем рисунке более темным цветом. 25 Пример процесса активизации заключения в правиле нечеткой продукции 1 1 1 0.8 0.8 b1 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0 40 50 a1 60 b1" 0 0.8 0.6 0 0 1 b1 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 a1 60 70 80 90 60 100 1 0.8 50 50 TC 0.8 40 40 1) 1 0 0 30 b1" 0 0.8 0.6 0 0 2) 30 40 50 60 70 80 90 100 TC 26 Аккумуляция (Accumulation) Аккумуляция или объединение в системах нечеткого вывода представляет собой процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных множества W ={w1, w2,…, wp}. Здесь p – общее количество выходных переменных. Этап аккумуляции считается законченным, когда для каждой из выходных лингвистических переменных будут определены итоговые функции принадлежности нечетких множеств их значений в базе правил системы нечеткого вывода. 27 Пример процесса аккумуляции заключений Для трех нечетких множеств c1, c2, c3, полученных в результате процедуры активации для выходной лингвистической переменной «скорость движения автомобиля» в некоторой системе нечеткого вывода, функции принадлежности представлены на следующем слайде соответственно в перечисленном порядке. 28 Пример процесса аккумуляции заключений 1 0.8 0.6 0.4 0.2 00 1 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 0.8 0.6 0.4 0.2 00 1 0.8 0.6 0.4 0.2 00 1 0.8 0.6 0.4 0.2 00 29 Пример процесса аккумуляции заключений Аккумуляция этих функций принадлежности методом max – объединения нечетких множеств c1, c2, c3 позволяет получить в результате функцию принадлежности, представленную на нижнем рисунке предыдущего слайда. 30 Дефаззификация (Deffuzzification) Дефаззификация или приведение к четкости в системах нечеткого вывода представляет собой процедуру или процесс нахождения обычного или четкого (crisp) значения для каждой из выходных лингвистических переменных W = {w1, w2,…, wp}. Результат приведения к четкости для каждой из выходных лингвистических переменных определяется в форме действительного числа, при этом могут использоваться различные формулы (метод центра тяжести, метод центра площади и др.). 31 Метод центра тяжести Центр тяжести для одноточечных множеств рассчитывается по формуле: n y x i ( xi ) i 1 n ( xi ) , i 1 где n – число одноэлементных нечетких множеств, каждое из которых характеризует единственное значение рассматриваемой выходной лингвистической переменной. 32 Метод центра площадей Центр площади y = u , где значение u определяется из уравнения u max min u ( x)dx ( x)dx. Центр площади равен абсциссе, которая делит площадь, ограниченную графиком кривой функции принадлежности соответствующей выходной переменной, на две равные части. Иногда центр площади называют биссектрисой площади. В случае одноточечных множеств этот метод не может быть использован. 33 Пример дефаззификации методом центра тяжести Для выходной лингвистической переменной «скорость движения автомобиля» результат изображен ниже. 1 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 60 70 80 90 100 y1 41 км/ч 34 Схема системы нечеткого логического вывода база знаний база данных Вход база правил блок фаззификации (нечеткий) Выход блок дефаззификации блок принятия решений (численный) (нечеткий) Нечеткое правило «если-то» (нечеткая импликация): если x это A, то y это B Сокращенная запись: A→B 35 Пример агрегирования двух правил нечеткого вывода Логическое произведение (оператор Min) используется как для агрегирования нечетких правил относительно конкретных переменных x1, x2 , образующих вектор x, так и на уровне импликации A → B для одиночных правил вывода. Агрегирование импликаций, касающихся правил 1 и 2, проводится с использованием логической суммы (оператор Max). 36 Алгоритмы работы моделей нечетких рассуждений предпосылки следствия min A1 B1 Мамдани Заде C1 Ларсен C1 ω1 y x C2 C2 ТакагиСугеноКанг Цукамото C1 C1 z1 = a1· x0 + b1· y0 C2 C2 ω2 x0 x y0 y max max zc - центр тяжести z2 = a2· x0 + b2· y0 среднее взвешенное z 2 z2 zc 1 1 1 2 среднее взвешенное zc 1z1 2 z2 1 2 37 Модель Мамдани – Заде 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций с использованием оператора логического произведения для определения результирующего уровня активации, в котором учитываются все компоненты входного вектора x; 4. Активизация подзаключений в нечетких правилах продукций с использованием логического произведения для определения значения функции принадлежности для всей импликации A → B; 5. Аккумуляция заключений нечетких правил продукций (объединение) ; 6. Дефаззификация выходных переменных. Традиционно используются методы центра тяжести или центра площадей. 38 Алгоритм Ларсена (Larsen) 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций. Те правила, степень истинности условий которых отлична от нуля, считаются активными и используются для дальнейших расчетов; 4. Активизация подзаключений в нечетких правилах продукций с использованием prod – активации i ( y ) ci ( y ) ; 5. Аккумуляция заключений нечетких правил продукций с использованием операции объединения (max) ; 6. Дефаззификация выходных переменных. 39 Алгоритм Такаги – Сугено – Канга (TSK) 1. Формирование базы правил систем нечеткого вывода. Используются правила вида: If “1” is “α “ and “2” is “α “ then w = c1· a1 + c2· a2 где c1, c2 – некоторые весовые коэффициенты, при этом w в заключении определяется как некоторое действительное число; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций (min - конъюнкция); 40 Алгоритм Такаги – Сугено – Канга (TSK) Активизация подзаключений в нечетких правилах продукций осуществляется min – активацией и расчетом обычных значений выходных переменных каждого правила, используемого для формирования базы правил системы нечеткого вывода, когда вместо a1, a2 подставляются значения входных переменных до этапа фаззификации; 5. Аккумуляция заключений нечетких правил продукций фактически отсутствует; 6. Дефаззификация выходных переменных. Используется модифицированный вариант в форме метода центра тяжести для одноточечных множеств. 41 4. Алгоритм Цукамото (Tsukamoto) 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций. Используются парные нечеткие логические операции; 4. Активизация подзаключений в нечетких правилах продукций осущестляется по правилу min – конъюнкции. Значение выходной лингвистической переменной wj находится как решение уравнения ci = μ(wj) (i {1,2,…,q}) где q – общее количество подзаключений в базе правил; 5. Аккумуляция заключений нечетких правил продукций фактически отсутствует; 6. Дефаззификация выходных переменных. Используется модифицированный вариант в форме метода центра тяжести для одноточечных множеств. 42 Сравнение моделей Алгоритм Ларсена близок к модели нечеткого вывода Мамдани – Заде, основным его отличием является реализация нечеткой импликации с помощью prod – активации. Модель Такаги – Сугено – Канга (TSK) используется для систем адаптивного типа, и характеризуется отсутствием этапа дефаззификации, поскольку выходное значение каждого правила является линейной комбинацией входных переменных. Алгоритм Цукамото является комбинацией моделей Мамдани – Заде и Такаги – Сугено – Канга 43 ANFIS – адаптивная система нечеткого вывода (Adaptive-Network-Based Fuzzy Inference System) реализована в пакете расширения Fuzzy Logic Toolbox (пакете нечеткой логики) системы MATLAB . ANFIS является одним из первых вариантов средств создания гибридных нейро-нечетких сетей. В пакете Fuzzy Logic Toolbox реализованы две системы нечеткого вывода Mamdani – типа Мамдани – Заде, задаваемая по умолчанию, и Sugeno – типа Такаги – Сугено – Канга. 44