Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ИССЛЕДОВАНИЕ НЕЧЕТКИХ И НЕЙРОСЕТЕВЫХ СИСТЕМ



ИССЛЕДОВАНИЕ НЕЧЕТКИХ И НЕЙРОСЕТЕВЫХ СИСТЕМ

 

 

Методические указания

к лабораторным работам

 

 

Санкт-Петербург

Издательство СПбГЭТУ " ЛЭТИ"

 

 

УДК 62.50

 

Исследование нечетких и нейросетевых систем: Методические указания к лабораторным работам по дисциплине «Нечеткие и нейросетевые системы управления» / Сост.: Н. Д. Поляхов, И. А. Приходько, В. Е. Кузнецов,

Е. С. Анушина, А. А. Карачев. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2005. 28 с.

 

 

Содержат программы и методики выполнения лабораторных работ, посвященных аппроксимации функций с помощью нейронных и нейронечетких сетей, построению и исследованию нечетких систем управления, решению оптимизационных задач с помощью генетических алгоритмов. Описание лабораторных работ № 1–5 ориентировано на пакет MATLAB 6.5, работы № 7 –

на пакет MATLAB 7.

Предназначены студентам, обучающимся по направлениям «Автоматизация и управление», «Системы управления движением и на­вигация».

 

 

Работа выполнена при финансовой поддержке Минобразования и науки РФ в рамках НТП–2004 / № 75410, НТП–2004 / № 75436, гранта Минобразования и науки РФ № А04–3.14–493, гранта правительства Санкт-Петербурга

№ М05–3.1К–245.

 

Утверждено

редакционно-издательским советом университета

в качестве методических указаний

 

 

ISBN 5-7629-0541-1 Ó СПбГЭТУ " ЛЭТИ", 2005

 

Лабораторная работа № 1

ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ НЕЧЕТКОГО РЕГУЛЯТОРА

НА ОСНОВЕ АЛГОРИТМА ЗАДЕ-МАМДАНИ

 

Цель работы - ознакомление с пакетом Fuzzy Logic Toolbox (MATLAB), построение нечеткого регулятора (НР - Fuzzy Logic Controller) на основе алгоритма Заде-Мамдани в пакете Fuzzy Logic Toolbox. Эффективность управления системы с нечетким регулятором проверяется по ре­зультатам моделирования в Toolbox Simulink.

 

Основные сведения

Нечеткими называют регуляторы, ориентированные на обработку нечетких правил с целью поиска решения задачи управления. Нечеткий регулятор включает: фаззификатор, блок правил, блок вывода и дефаззификатор (рис. 1.1). Иногда блок правил и блок вывода объединяют в один блок [1], [2].

 

 


Рис. 1.1

Фаззификатор. Система управления с нечеткой логикой оперирует нечеткими множествами. Поэтому реальные (четкие) значения входных и выходных переменных регулятора (u, v) подлежат операции фаззифи­кации, в результате которой реальным значениям переменных ставятся в соответствие нечеткие множества, т. е. фаззифи­кация - это процедура определения степени принадлежности элемента не­чет­кому множеству А. В задачах управления часто применяется операция фаззификации типа синглтон (singleton): .

Блок правил состоит из множества нечетких условных высказываний (нечетких правил):

Ri: если есть и есть и… есть , то есть ,

где i = - число нечетких правил; n - число входных переменных нечеткого регулятора; , - входные и выходная переменные; , , …, - нечеткие подмножества универсальных мно­жеств U1, U2, ..., ; - нечеткие подмноже­ства универсального множества V. Нечеткие правила включают не­четкую логическую операцию " и" (t-норму) и нечеткую операцию имплика­ции " если …, то". Импликация Ri = (А1i и А2i и … ) ® Вi состоит из двух частей: посылки, которая содержит набор условий: " если есть и есть и … есть ", и следствия, которое задает вывод: " то есть ". Нечеткое правило также можно интерпретировать как нечеткое отношение .

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

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

посылка 1 (импликация):

: если есть и есть и … есть , то есть ;

посылка 2 (условие): есть и есть и … есть ;

------------------------------------------------ следствие: v есть В'.

Композиционное правило нечеткого вывода

, (1.1)

где (А1i и А2i и … ) ® Вi, = , , …, .

Функция принадлежности (ФП) результата нечеткого вывода

