Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОВИ_ЛР_2012

.pdf
Скачиваний:
102
Добавлен:
02.02.2015
Размер:
4.11 Mб
Скачать

13.3. Индивидуальные задания

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

2.Обосновать выбор всех параметров и критериев остановки работы генетического алгоритма.

3.Оформите отчет по лабораторной работе.

261

ЛАБОРАТОРНАЯ РАБОТА 14

НЕЙРО-НЕЧЕТКОЕ МОДЕЛИРОВАНИЕ В СРЕДЕ MATLAB

14.1. Цель лабораторной работы

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

14.2. Краткие сведения из теории

Как правило, в состоянии нестабильной экономики,

характеризующейся частой сменой экономических условий, принятие управленческих решений осуществляется в условиях неопределенности,

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

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

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

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

262

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

"черный ящик" вследствие того, что внутренний алгоритм ее настройки не

"прозрачен", и полученные результаты и взаимосвязи сложно интерпретировать.

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

В данных методических указаниях рассматриваются основные понятия нейро-нечетких сетей, а также средства их разработки,

предоставляемые системой МatLab.

Для прогнозирования используем нечеткую сеть TSK. Обобщенную схему вывода модели TSK при использовании M правил и N переменных xj

можно представить в виде

IF (x1 IS A1(1)) AND (x2 IS A2(1)) AND … AND (xn IS An(1)),

N

THEN y1 = p10 + p1 j x j

j 1

…………………………………………………

IF (x1 IS A1(M)) AND (x2 IS A2(M)) AND … AND (xn IS An(M)),

263

N

THEN yM = pM0 + pMj x j .

j 1

Условие IF ( xi IS Ai) реализуется функцией фуззификации, которая представляется обобщенной функцией Гаусса отдельно для каждой переменной xi :

A (xi )

 

 

1

 

,

(14.1)

 

 

 

 

x

 

 

 

c

2bi

 

1

i

i

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

где A (xi ) представляет оператор Ai. В нечетких сетях целесообразно задавать это условие в форме алгебраического произведения, из которого следует, что для k-го правила вывода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

1

 

 

 

 

(Ak ) (x)

 

 

 

 

 

.

(14.2)

 

 

 

 

 

 

 

 

 

(k )

j 1

 

x

c(k )

2b j

 

 

 

 

 

 

 

1

i

j

 

 

 

 

 

 

 

 

 

 

 

 

 

(k )

 

 

 

 

 

 

 

j

 

 

 

 

При M правилах вывода агрегирование выходного результата сети производится по формуле

M

wi

 

N

 

 

 

y

pi0

pij x j

 

,

(14.3)

N

 

 

 

 

 

 

i 1 w j

 

j 1

 

 

 

j 1

которую можно представить в виде

264

1

M

 

 

 

 

 

 

 

 

 

y(x) N

,

(14.4)

wk yk (x)

 

wk

k 1

 

 

 

k 1

N

где yk (x) pk 0 pkj x j . Присутствующие в этом выражении веса

j 1

wk интерпретируются как значимость компонентов (Ak ) (x) , определенных формулой (14.1). При этом условии формуле (14.4) можно сопоставить многослойную структуру сети (рис. 14.1). В такой сети выделяется пять слоев:

первый слой выполняет раздельную фуззификацию каждой

переменной xi (i = 1, 2, …, N), определяя для каждого k-го правила вывода значение коэффициента принадлежности (Ak ) (xi ) в соответствии с применяемой функцией фуззификации. Это параметрический слой с

параметрами c(jk ) , (jk ) , b(jk ) , подлежащими адаптации в процессе

обучения;второй слой (непараметрический) выполняет агрегирование

отдельных переменных xi , определяя

результирующее

значение

коэффициента

принадлежности

w

(k ) (x)

для

вектора

x

(уровень

 

 

k

A

 

 

 

 

 

активизации правила вывода) в соответствии с формулой (14.2);

 

 

третий

слой представляет

собой

генератор функции

TSK,

 

 

 

N

 

 

 

 

 

рассчитывающий значения yk (x) pk 0 pkj x j .

В этом

слое

также

j 1

производится умножение сигналов yk (x) на значения wk , сформированные на предыдущем слое. Это параметрический слой, в котором адаптации подлежат линейные веса pkj для k = 1, 2, …, M и j = 1, 2, …, N,

