44
Нейросетевые технологии в обработке и защите данных Защита информации иммунными нейронными сетями Лекция 12. Особенности механизма вывода в системах нечеткого вывода 1

Нейросетевые технологии в обработке и защите данных

  • Upload
    denzel

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Нейросетевые технологии в обработке и защите данных. Защита информации иммунными нейронными сетями Лекция 1 2 . Особенности механизма вывода в системах н ечеткого вывода. Классический подход к реализации нейронечетких классификаторов. - PowerPoint PPT Presentation

Citation preview

Page 1: Нейросетевые технологии в обработке и защите данных

Нейросетевые технологии в обработке и защите данных

Защита информации иммунными нейронными сетями

Лекция 12. Особенности механизма вывода в системах нечеткого вывода

1

Page 2: Нейросетевые технологии в обработке и защите данных

Классический подход к реализации нейронечетких классификаторовКлассический подход к реализации и

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

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

2

Page 3: Нейросетевые технологии в обработке и защите данных

Нечеткие правила выводаБазовые правила вывода типа «если - то», в

английской нотации «if – then», также называемые нечеткой импликацией, принимают форму:

если x это A, то у это B,

где A, B – лингвистические значения, определенные нечетким способом через соответствующие функции принадлежности для переменных x и у.

Левая часть правила называется условием, правая – следствием или заключением.

3

Page 4: Нейросетевые технологии в обработке и защите данных

Нечеткие правила вывода

Импликацию в сокращенном виде можно записать в виде:

A → B.

Нечеткое рассуждение – это процедура, которая позволяет определить заключение, вытекающее из множества правил «если - то».

Такое множество для N переменных xi может принять вид: если x1 это A1 и x2 это A2 …и xN это AN , то у это B.

4

Page 5: Нейросетевые технологии в обработке и защите данных

Нечеткие правила вывода

Каждой импликации многомерного условия также можно приписать единственное значение функции принадлежности μ A → B (x, y)

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

5

yx

yx

BA

BA

BA

BA

,,min

Page 6: Нейросетевые технологии в обработке и защите данных

НЕЧЕТКИЕ НЕЙРОННЫЕ СЕТИ

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

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

6

Page 7: Нейросетевые технологии в обработке и защите данных

Системы нечеткого выводаЭлементы теории нечетких множеств, правила

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

В качестве входных и выходных сигналов выступают измеряемые величины. Для обеспечения взаимодействия множеств этих двух видов вводится нечеткая система.

7

Page 8: Нейросетевые технологии в обработке и защите данных

Системы нечеткого выводаНечеткая система , как правило, включает так

называемые фаззификатор, преобразующий множество входных данных в нечеткое множество, и дефаззификатор, преобразующий нечеткие множества в конкретное значение выходной переменной на выходе.

Существуют также системы нечеткого вывода , в которых исполнительный механизм генерирует четкие значения непосредственно, поэтому дефаззификация не нужна. В качестве примера можно привести систему Такаги – Сугено – Канга. Блок агрегирования в этой системе реализуется в виде логического сумматора (оператор Max).

8

Page 9: Нейросетевые технологии в обработке и защите данных

Этапы нечеткого вывода

1. Формирование базы правил систем нечеткого вывода;

2. Фаззификация входных переменных;

3. Агрегирование подусловий;

4. Активизация подзаключений;

5. Аккумулирование заключений;

6. Дефаззификация

9

Page 10: Нейросетевые технологии в обработке и защите данных

Формирование базы правил систем нечеткого вывода

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

База правил нечетких продукций –

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

10

Page 11: Нейросетевые технологии в обработке и защите данных

Формирование базы правил систем нечеткого вывода

База правил часто представляется в виде:

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

Page 12: Нейросетевые технологии в обработке и защите данных

Общепринятые обозначения для значений основных термов лингвистических переменных

Символические обозначения

На английскомязыке

На русском языке

----------------------------------- ------------------------------------ ------------------------------------------------------------

NB Negative Big Отрицательное большое

NM Negative Middle Отрицательное среднее

NS Negative Small Отрицательное малое

ZN Zero Negative Отрицательное близкое к нулю

Z Zero Нуль, близкое к нулю

ZB Zero Positive Положительное близкое к нулю

PS Positive Small Положительное малое

PM Positive Middle Положительное среднее

PB Positive Big Положительное большое

12

Page 13: Нейросетевые технологии в обработке и защите данных

Фаззификация (Fazzification)

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

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

13

Page 14: Нейросетевые технологии в обработке и защите данных

Фаззификация (Fazzification)До начала этого этапа предполагаются

