Нечеткая нейронная сеть архитектуры ANFIS 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Нечеткая нейронная сеть архитектуры ANFIS



ANFIS – адаптивная НС, основанная на системе нечёткого вывода(adaptive network based Fuzzy Inference System). Часто структура гибридной нейронной сети зависит от области применения. Так как архитектура часто используется как контроллер в реальных устройствах управления, то правая часть правила представлена чёткой линейной комбинацией переменных. Реализация логической функции «И» выполнена не с помощью функции min, а с помощью операции произведения. Обучается данная архитектура стандартным алгоритмом обратного распространения ошибки.

Приведем структуру ANFIS – адаптивной НС для двух правил:

ЕСЛИ x1 = A1 И x2 = B1 ТО y1 = c11x1 + c12x2

ЕСЛИ x1 = A2 И x2 = B2 ТО y2 = c21x1 + c22x2

Выход ННС формируется по формуле:

y = (w1 y1 + w2 y2) / (w1 + w 2)

Слои ННС ANFIS выполняют следующие функции.

1. Слой 1 представлен радиальными базисными нейронами и моделирует функции принадлежности.

2. Слой 2 – это слой И-нейронов, которые моделируют логическую связку И произведением

wi = mAi(x1) mBi(x2).

3. Слой 3 вычисляет нормированную силу правила:

<wi> = wi / (w1 + w2)

4. Слой 4 формирует значение выходной переменной:

y(x1, x2) = <wi> yi = <wi> (ci1 x1 + ci2 x2).

5. Слой 5 выполняет дефазификацию:

y = <w1> y1 + <w2> y2.

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

1. Анализ проблемной области. Определяют значимые входные и выходные параметры, значения параметров, лингвистические шкалы.

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

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

4. Формируется стандартная архитектура ННС, например, ANFIS.

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

Пример функционирования нечеткого нейронного контроллера

Нечёткий контроллер – интеллектуальная система, основным назначением которой является управление внешним объектом, при котором поведение управляемого объекта описывается нечёткими правилами.

Нечёткий контроллер (регулятор, управляющее устройство) – регулятор, построенный на базе нечёткой логики.

Сущности управляемого процесса – «входные переменные» и «выходные переменные», относящиеся к классу лингв-их переменных.

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

Управляющие переменные – их значения возвращаются на объект управления.

Управление:

1. определить текущие значения значимых выходных переменных

2. сравнить текущие выходные значения с заданными целевыми

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

4. повторять п1-3 пока не будут получены целевые значения.

Для реализации нечёткого контроллера необходимо:

Определить входные переменные.

2. преобразовать четкие значения входных переменных в нечёткие использовать правила преобразования нечётких выходных значений в нечёткие значения управляющих переменных. (Правила в виде если … то …, например, если давление высокое, то кран закрыть. Подчеркнуто – имена объектных переменных, курсив – нечёткие значения переменных)

3. преобразовать нечёткие значения управляющих переменных в четкие.

Пример. Нечёткий регулятор для стиральной машины (архитектура ANFIS)

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

Рассмотрим простой контроллер с тремя нечёткими правилами вывода в БЗ.

R1: ЕСЛИ <количество_белья> = <много> И <температура_воды> = <высокая> И <загрязненность> = <высокая>

ТО <длительность> = <высокая>;

R2: ЕСЛИ <количество_белья> = <много> И <температура_воды> = <высокая> И <загрязненность> = <низкая>

ТО <длительность> is <низкая;

R3: ЕСЛИ <количество_белья> = <мало> И <температура_воды> = <низкая> И <загрязненность> = <низкая>

ТО <длительность> = <малая>;

Зададим следующие функции формы для правил.

1. Пусть выражение <количество_белья> = <мало> соответствует функции L1 (x), а <количество_белья> = <много> – функции H1 (x).