Если в посылке 2 входные нечеткие множества синглтоны, а в качестве импликации используется импликация Мамдани, то ФП результата нечеткого вывода i-го нечеткого правила , где

. (1.2)

Если применяется импликация Ларсена, то ФП -

В дефаззификаторе вычисляется четкое (детерминированное) управляю­щее воздействие на основе результата нечеткого вывода (1.1).

Программа работы

Для открытия Fuzzy Toolbox необходимо набрать в командной строке ос­новного ра­бочего поля команду fuzzy, что вызовет открытие окна FIS Editor: Untitled, содержа­щего разделы: File (команды работы с файлами и опции настройки системы), Edit (команды ре­дактирования информации, отображенной в рабочем поле), View (взгляд - ко­манды, предназначенные для выбора рабочего поля).

1. Построение блок-схемы НР: в выпадающем меню раздела Edit указать Add Variable…Input (добавить переменную... вход), при этом схема изображенного НР будет содержать два входа. Активизировать блок input1, в поле настройки Current Variable (текущая переменная) в графе Name указать е (ошибка управления), в блоке input2 записать de (производная ошибки), в блоке output - vf (выход НР).

2. Формирование графиков ФП нечетких множеств (фаззификация): в выпадающем меню раздела Edit выбрать команду Mem­bership Function - Ctrl+2(редактирование функции принадлежности). При этом откроется окно Membership function Editor (редактор функции принадлежности), включающее (Fis Variables) переменные (e, de, vf), график ФП (Membership functions plots) и два поля настройки: переменных (Current Variable) и ФП (Current Membership Functions). Построить графики ФП последовательно для первого входа (е), второго входа (de) и выхода (vf), т. е. последовательно активизировать блоки е, de, vf и выполнить следующую последовательность действий: а) в окне Membership function Editor указать границы изменения входных переменных, для этого в поле настройки Current variable изменить границы в графе Range (диапазон) и Display Range: е, , vf – [– 5 5]; б) в выпадающем меню раздела Edit выбрать команду Remove All Mfs (удалить все ФП); в выпадающем меню раздела Edit выбрать команду Add MFs (добавить ФП). При этом откроется окно Membership functions. В графе MF type указать trimf (треугольная ФП), в графе Number of MFs указать 5 (число ФП). ОК;

в) в окне Membership Function Editor: на графике ФП активизировать одну из ФП, в поле настройкиCurrent Membership Function указать: Name (имя ФП). NB, NS - отрицательные большое и малое соответственно; N - нулевое; PB, PS - положительные большое и малое соответственно; Type (тип): NS, N, PS - trimf (треугольная ФП); NB - zmf (Z-типа); PB - smf (S-типа); Params (параметры ) ФП задаются в соответствии с графиком на рис. 1.2.

3. Формирование нечетких правил блока правил: в выпадающем меню раздела Edit окна FIS Editor: Untitled выбрать команду Rules - Ctrl+3; в окне Rule Editor составить правила в соответствии с таблицей. Например, If e is NB and de is NB Then vf is NB. Использовать кнопку Add Rule (добавить правило). Другие кнопки: Change Rule (изменить правило), Delete Rule (удалить правило); в графе Connection установить " And" для всех правил; в графе Weight (вес) - 1.

 

Рис. 1.2

  e de
NB NS N PS PB
PB N PS PS PB PB
PS NS N PS PS PB
N NS NS N PS PS
NS NB NS NS N PS
NB NB NB NS NS N

 

4. Задание правила нечеткого вывода (блока вывода). Для выполнения в выпадающем меню раздела Edit выбрать команду FIS Properties -Ctrl+1. При этом откроется окно FIS Editor.

4.1. Задание логических операций " и" и импликации: в выпадающем меню графы And methode установить min; в графе Implication - min.

4.2. Задание способа определения выходного нечеткого множества (B' по B'i - агрегирование): в выпадающем меню графы Aggregation установить max.

5. Задание способа дефаззификации (способ определения реального управляющего воздействия). В окне FIS Editor в графе Defazzification установить способ дефаззификации: centroid (метод центра тяжести). Другие способы: bisector (центр площади, биссектриса площади); mean of max-mom (метод среднего максимума); largest of max-lom (метод наибольшего максимума); smallest of max-som (метод наименьшего максимума); Custom (способ дефаззификации, созданный пользователем).