известными конкретные значения всех входных переменных системы нечеткого вывода. Затем рассматривается каждое из подусловий вида “i is α”, где α – известный терм с известной функцией принадлежности, при этом значение ai используется в качестве аргумента функции принадлежности μ(x), .

14

)(' ii ab

Page 15: Нейросетевые технологии в обработке и защите данных

Пример процесса фаззификации трех нечетких высказываний о ситуации

движения автомобиля в городской черте

Рассмотрим нечеткие правила:

1) «скорость автомобиля малая»;

2) «скорость автомобиля средняя»;

3) «скорость автомобиля высокая»

для лингвистической переменной 1 - скорость движения автомобиля. Им соответствуют нечеткие высказывания “1 is α1”, “1is α2”, “1 is α3”. Пусть текущая скорость автомобиля равна 55 км/ч.

15

Page 16: Нейросетевые технологии в обработке и защите данных

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

16

1

0.8

0.6

0.4

0.2

0

0 10 20 30 40 50 60 70 80 90 100

b1

a11

0.8

0.6

0.4

0.2

0

0 10 20 30 40 50 60 70 80 90 100

b1

a11

0.8

0.6

0.4

0.2

0

0 10 20 30 40 50 60 70 80 90 100

b1

a1

1)

2)

3)

Page 17: Нейросетевые технологии в обработке и защите данных

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

городской черте

Фаззификация первого нечеткого высказывания дает в результате число 0, которое означает его степень истинности и получается подстановкой значения a1=55км/ч.

Фаззификация второго нечеткого высказывания дает в результате число 0.67.

Фаззификация третьего нечеткого высказывания дает в результате число 0, которое означает его степень истинности и получается подстановкой значения a1=55км/ч. в качестве аргумента функции принадлежности терма α3. 17

Page 18: Нейросетевые технологии в обработке и защите данных

Агрегирование (Aggregation)Агрегирование нечетких подмножеств

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

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

18

Page 19: Нейросетевые технологии в обработке и защите данных

Пример процесса агрегирования двух нечетких высказываний

1) «скорость автомобиля средняя и кофе горячий»;

2) «скорость автомобиля средняя или кофе горячий»

для лингвистической переменной β1 – скорость автомобиля, β2 – температура кофе.

Пусть текущая скорость автомобиля a1 = 55 км/ч. , а температура кофе a2 = 70С. Тогда агрегирование первого нечеткого высказывания с использованием

нечеткой конъюнкцией дает число

19

.67.0''1 b

Page 20: Нейросетевые технологии в обработке и защите данных

Пример процесса агрегирования двух нечетких высказываний

Это значение получается как минимальное из значений 0.67 и 0.8.

Агрегирование второго нечеткого высказывания с использованием нечеткой дизъюнкции дает в результате = 0.8, которое означает его степень истинности и получается как максимальное из значений 0.67 и 0.8.

20

''1b

Page 21: Нейросетевые технологии в обработке и защите данных

Пример процесса агрегирования двух нечетких высказываний

21

1

0.8

0.6

0.4

0.2

0

b1

a1 a2 TC 1) «скорость автомобиля средняя и температура кофе высокая»

1

0.8

0.6

0.4

0.2

00 40 50  60 0 30 40 50 60 70 80 90 100

1

0.8

0.6

0.4

0.2

0

1

0.8

0.6

0.4

0.2

0

b1

a1 a2 TC 2) «скорость автомобиля средняя или температура кофе высокая»

1

0.8

0.6

0.4

0.2

00 40 50  60 0 30 40 50 60 70 80 90 100

1

0.8

0.6

0.4

0.2

0

b2

b2 b1"

b1"

Page 22: Нейросетевые технологии в обработке и защите данных

Активизация (Activation)

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

22

Page 23: Нейросетевые технологии в обработке и защите данных

Активизация (Activation)После нахождения степеней истинности для каждого из подзаключений, обозначаемых через C = {c1, c2, …, cq} для q подзаключений в базе правил, определяются функции принадлежности каждого из подзаключений для рассматриваемых выходных лингвистических переменных.

Для этих целей можно использовать один из методов нечеткой композиции.

min – активация: μ′(y) = min{ci, μ(y)}

prod – активация: μ′(y) = ci · μ(y)

average – активация: μ′(y) = 0.5 · (ci + μ(y))

23

Page 24: Нейросетевые технологии в обработке и защите данных

Пример процесса активизациизаключения в правиле нечеткой продукции

Правило нечеткой продукции имеет вид:

IF «скорость автомобиля средняя» THEN «кофе горячий»

Входной лингвистической переменной в этом правиле является β1 –