определяющие функцию следствия модели TSK;

265

четвертый слой (непараметрический) составляют два нейрона-

сумматора, один из которых рассчитывает взвешенную сумму сигналов

M

yk (x) , а второй определяет сумму весов wk ;

k 1

последний, пятый слой (нормализующий), состоит из единственного выходного нейрона в котором веса подвергаются нормализации в соответствии с формулой (14.4). Выходной сигнал y(x)

определяется выражением, соответствующим зависимости (14.3),

y(x) f (x)

f1

.

(14.5)

 

 

f2

 

Рис. 14.1. Структура нечеткой нейронной сети TSK

266

Из приведенного описания следует, что нечеткая сеть TSK содержит только два параметрических слоя (первый и третий), параметры которых уточняются в процессе обучения. Параметры первого слоя будем называть нелинейными параметрами, поскольку они относятся к нелинейной функции (14.1), а параметры третьего слоя – линейными весами, т.к. они относятся к параметрам pkj линейной функции TSK.

При уточнении функциональной зависимости (14.4) для сети TSK

получаем:

y(x)

 

 

1

 

 

 

M

N

 

 

 

 

(Ak ) (x j )

 

 

 

 

 

k 1

j 1

 

M N

(Ak )

k 1 j 1

 

N

 

 

(x j ) pk 0

pkj x j

(14.6)

 

j 1

 

 

 

 

 

 

Если принять, что в конкретный момент времени параметры условия зафиксированы, то функция y(x) является линейной относительно переменных xi (i = 1, 2, …, N).

При наличии N входных переменных каждое правило формирует

N+1 переменных pj(k) линейной зависимости TSK. При M правилах вывода это дает M(N+1) линейных параметров сети. В свою очередь, каждая функция принадлежности использует три параметра (с, s, b), подлежащих адаптации. Если принять, что каждая переменная xi характеризуется собственной функцией принадлежности, то при М правилах вывода мы получим 3MN нелинейных параметров. В сумме это дает M(4N+1)

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

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

267

принадлежности, то максимальное количество правил, которые можно создать при их комбинировании, составит: M = mN (при трех функциях принадлежности, распространяющихся на две переменные, это 32 = 9

правил вывода). Таким образом, суммарное количество нелинейных параметров сети при М правилах вывода уменьшается с 3MN в общем случае до 3NM1/N. Количество линейных параметров при подобной модификации остается без изменений, т.е. M(N+1).

Гибридная сеть как адаптивная система нейро-нечеткого

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

Т-нормы, S-конормы или некоторой другой непрерывной операции. При этом значения входов, выходов и весов гибридной нейронной сети представляют собой вещественные числа из отрезка [0, 1].

Основная идея, положенная в основу модели гибридных сетей,

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

В пакете Fuzzy Logic Toolbox системы МatLab гибридные сети реализованы в форме так называемой адаптивной системы нейро-

нечеткого вывода ANFIS. С одной стороны, гибридная сеть ANFIS

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

268

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

С другой стороны, гибридная сеть ANFIS представляет собой систему нечеткого вывода FIS типа Сугено нулевого или первого порядка,

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

равный 1.

14.3.Моделирование и реализация нейро-нечеткой сети

всреде МatLab

Впакете Fuzzy Logic Toolbox системы МatLab гибридные сети реализованы в форме адаптивных систем нейро-нечеткого вывода ANFIS.

При этом разработка и исследование гибридных сетей оказывается

возможной:

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

в режиме командной строки с помощью ввода имен соответствующих функций с необходимыми аргументами непосредственно

вокно команд системы МatLab.

Редактор ANFIS позволяет создавать или загружать конкретную модель адаптивной системы нейро-нечеткого вывода, выполнять ее обучение, визуализировать ее структуру, изменять и настраивать ее параметры, а также использовать настроенную сеть для получения результатов нечеткого вывода.

14.3.1. Описание ANFIS-редактора

ANFIS является аббревиатурой Adaptive Neuro-Fuzzy Inference System – (адаптивная нейро-нечеткая система). ANFIS-редактор позволяет

269

автоматически синтезировать из экспериментальных данных нейро-

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

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

ANFIS-редактора осуществляется по команде anfisedit. В результате выполнения этой команды появится графическое окно (рис. 14.2), на котором размещены функциональные области ANFIS-редактора.

Рис. 14.2. Основное окно ANFIS-редактора

270