6. Cохранение полученного файла c расширением.fis на диске. Для этого в выпадающем меню раздела File окна FIS Editor выбрать команду Export To Disk (Ctrl+S). Для сохранения.fis файла в рабочем пространстве использовать команду Export To Workspace (Ctrl+T).

7. Построение схемы моделирования в Toolbox Simulink.

В качестве примера здесь приводится сравнение пропорционально-диф­ференциального (ПД) и нечеткого регуляторов для объекта управления третьего порядка. Структурная схема системы управления представлена на рис. 1.3. Оценивается эффективность регулято­ров в условиях изменения параметров объекта управления, при воздействии внеш­него возмущения и введении нелинейности - звена с насыщением ±0.15.

Рис. 1.3

Параметры объекта управления в номинальном режиме: k3 = 250,

k4 = 100, k5 = 150. Закон управления ПД-регулятора: u = k1e + k2 de, где k1 = 1,

k2 = 0.012. НР (Fuzzy Logic Controller) взять из библиотеки Library Simulink раздела Fuzzy Logic Toolbox. Для открытия блока параметров НР (Block Parameters: Fuzzy Logic Controller) активизировать блок Fuzzy Logic Controller. В блоке параметров указать имя используемого.fis файла НР.

8. Проверка эффективности управления по результатам моделирования в Simulink. Сравнить качество переходных процессов в САУ с линейным и нечетким регуляторами: a) в номинальном режиме; б) при наличии ограниченных изменений параметров (k3 = 125; k4 = 200; k5 = 500); в) при введении звена насыщением ± 0.15 для номинальных параметров; г) при воздействии внешних возмущений.

9. Оценка влияния на качество переходных процессов системы управления изменения параметров НР: а) границ входных переменных НР; б) типа функции принадлежности; в) границ ФП; г) блока правил; д) способа реализации логической операции " и"; е) способа реализации логической операции импликации; ж) способа агрегирования; з) способа дефаззификации.

10. Файл данных с расширением.dat в лабораторной работе включает три числовых столбца дан­ных: два входа и выход. Для формирования файла данных используются числовые зна­чения входов: e, de и желаемого выхода vf. Схема моделирования должна включать блок сохранения данных в рабочей области - To Workspase (блок из раздела " Sinks" (Получатели) библиотеки Library: Simulink ). В блоке сохранения (To Workspase) должно быть записано имя переменной (в лабораторной работе - vf) вместо simout, в графе Save format (сохранить формат) вместо Structure (структура) указать Array (область). Числовые значения данных можно получить, если в командной строке основного рабочего поля записать имя переменной - vf. Полученные значения сохранить с расширением.dat.

 

Содержание отчета

Отчет должен включать описание нечеткого регулятора (графики ФП, блок правил, способ дефаззификации), результаты моделирования, приведенные в таблице (показатели качества управления), выводы по работе.

 

1.4. Контрольные вопросы

1. Как задается логико-лингвистическое описание систем управления?

2. Какие способы задания нечеткой логической операции " и" и нечеткой операции импликации используются в Fuzzy Logic Toolbox?

3. Какие способы агрегирования применяются в Fuzzy Logic Toolbox?

4. Какие способы дефаззификации используются в Fuzzy Logic Toolbox?

5. Объяснить способ составления таблицы правил.

 

 

Лабораторная работа № 2

Основные сведения

Нечеткие правила составляются на основе условных высказываний вида [1], [3]: если есть и есть и … есть , то ,

где все обозначения такие же, как в (1.1), - четкая функция. В качестве заключе­ний нечетких правил (заключений операции импликации v) обычно исполь­зуют уравнения первого и нулевого порядков.

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

посылка 1 (импликация):

: если есть и есть и … есть , то ;

посылка 2: есть и есть … и есть ;

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

следствие: v есть v’.

Нечеткие правила для алгоритма Такаги - Сугено нулевого порядка задаются на ос­нове условных высказываний вида

если есть и есть и….. есть , то

Четкое (детерминированное) управляющее воздействие определяется по

формуле средневзвешенного значения , где как в (1.2).

Программа работы

1. Построение блок-схемы НР Такаги-Сугено: в Fuzzy Toolbox открыть New FIS Sugeno раздела меню File; построить блок-схему регулятора

аналогично рассмотренному в лабораторной работе № 1.