скорость автомобиля, а выходной является β2 – кофе горячий. Пусть текущая скорость автомобиля a1 = 55км/ч.

24

Page 25: Нейросетевые технологии в обработке и защите данных

Пример процесса активизациизаключения в правиле нечеткой продукции

Поскольку агрегирование этого правила дает в результате = 0.67, то это значение используется с качестве c1 для получения результата активации.

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

25

''1b

Page 26: Нейросетевые технологии в обработке и защите данных

Пример процесса активизациизаключения в правиле нечеткой продукции

26

1

0.8

0.6

0.4

0.2

0

b1

a1

1) 0 40 50 60 0 30 40 50  60 70 80 90 100

1

0.8

0.6

0.4

0.2

0

1

0.8

0.6

0.4

0.2

0

b1"

TC

1

0.8

0.6

0.4

0.2

0

b1

a1

2)

0 40 50  60 0 30 40 50  60 70 80 90 100

1

0.8

0.6

0.4

0.2

0

1

0.8

0.6

0.4

0.2

0

b1"

TC

Page 27: Нейросетевые технологии в обработке и защите данных

Аккумуляция (Accumulation) Аккумуляция или объединение в системах

нечеткого вывода представляет собой процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных множества W ={w1, w2,…, wp}.Здесь p – общее количество выходных переменных.

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

27

Page 28: Нейросетевые технологии в обработке и защите данных

Пример процесса аккумуляциизаключений

Для трех нечетких множеств c1, c2, c3, полученных в результате процедуры активации для выходной лингвистической переменной «скорость движения автомобиля» в некоторой системе нечеткого вывода, функции принадлежности представлены на следующем слайде соответственно в перечисленном порядке.

28

Page 29: Нейросетевые технологии в обработке и защите данных

Пример процесса аккумуляции заключений

29

1

0.8

0.6

0.4

0.2

0 0 10 20 30 40 50  60 70 80 90 100

1

0.8

0.6

0.4

0.2

0 0 10 20 30 40 50  60 70 80 90 100

1

0.8

0.6

0.4

0.2

0 0 10 20 30 40 50  60 70 80 90 100

1

0.8

0.6

0.4

0.2

0 0 10 20 30 40 50  60 70 80 90 100

Page 30: Нейросетевые технологии в обработке и защите данных

Пример процесса аккумуляциизаключений

Аккумуляция этих функций принадлежности методом max – объединения нечетких множеств c1, c2, c3 позволяет получить в результате функцию принадлежности, представленную на нижнем рисунке предыдущего слайда.

30

Page 31: Нейросетевые технологии в обработке и защите данных

Дефаззификация (Deffuzzification)

Дефаззификация или приведение к четкости в системах нечеткого вывода представляет собой процедуру или процесс нахождения обычного или четкого (crisp) значения для каждой из выходных лингвистических переменных W = {w1, w2,…, wp}.

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

31

Page 32: Нейросетевые технологии в обработке и защите данных

Метод центра тяжести

Центр тяжести для одноточечных множеств рассчитывается по формуле:

где n – число одноэлементных нечетких множеств, каждое из которых характеризует единственное значение рассматриваемой выходной лингвистической переменной.

32

