Нейросетевые технологии в обработке и защите данных Защита информации иммунными нейронными сетями Лекция 11. Системы н ечеткого вывода 1
Классический подход к реализации нейронечетких классификаторов Классический подход к реализации и последующему обучению нейронечетких классификаторов для систем информационной безопасности базируется на адаптации набора функций принадлежности, соотносимых с входами и выходами нейронечеткой сети. Механизм нечеткого логического вывода позволяет использовать для предварительного обучения систем информационной безопасности опыт экспертов конкретной предметной области, овеществленной в системе нечетких правил вывода. 2
НЕЧЕТКИЕ ОТНОШЕНИЯ Чтобы охарактеризовать количество универсальных множеств, на основе которых строится то или иное нечеткое отношение, бинарным принято называть нечеткое отношение между элементами из двух универсальных множеств, тернарным – из трех множеств, а в общем случае – k – арным отношением. Нечетким k – арным отношением, заданным на множествах (универсумах) X 1, X 2,…, X k, называется некоторое фиксированное нечеткое подмножество декартова произведения этих универсумов. 3
БИНАРНЫЕ НЕЧЕТКИЕ ОТНОШЕНИЯ Бинарное нечеткое отношение задается на базисных множествах X 1, X 2 и определяется как нечеткое отношение Q = {, Q ( )}. Здесь Q ( ) – функция принадлежности бинарного нечеткого отношения, которая определяется как отображение Q : X 1 × X 2 [0, 1], а через обозначен кортеж из двух элементов, при этом x i X 1, x j X 2. 4
Способы задания нечетких отношений Формально нечеткие отношения задаются различными способами: 1)в форме списка с явным перечислением всех кортежей нечеткого отношения и соответствующих им значений функции принадлежности; 2)аналитически в форме некоторого математического выражения для соответствующей функции принадлежности этого нечеткого отношения; 3)графически в форме некоторой поверхности или совокупности отдельных точек в трехмерном пространстве; 5
Способы задания нечетких отношений 4) в форме матрицы нечеткого отношения; 5) в форме так называемого нечеткого графа, который формально может быть задан в виде двух обычных конечных множеств и некоторой функции принадлежности. Вершины нечеткого графа изображаются точками, дуги – отрезками прямых линий со стрелкой на одном из концов. Рядом с вершинами записываются условные обозначения соответствующих вершин, а рядом с каждой дугой – значение функции принадлежности для соответствующей дуги. 6
Пример матричного задания бинарного нечеткого отношения Рассмотрим конечное бинарное нечеткое отношение Q, заданное на одном и том же универсуме X, в качестве в качестве которого выберем подмножество первых 10 натуральных чисел: X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Пусть отношение Q описывает свойство: «натуральное число x i приближенно равно натуральному числу x j ». 7
Матрица M Q
Рассмотренное бинарное отношение может быть задано в форме списка: Q = {(, 1.0), (, 0.8), (, 0.5), (, 0.2), (, 0.8), (, 1.0), (, 0.8), (, 0.5), (, 0.2), (, 0.5), (, 0.8), (, 1.0), (, 0.8), {(, 0.5), (, 0.2), (, 0.2), (, 0.5), …, … (, 0.8), (, 1.0)}. В этом списке отсутствуют кортежи с нулевым значением функции принадлежности. Это нечеткое отношение также можно представить графически в форме совокупности точек в трехмерном пространстве и в форме нечеткого графа, но эти представления не совсем удобны для визуализации. 9
Нечеткие правила вывода Базовые правила вывода типа «если - то», в английской нотации «if – then», также называемые нечеткой импликацией, принимают форму: если x это A, то у это B, где A, B – лингвистические значения, определенные нечетким способом через соответствующие функции принадлежности для переменных x и у. Левая часть правила называется условием, правая – следствием или заключением. 10
Нечеткие правила вывода Импликацию в сокращенном виде можно записать в виде: A B. Нечеткое рассуждение – это процедура, которая позволяет определить заключение, вытекающее из множества правил «если -то». Такое множество для N переменных x i может принять вид: если x 1 это A 1 и x 2 это A 2 …и x N это A N, то у это B. 11
Нечеткие правила вывода Переменные x 1, x 2, …, x N образуют N – мерный входной вектор x, составляющий аргумент условия, в котором A 1, A 2, …, A N и B обозначают величины соответствующего коэффициента принадлежности A (x i ) и B (y). Следует отметить, что для каждой переменной x i и y необходимо использовать индивидуальные функции принадлежности. Интерпретация условия возможна в форме логического пересечения множеств либо в форме их алгебраического произведения. Приписывание единственного значения функции принадлежности, описывающей многомерное условие, называют агрегированием предпосылки. 12
Нечеткие правила вывода Каждой импликации многомерного условия также можно приписать единственное значение функции принадлежности Возможна интерпретация этой функции в форме логического или алгебраического произведения: 13
НЕЧЕТКИЕ НЕЙРОННЫЕ СЕТИ В гибридных сетях выводы делаются на основе аппарата нечеткой логики, но соответствующие функции принадлежности подстраиваются с использованием алгоритмов обучения нейронных сетей, например алгоритма обратного распространения ошибки. Такие системы не только используют априорную информацию, но могут приобретать новые знания и для пользователя являются логически прозрачными. 14
Системы нечеткого вывода Элементы теории нечетких множеств, правила импликации и нечетких отношений образуют систему нечеткого вывода. В ней можно выделить множество используемых в системе нечетких правил, базу данных, содержащую описания функций принадлежности, а также механизм вывода и агрегирования, который формируется применяемыми правилами импликации. В качестве входных и выходных сигналов выступают измеряемые величины. Для обеспечения взаимодействия множеств этих двух видов вводится нечеткая система. 15
Системы нечеткого вывода Нечеткая система, как правило, включает так называемые фаззификатор, преобразующий множество входных данных в нечеткое множество, и дефаззификатор, преобразующий нечеткие множества в конкретное значение выходной переменной на выходе. Существуют также системы нечеткого вывода, в которых исполнительный механизм генерирует четкие значения непосредственно, поэтому дефаззификация не нужна. В качестве примера можно привести систему Такаги – Сугено – Канга. Блок агрегирования в этой системе реализуется в виде логического сумматора (оператор Max). 16
Фаззификация (Fazzification) Введение нечеткости или фаззификация – это процедура нахождения значений функций принадлежности нечетких множеств на основе обычных исходных данных. Исходные данные получают либо от датчиков, либо некоторым другим, внешним по отношению к системе нечеткого вывода, способом. Фаззификация считается законченной, если будут найдены все значения для каждого из подусловий всех правил, входящих в рассматриваемую базу правил системы нечеткого вывода. 17
Агрегирование (Aggregation) Агрегирование нечетких подмножеств представляет собой процедуру определения степени истинности условий по каждому из правил системы нечеткого вывода. Если условие состоит из нескольких подусловий, причем лингвистические переменные попарно не равны друг другу, то определяется степень истинности сложного высказывания на основе известных значений истинности подусловий (нечеткие конъюнкция или дизъюнкция). 18
Активизация (Activation) Активизация или композиция в системах нечеткого вывода представляет собой процедуру или процесс нахождения степени истинности каждого из подзаключений правил нечетких продукций. Активизация в общем случае во многом аналогична композиции нечетких отношений, но не тождественна ей. В действительности при формировании базы правил системы нечеткого вывода задаются весовые коэффициенты F i для каждого правила (по умолчанию 1 для неявного задания весового коэффициента). 19
Аккумуляция (Accumulation) Аккумуляция или объединение в системах нечеткого вывода представляет собой процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных множества Здесь p – общее количество выходных переменных. Этап аккумуляции считается законченным, когда для каждой из выходных лингвистических переме нных будут определены итоговые функции принадлежности нечетких множеств их значений в базе правил системы нечеткого вывода. 20
Дефаззификация (Deffuzzification) Дефаззификация или приведение к четкости в системах нечеткого вывода представляет собой процедуру или процесс нахождения обычного или четкого (crisp) значения для каждой из выходных лингвистических переменных Результат приведения к четкости для каждой из выходных лингвистических переменных определяется в форме действительного числа, при этом могут использоваться различные формулы (метод центра тяжести, метод центра площади и др.) 21
Метод центра тяжести Центр тяжести для одноточечных множеств рассчитывается по формуле:, где n – число одноэлементных нечетких множеств, каждое из которых характеризует единственное значение рассматриваемой выходной лингвистической переменной. 22
Метод центра площадей Центр площади y = u, где значение u определяется из уравнения Центр площади равен абсциссе, которая делит площадь, ограниченную графиком кривой функции принадлежности соответствующей выходной переменной, на две равные части. Иногда центр площади называют биссектрисой площади. В случае одноточечных множеств этот метод не может быть использован. 23
24 Схема системы нечеткого логического выво да Нечеткое правило «если-то» (нечеткая импликация): Сокращенная запись: Вход Выход (численный) база данных база правил база знаний блок принятия решений блок фаззи- фикации блок дефаззи- фикации (нечеткий) (численный)
Пример агрегирования двух правил нечеткого вывода Логическое произведение (оператор Min) используется как для агрегирования нечетких правил относительно конкретных переменных,, образующих вектор x, так и на уровне импликации A B для одиночных правил вывода. Агрегирование импликаций, касающихся правил 1 и 2, проводится с использованием логической суммы (оператор Max). 25
26 Алгоритмы работы моделей нечетких рассуждений Мамдани - Заде Такаги- Сугено- Канг Ларсен Цукамото Цукамотоmin следствияпредпосылки max среднее взвешенное - центр тяжести
Модель Мамдани – Заде 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций с использованием оператора логического произведения для определения результирующего уровня активации, в котором учитываются все компоненты входного вектора x; 4. Активизация подзаключений в нечетких правилах продукций с использованием логического произведения для определения значения функции принадлежности для всей импликации A B; 5. Аккумуляция заключений нечетких правил продукций (объединение) ; 6. Дефаззификация выходных переменных. Традиционно используются методы центра тяжести или центра площадей. 27
Алгоритм Ларсена (Larsen) 1. Формирование базы правил систем нечеткого вывода; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций. Те правила, степень истинности условий которых отлична от нуля, считаются активными и используются для дальнейших расчетов; 4. Активизация подзаключений в нечетких правилах продукций с использованием prod – активации ( ) ; 5. Аккумуляция заключений нечетких правил продукций с использованием операции объединения (max) ; 6. Дефаззификация выходных переменных. 28
Алгоритм Такаги – Сугено - Канга (TSK) 1.Формирование базы правил систем нечеткого вывода. Используются правила вида: If is α and is α then где c 1, c 2 - некоторые весовые коэффициенты, при этом w в заключении определяется как некоторое действительное число; 2. Фаззификация входных переменных; 3. Агрегирование подусловий в нечетких правилах продукций (min - конъюнкция); 29
Алгоритм Такаги – Сугено – Канга (TSK) 4. Активизация подзаключений в нечетких правилах продукций min – активацией и расчетом обычных значений выходных переменных каждого правила, используемого для формирования базы правил системы нечеткого вывода, когда вместо a 1, a 2 подставляются значения входных переменных до этапа фаззификации; 5. Аккумуляция заключений нечетких правил продукций фактически отсутствует; 6. Дефаззификация выходных переменных. Используется модифицированный вариант в форме метода центра тяжести для одноточечных множеств. 30
Алгоритм Цукамото (Tsukamoto) 1.Формирование базы правил систем нечеткого вывода; 2.Фаззификация входных переменных; 3.Агрегирование подусловий в нечетких правилах продукций. Используются парные нечеткие логические операции; 4.Активизация подзаключений в нечетких правилах продукций осущестляется по правилу min – конъюнкции. Значение выходной лингвистической переменной w j находится как решение уравнения где q - общее количество подзаключений в базе правил; 5. Аккумуляция заключений нечетких правил продукций фактически отсутствует; 6. Дефаззификация выходных переменных. Используется модифицированный вариант в форме метода центра тяжести для одноточечных множеств. 31
ANFIS – адаптивная система нечеткого вывода (Adaptive-Network-Based Fuzzy Inference System) реализована в пакете расширения Fuzzy Logic Toolbox (пакете нечеткой логики) системы MATLAB. ANFIS является одним из первых вариантов средств создания гибридных нейро-нечетких сетей. В пакете Fuzzy Logic Toolbox реализованы две системы нечеткого вывода Mamdani – типа Мамдани – Заде, задаваемая по умолчанию, и Sugeno – типа Такаги – Сугено – Канга. 32