2. Редактирование адаптивного нейронечеткого регулятора (Anfis): в выпадающем меню раздела Edit указать Anfis; в окне ANFIS Editor: Untitled 2 (редактор адаптивного нейронечеткого регулятора) в колонке Load data (загрузка данных) в графе Type отметить training (настройка); в графе From указать: disk; нажать кнопку Load Data. Загрузить файл dan.dat, который получен в лабораторной работе № 1 (или задается преподавателем).

В окне ANFIS Editor: Untitled 2 появится график Training data; в колонке Generate FIS (формирование НР) указать Grid partition (форми­рование сети); нажать кнопку Generate FIS; в поле настройки в окне input указать число ФП (Number of Mfs) для первого и второго входов (3 3 - для вариантов 1, 4; 3 4 - для варианта 2; 2 2 - для варианта 3; 2 3 - для варианта 5); в графе тип ФП (MF Type) указать gbellmf (1, 5 варианты); gaussmf (варианты 2, 3), trimf (вариант 4); в поле настройки output указать тип НР Сугено (MF Type) - linear (1-го порядка); в колонке ANFIS Info. (данные о сети) появится информация: #of input: 2 (число входов); # of outputs: 1 (число выходов); # of input mfs: 3 3 (число ФП входов); нажать кнопку Structure; полученную структуру необходимо привести в отчете; в колонке Train Fis (настройка НР) в графе optim. Method (метод оптимизации) в выпадающем меню выбрать hybrid; в графе Error Tolerance (допуск на ошибку) ввести 0; в графе Epochs: (число итераций) ввести 25; нажать кнопку Train Now (Начать настройку); в колонке Test Fis (проверка настройки) в графе Plot against (исходный график) указать Training data; нажать кнопку Test Now (проверка); сохранить полученный файл на диске и в рабочей области.

3. Эффективность регулятора на основе алгоритма Такаги-Сугено оценить по результатам моделирования в Toolbox Simulink системы управления, структурная схема которой изображена на рис. 1.3. Сравнить качество переходных процессов в системе управления с линейным и нечетким регуляторами: a) в номинальном режиме; б) при наличии ограниченных изменений параметров (k3 = 200; k4 = 200; k5 = 500; в) при введении звена с насыщением ± 0.15; г) при наличии возмущающего воздействия.

4. Оценить влияние на качество переходных процессов системы управления изменения параметров НР: а) типа ФП; б) числа ФП; в) типа заключения нечетких правил (нулевого порядка); г) число итераций при обучении.

 

 

Содержание отчета

Отчет должен включать описание НР, результаты моделирования, приведенные в таблице (показатели качества управления), структуру адаптивной сети; выводы по работе.

2.4. Контрольные вопросы

1. Как с помощью адаптивной нейронечеткой сети настраиваются параметры НР Такаги-Сугено?

2. В чем отличие нечетких правил Такаги-Сугено?

3. В чем преимущества и недостатки НР Такаги-Сугено в сравнении с регулятором на основе алгоритма Заде-Мамдани?

 

Лабораторная работа № 3

НЕЙРОНЕЧЕТКОГО ПОДХОДА

Цель работы - исследование возможности работы в пакете Fuzzy Logic Toolbox в режиме командной строки; оценка эффективности нейронечеткого подхода для формирования заданных функций.

 

Основные сведения

 

Теоретические основы доказательства аппроксимирующихсвойств нечетких моделей представлены в работах L. Wang (1992), B. Kosko (1992).

Множество нечетких моделей являются универсальными аппроксиматорами, т. е. для любого заданного опера­тора G(u) (G: Rn®R) и для любого заданного e > 0 существует нечеткая модель Ff (u) (Ff : Rn®R) такая, что max {½ G(u) - Ff (u)½, uÎ Rn} £ e.

Описание используемых функций Fuzzy Logic Toolbox [4]

1. Функцией genfis1 генерируется структура системы нечеткого вывода типа Сугено, являющейся исходной для последующего формирования и обучения гибридной системы с помощью anfis.

Синтаксис: имя = genfis1 (trnData, numMFs, inmftype, outmftype)