,)(

)(

1

1

n

ii

n

iii

x

xxy

Page 33: Нейросетевые технологии в обработке и защите данных

Метод центра площадейЦентр площади y = u , где значение u

определяется из уравнения

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

33

.)()(max

min

dxxdxxu

u

Page 34: Нейросетевые технологии в обработке и защите данных

Пример дефаззификации методом центра тяжести

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

34

1

0.8

0.6

0.4

0.2

00 10 20 30 40 50  60 70 80 90 100

км/ч411 y

Page 35: Нейросетевые технологии в обработке и защите данных

Схема системы нечеткого логического вывода

35

Вход Выход

(численный)

база данных

база правил

база знаний

блокпринятия решений

блок фаззи-

фикации

блок дефаззи-фикации

(нечеткий) (нечеткий)

Нечеткое правило «если-то»(нечеткая импликация): если x это A, то y это B

Сокращенная запись: A → B

Page 36: Нейросетевые технологии в обработке и защите данных

Пример агрегирования двух правил нечеткого вывода

Логическое произведение (оператор Min) используется как для агрегирования нечетких правил относительно конкретных переменных x1, x2 , образующих вектор x, так и на уровне импликации A → B для одиночных правил вывода.

Агрегирование импликаций, касающихся правил 1 и 2, проводится с использованием логической суммы (оператор Max).

36

Page 37: Нейросетевые технологии в обработке и защите данных

37

Алгоритмы работы моделей нечетких рассуждений

Мамдани -Заде

Такаги-Сугено-

КангЛарсен Цукамотоmin

предпосылки следствия

max max

среднее взвешенное

zc - центр тяжести

A1 B1 C1 C1 C1 C1

C2 C2 C2 C2

z1 = a1· x0 + b1· y0

z2 = a2· x0 + b2· y0

среднее взвешенное

x y

ω1

ω2

x0 x y0 y

21

2211

zz

zc21

2211

zz

zc

Page 38: Нейросетевые технологии в обработке и защите данных

Модель Мамдани – Заде1. Формирование базы правил систем нечеткого вывода;

2. Фаззификация входных переменных;

3. Агрегирование подусловий в нечетких правилах продукций с использованием оператора логического произведения для определения результирующего уровня активации, в котором учитываются все компоненты входного вектора x;

4. Активизация подзаключений в нечетких правилах продукций с использованием логического произведения для определения значения функции принадлежности для всей импликации A → B;

5. Аккумуляция заключений нечетких правил продукций (объединение) ;

6. Дефаззификация выходных переменных. Традиционно используются методы центра тяжести или центра площадей.

38

Page 39: Нейросетевые технологии в обработке и защите данных

Алгоритм Ларсена (Larsen)1. Формирование базы правил систем нечеткого вывода;

2. Фаззификация входных переменных;

3. Агрегирование подусловий в нечетких правилах продукций. Те правила, степень истинности условий которых отлична от нуля, считаются активными и используются для дальнейших расчетов;

4. Активизация подзаключений в нечетких правилах продукций с использованием prod – активации

5. Аккумуляция заключений нечетких правил продукций с использованием операции объединения (max) ;

6. Дефаззификация выходных переменных.

39

;)()( ycy ii

Page 40: Нейросетевые технологии в обработке и защите данных

Алгоритм Такаги – Сугено – Канга (TSK)

1. Формирование базы правил систем нечеткого вывода. Используются правила вида:

If “1” is “α “ and “2” is “α “ then w = c1· a1 + c2· a2

где c1, c2 – некоторые весовые коэффициенты, при этом w в заключении определяется как некоторое действительное число;

2. Фаззификация входных переменных;

3. Агрегирование подусловий в нечетких правилах продукций (min - конъюнкция);

40

Page 41: Нейросетевые технологии в обработке и защите данных

Алгоритм Такаги – Сугено – Канга (TSK)4. Активизация подзаключений в нечетких

правилах продукций осуществляется min – активацией и расчетом обычных значений выходных переменных каждого правила, используемого для формирования базы правил системы нечеткого вывода, когда вместо a1, a2 подставляются значения входных переменных до этапа фаззификации;

5. Аккумуляция заключений нечетких правил продукций фактически отсутствует;

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

метода центра тяжести для одноточечных множеств.

41

Page 42: Нейросетевые технологии в обработке и защите данных

Алгоритм Цукамото (Tsukamoto)1. Формирование базы правил систем нечеткого вывода;

2. Фаззификация входных переменных;

3. Агрегирование подусловий в нечетких правилах продукций. Используются парные нечеткие логические операции;

4. Активизация подзаключений в нечетких правилах продукций осущестляется по правилу min – конъюнкции. Значение выходной лингвистической переменной wj находится как решение уравнения ci = μ(wj) (i {1,2,…,q})

где q – общее количество подзаключений в базе правил;

5. Аккумуляция заключений нечетких правил продукций фактически отсутствует;

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

42

Page 43: Нейросетевые технологии в обработке и защите данных

Сравнение моделейАлгоритм Ларсена близок к модели нечеткого вывода Мамдани – Заде, основным его отличием является реализация нечеткой импликации с помощью prod – активации.

Модель Такаги – Сугено – Канга (TSK) используется для систем адаптивного типа, и характеризуется отсутствием этапа дефаззификации, поскольку выходное значение каждого правила является линейной комбинацией входных переменных.

Алгоритм Цукамото является комбинацией моделей Мамдани – Заде и Такаги – Сугено – Канга

43

Page 44: Нейросетевые технологии в обработке и защите данных

ANFIS – адаптивная система нечеткого вывода (Adaptive-Network-Based Fuzzy Inference System) реализована в пакете расширения Fuzzy Logic Toolbox (пакете нечеткой логики) системы MATLAB . ANFIS является одним из первых вариантов средств создания гибридных нейро-нечетких сетей. В пакете Fuzzy Logic Toolbox реализованы две системы нечеткого вывода Mamdani – типа Мамдани – Заде, задаваемая по умолчанию, и Sugeno – типа Такаги – Сугено – Канга.

44