L1 (x) = 1/(1 + exp(b1 (x - c1)),

H1 (x) = 1/(1+exp(- b1 (x - c1)),

причем L1 (x) + H1 (x) = 1.

2. Аналогично для выражения <температура_воды> = <высокая> будем использовать функцию L2 (t), а для <температура_воды> = <низкая> – функцию H2 (t).

L2 (t)= 1/(1 + exp(b2 (t - c2)),

H2 (t)= 1/(1 + exp(- b2 (t - c2)),

причем L2 (t) + H2 (t) =1.

3. Для выражения <загрязненность> = <высокая> определим функцию L3 (z) и для <загрязненность> = <низкая> – функцию H3 (z).

L3 (z)= 1/(1 + exp(b3 (z - c3)),

H3 (z)= 1/(1 + exp(- b3 (z - c3)),

L3 (z) + H3 (z) =1.

4. Для выходов <длительность> = <высокая> и <длительность> = <низкая> аналогично определим функции

L4 (y)= 1/(1 + exp(b4 (y - c4)),

H4 (y)= 1/(1 + exp(- b4 (y - c4)),

то есть L4 (x) + H4 (x) = 1.

Для четких значений <количество_белья>, <температура_воды> и <загрязненность>: A1, A2, A3 определим релевантность (силу) правил a:

a1 = H1 Ù H2 Ù H3,

a2= H1 Ù H2 Ù L3,

a3= L1 Ù L2 Ù L3.

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

Y1= H4-1 (a1),

Y2= H4-1 (a2),

Y2= L4-1 (a3).

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

y0 = (a1 y1 + a2 y1 + a3 y1)/ (a1 + a2 + a3).

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

1. Слой 1. Выходы узлов – это степени, c которыми заданные входы удовлетворяют функциям принадлежности, ассоциированным с этими узлами.

2. Слой 2. Каждый узел вычисляет силу правила.

Выход верхнего нейрона a1 = H1 Ù H2 Ù H3,

выход среднего нейрона a2 = H1 Ù H2 Ù L3,

а выход нижнего нейрона a3 = L1 Ù L2 Ù L3.

Все узлы помечены T, так как можно выбрать любую T -норму для моделирования логического И. Узлы этого слоя называются узлами правил.

3. Слой 3. Каждый узел помечен N, чтобы показать, что узлы нормализуют силу правил bi= ai / (a1 +a2 + a3).

4. Слой 4. Выход нейронов – это произведение нормализованной силы правила и индивидуального выхода соответствующего правила.

b1Y1 = b1H4-1 (a1), b2Y2 = b2H4-1 (a2), b3Y2 = b3L4-1 (a3).

5. Слой 5. Одиночный выходной нейрон вычисляет выход сети

y0 = b1Y1 + b2Y2 + b3Y2.

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

Пусть задана четкая обучающая выборка

{(x1 ,t1, z1, y1),…(xk, tk, zk, yk)}, где x, t, z – входные условия количества белья, температуры воды и загрязненности, а y – длительность стирки. Ошибку на k -ом образце определим как обычно

E k =1/2 (Oi -Yi)2.

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

b4 (t + 1) = b4 (t) - zE/¶b4), c4 (t + 1) = c4 (t) - zE/¶c4), c1(t + 1) = c1 (t) - zE/¶c1).

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

Примеры интеллектуальных систем.

1. Системы проверки грамматики и правописания при подготовке текстов

2. Системы распознавания текстов (Cuneform, FineReader)

3. Системы распознавания речи (Горыныч)

4. Поисковые системы в Internet, к которым можно обращаться с запросами на естественном языке (Апорт, Яндекс)

5. Автопилоты взлета/посадки

6. Программы перевода.

7. Экспертные системы.

Понятия И и ИЛИ - нейрона.

См. вопрос 25

Архитектура нечеткой нейронной сети.

Понятие данных и знаний.

Технология обработки данных является базовой технологией для создания ЭИС. Основным инструментом такой технологии является СУБД. Если система использует базу знаний, то такая система является интеллектуальной системой (Пр. база знаний – база правил «если…то»).

Знания отличаются от данных возможностью интерпретации. Заголовок любой реляционной таблицы является элементом знаний в отличии от содержимого таблицы. Резкой границы между БД и БЗ не существует. Современные развитые СУБД такие как Oracle объединяют 2 технологии, используемые как реляционные БД, так и базы бизнес-правил.

БЗ
Обработка данных и знаний
Пользователь
БД

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

Знания, хранимые в алгоритмах и программах, называются процедурными, а знания, хранимые в БД и БЗ, называют декларативными. Разработка интеллектуальных систем чаще связана с разработкой деклараций, чем процедур.



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 1031; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.77.114 (0.03 с.)