Аргументы функции: trnData – матрица данных для обучения сети (обучающая выборка); послед­ний столбец соответствует единственной выходной переменной, остальные столбцы – входным переменным, число строк равно числу наборов экспериментальных данных (образцов); numMFs – вектор, элементы которого определяют число ФП, задаваемых для каждого входа; если для всех входов нужно указать одно и то же число таких функций, данный аргумент задается как скаляр; inmftype – строковой массив, элементы которого – типы ФП, задаваемые для входных переменных; outmftype – строковыя переменная, определяющая тип выходной переменной (" linear" или " constant" ).

2. Функция anfis предназначена для создания и/или обучения гибридных сетей с архитектурой anfis.

Синтаксис: имя = anfis (trnData, имя, trnOpt, dispOpt)

Значения аргументов функции: trnData – матрица данных для обучения сети (обучающая выборка); послед­ний столбец соответствует единственной выходной переменной, остальные столбцы – входным переменным; имя – идентификатор создаваемой гибридной сети; если структура системы с таким идентификатором уже создана, то она будет использована для на­стройки числовых параметров, в противном случае структура будет создана при выполнении функции с опциями, по умолчанию соответствующими вы­полнению функции genfis1; trnOpt – вектор опций обучения, элементы которого имеют следующий смысл: trnOpt(1) – количество циклов обучения (по умолчанию 10); trnOpt(2) – целевой уровень ошибки обучения (по умолчанию 0); trnOpt(3) – начальный шаг алгоритма обучения (по умолчанию 0.01); trnOpt(4) – коэффициент уменьшения шага (по умолчанию 0.9); trnOpt(5) – коэффициент увеличения шага (по умолчанию 1.1); dispOpt – вектор опций вида выводимой информации (по умолчанию все элементы единичные, что означает вывод всех видов возможной информации в процессе выполнения функции) со следующими элементами: dispOpt(1) – anfis-информация; disp-

Opt(2) – ошибка; dispOpt(3) – шаг обновления (корректировки) по каждому параметру; dispOpt(4) – конечные результаты.

3. Функция evalfis выполняет нечеткий вывод.

Синтаксис: out = evalfis(input, outfismat)

Аргументы: input – число или матрица входных переменных; outfismat – имя файла, для которого выполняется нечеткий вывод.

Функция evalfis определяет out – матрицу выходов.

4. Функция genfis2 генерирует структуру системы нечеткого вывода (типа Сугено) с использованием алгоритма кластеризации данных.

Синтаксис: имя = genfis2(Xin, Xout, radii)

Аргументами функции являются: Xin – матрица входных данных обучающей выборки, столбцы которой ассоциированы с входными переменными, а каждая строка с отдельным опытом; Xout – матрица выходных переменных обучающей выборки, столбцы которой представляют значения данных переменных, а число строк равно числу строк матрицы Xin; radii (радиусы) – вектор, определяющий " области влияния" центров кластеров по каждой входной переменной.

5. Функция ruleview вызывает графический интерфейс программы просмотра правил.

Синтаксис: ruleview(имя файла)

6. Функция ruleedit вызывает графический интерфейс редактора правил системы нечеткого вывода.

Синтаксис: ruleedit(имя файла)

Порядок выполнения работы

 

1. Сформировать заданные функции с точностью до 1 %, используя функции anfis и genfis2.

2. Оценить эффективность изменения: а) числа данных обучающей выборки; б) числа функций принадлежности; в) типа функций принадлежности (gbellmf, dsigm, gauss2mf, gaussmf, pimf, smf, trapmf, trimf, zmf); г) типа алгоритма Сугено (constant, linear); д) числа циклов обучения; е) величины " области влияния" (genfis2).

3. Оценить допустимость наиболее простой реализации: алгоритм Такаги-Сугено нулевого порядка; треугольная ФП, наименьшее число ФП.

4. Сравнить результаты графика, функций evalfis и ruleview.

Листинг программы с функцией anfis

x = (0: 0.1: 10)';

y = sin(2*x)./exp(x/5);

trnData = [x y];

numMFs = 5;

inmfType = 'gbellmf';

outmfType = 'linear';

epoch_n = 20;

in_fismat = genfis1(trnData, numMFs, inmfType, outmfType);

out_fismat = anfis(trnData, in_fismat, epoch_n);

plot(x, y, x, evalfis(x, out_fismat));

legend('Training Data', 'ANFIS Output');

out = evalfis(2, out_fismat)

ruleedit(out_fismat)

ruleview(out_fismat)

