![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ИССЛЕДОВАНИЕ НЕЧЕТКИХ И НЕЙРОСЕТЕВЫХ СИСТЕМСтр 1 из 4Следующая ⇒
ИССЛЕДОВАНИЕ НЕЧЕТКИХ И НЕЙРОСЕТЕВЫХ СИСТЕМ
Методические указания к лабораторным работам
Санкт-Петербург Издательство СПбГЭТУ " ЛЭТИ"
УДК 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) подлежат операции фаззификации, в результате которой реальным значениям переменных ставятся в соответствие нечеткие множества, т. е. фаззификация - это процедура определения степени принадлежности Блок правил состоит из множества нечетких условных высказываний (нечетких правил): Ri: если где i = В блоке вывода определяется нечеткое управляющее воздействие по заранее сформулированным в блоке правил нечетким правилам посредством композиционного правила вывода. Схема нечеткого логического вывода: посылка 1 (импликация): посылка 2 (условие): ------------------------------------------------ следствие: v есть В'. Композиционное правило нечеткого вывода
где Функция принадлежности (ФП) результата нечеткого вывода Если в посылке 2 входные нечеткие множества синглтоны, а в качестве импликации используется импликация Мамдани, то ФП результата нечеткого вывода i-го нечеткого правила
Если применяется импликация Ларсена, то ФП - В дефаззификаторе вычисляется четкое (детерминированное) управляющее воздействие на основе результата нечеткого вывода (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 выбрать команду Membership 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: е, dе, 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.
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), Схема нечеткого логического вывода: посылка 1 (импликация): посылка 2: ----------------------------------------------------------------------------------------- следствие: v есть v’. Нечеткие правила для алгоритма Такаги - Сугено нулевого порядка задаются на основе условных высказываний вида если Четкое (детерминированное) управляющее воздействие определяется по формуле средневзвешенного значения Программа работы 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 =
Рис. 4.1
С помощью ИН можно моделировать ряд функций, например [5], как показано на рис. 4.2, а – в, логические функции " и", " или", " не". Функция " и" имеет значение 1, если оба входа равны, в противном случае – 0. Поэтому, если заданы оба входа (вектор r = (1, 1)), то, используя пороговую функцию активации f(s) =
Функция для создания перцептрона, реализующего логические операции. Описание – 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 – матрицы весовых коэффициентов скрытого и выходного слоев соответственно, Теоретические основы доказательства аппроксимирующихсвойств нейронных сетей заложены в работах А. Н. Колмогорова, В. И. Арнольда, 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; Просмотров: 1429; Нарушение авторского права страницы