Листинг программы с функцией genfis2

x = (0: 0.1: 10)';

y = atan(0.5*x);

trnData = [x y];

Xin = x;

Xout = y;

fismat = genfis2(Xin, Xout, 0.1);

z = evalfis(x, fismat)

plot(x, y, x, z);

legend('Training Data', 'ANFIS Output');

out = evalfis(1, fismat)

ruleedit(fismat)

ruleview(fismat)

Содержание отчета

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

3.4. Контрольные вопросы

1. В чем важность наличия аппроксимирующих свойств у нечетких моделей?

2. Как связана величина " области влияния" с числом нечетких правил?

3. Какой алгоритм обучения используется в функциях anfis и genfis2?

 

Лабораторная работа № 4

Основные сведения

Искусственный нейрон – элементарный преобразовательный элемент, содержащий n-вектор входов r , суммирующий блок, блок преобразования сигналаспомощью функции активации, скалярный выход q (рис. 4.1, а). В суммирующем блоке вычисляется взвешенная сумма n входных сигналов ri:

s = , где Wi – весовой коэффициент ri входа. Вход и коэффициент W0 вводят специально для смещения нейронов сети, обычно = 1. В модели ИН типа перцептрон (модель МакКаллока–Питса) в качестве функции активации f(s) используется пороговая функция, в нейроне сигмоидального типа – униполярная (логистическая) или биполярная (гиперболический тангенс) сигмоидальные функции, в нейроне типа адалина – линейная функция [1].

Радиальный базисный нейрон (рис. 4.1, б) включает n-вектор входов r, блок, в котором вычисляется расстояние между вектором входа r и вектором весовых коэффициентов W, блок преобразования с помощью функции активации, в качестве которой используется радиальная базисная функция. Полученное в первом блоке расстояние умножается на фиксированный порог a, который позволяет управлять чувствительностью ИН. Радиальная базисная функция (RBF) имеет максимум равный единице, когда вход равен нулю, т.е. единица на выходе, когда входной вектор равен вектору весовых коэффициентов.

 

 

 

Рис. 4.1

 

С помощью ИН можно моделировать ряд функций, например [5], как показано на рис. 4.2, ав, логические функции " и", " или", " не". Функция " и" имеет значение 1, если оба входа равны, в противном случае – 0. Поэтому, если заданы оба входа (вектор r = (1, 1)), то, используя пороговую функцию активации f(s) = , получим следующие результаты: s =

, q = f(s) = 1. Если вектор: r = (1, 0); (0, 1); (0, 0), то q = f(s) = 0.

Функция для создания перцептрона, реализующего логические операции. Описание – newp: имя = newp (PR, S, TF, LF)

 

 

 


 

 

в

Рис. 4.2

 

Аргументы функции: PR – R× 2 – матрица минимальных и максимальных значений для R входных элементов; S – число нейронов; TF – функция активации, по умолчанию " hardlim" (пороговая); LF – функция обучения, по умолчанию " learnp" (алгоритм обучения перцептрона). Задание входных векторов функций " и", " или": P = [0 1 0 1; 0 0 1 1]; задание выходов нейрона: для функции " и" – T = [0 0 0 1]; для функции " или" – T = [0 1 1 1]. Вход функции " не" – P = [0 1]; выход T = [1 0].

Описание функцииформирования нейронной сети (НС) в Toolbox Simulink: gensim(net), где net – имя сети.

Программа работы

1. Реализация логических функций " и", " или", " не".

Листинг программы

P = [0 1 0 1; 0 0 1 1]; % задание входных векторов;

T = [0 0 0 1]; % задание выходов нейрона;

plotpv(P, T); % графическое представление исходных векторов;

net1 = newp([0 1; 0 1], 1); % создание перцептрона с 1 нейроном;

E = 1; % присвоение начального значения ошибки;

net1 = init(net1); % инициализация перцептрона;

while(sse(E)) % организация цикла обучения перцептрона, классификация;

[net1, Y, E] = adapt(net1, P, T); % обучение нейрона на выборке [P, T];

% Получение управляющей структуры linehandle для изображения разделяющей

% линии в координатах весов (IW) и порога срабатывания нейрона (b)

linehandle = plotpc(net1.IW{1}, net1.b{1});

drawnow;

end;

2. Формирование нейросетевой модели в Toolbox Simulink.

Задание функции gensim(net1) приводит к открытию блок-диаграммы, включающей блок Input1, являющийся стандартным блоком задания константы, блок НС (Neural Network) и регистрирующий блок (Scope – осциллограф). Активизируя блок НС, а затем блок сеть1 (layer1), можно получить структуру созданного нейрона. Вместо функции активации hardlim, используемой по умолчанию, включить в структуру блок sign из раздела Library Simulink Math Operations и блок saturation из раздела Discontinuities.

Весовые коэффициенты (weight) для моделирования функций " и", " или" определить согласно рис. 4.2, а, б: W = [1 1], для " не" в соответствии с рис. 4.2, в – W = [–1] коэффициент смещения (buas) W0 = –1 для " и", W0 = 0 – для " или", W0 = 0.5 – для " не". Выполнить моделирование функций, задавая входные векторы в блоке Input1.

3. Оценить возможность реализации функции " исключающее или" с помощью перцептрона. Вход функции: P = [0 1 0 1; 0 0 1 1]; выход: T = [0 1 1 0].

 

Содержание отчета

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

 

4.4. Контрольные вопросы

1. Как формируются логические функции с помощью перцептрона?

2. Возможна ли реализация функции «исключающее или» с помощью однослойного перцептрона? Почему?

 

Лабораторная работа № 5

НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ

Цель работы – ознакомление с пакетом Neural Networks Toolbox системы (MATLAB); рассмотрение способов формирования и обучения сетей прямого распространения и RBF-сетей; исследование эффективности нейросетевого подхода для формирования заданных функций.

Основные сведения

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

На рис. 5.1 многослойная сеть прямого распространения состоит из входного, промежуточного (скрытого) и выходного слоев. Обозначено: W 1, W 2 – матрицы весовых коэффициентов скрытого и выходного слоев соответственно, – выход i-го ИН j-го слоя.ИН входного слоя служат для распределения сигналов между ИН скрытого слоя и не осуществляют преобразование входных сигналов. ИН каждого слоя не связаны между собой, выходы ИН l-го слоя поступают только на входы ИН l +1-го слоя. Функция активации принимается одинаковой для всех ИН скрытых слоев сети. Выходной слой, как правило, состоит из ИН типа адалина и называется в этом случае мадалина. Радиальная базисная сеть состоит из двух слоев: скрытый слой из радиальных базисных нейронов (описание дано в лабораторной работе № 4), выходной слой – мадалина.

Теоретические основы доказательства аппроксимирующихсвойств нейронных сетей заложены в работах А. Н. Колмогорова, В. И. Арнольда, Funahashi, R. Hecht-Nielsen [1]. Теорема А. Н. Колмогорова (1958): любая непрерывная функция n переменных на замкнутом ограниченном множестве представима с помощью операций сложения, умножения и суперпозиции непрерывных функций одной переменной. Теорема Funahashi (1989): бесконечно большая сеть с единственным скрытым слоем способна аппроксимировать любую непрерывную функцию. Теорема R. Hecht-Nielsen (1990): реализация функции n переменных возможна с использованием сети прямого распространения с n искусственными нейронами в первом скрытом слое, и 2n +1 – во втором скрытом слое.

Описание функции создания многослойной нейронной сети прямого распространения newff:

имя = newff (PR, [S1 S2… SN ], {TF1 TF2… TFN}, BTF, BLF, PF)

 

 


Рис. 5.1

 

Аргументы функции: PR – R× 2 – матрица минимальных и максимальных значений для R входных элементов; Si– число нейронов i-го слоя; TFi – функция активации i-го слоя, по умолчанию " tansig" (гиперболический тангенс); BTF – функция обучения, по умолчанию " traingd" (алгоритм обучения обратного распространения ошибки), BLF – функция настройки весов и смещений, по умолчанию " learngdm" (градиентный алгоритм оптимизации с инерционной составляющей), PF – функция ошибки, по умолчанию «mse» (среднеквадратичная ошибка).

Описание функции создания RBF-сети:

имя = newrb (P, T, goal, spread)

Аргументы функции: P – матрица входных векторов; T – матрица целевых векторов; goal – заданная среднеквадратичная ошибка; spread – разброс функции, по умолчанию 1.0.

 

Порядок выполнения работы


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 1381; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.16 с.)
Главная | Случайная страница | Обратная связь