- •Введение
- •Глава 1. Теория инженерного эксперимента
- •Лабораторная работа №1. Расчет вероятностных характеристик случайной величины по известному закону ее распределения
- •Лабораторная работа №2 Построение и анализ распределения случайной величины по ее выборке
- •1. Постановка задачи:
- •Лабораторная работа №3 Построение и анализ уравнения одномерной регрессии
- •Лабораторная работа №4 Обработка полного факторного эксперимента.
- •Лабораторная работа 5 Экспериментальная оптимизация объекта методом Бокса-Уилсона
- •Лабораторная работа 6 Построение динамической модели объекта по кривой отклика на ступенчатое возмущение
- •Лабораторная работа 7 Анализ динамических характеристик стохастического объекта
- •Лабораторная работа 8 Определение импульсной переходной функции технологического объекта по данным текущей его эксплуатации
- •2. Описание задачи. Весовая функция является важной динамической
- •Задание к лабораторной работе
- •Лабораторная работа № 9 Нейросетевые методы построения регрессионных моделей
- •9.1. Принцип построения нейросетевой модели
- •9.2. Методика моделирования с помощью пакета Neuropro
- •9.2.1 Описание главного меню программы
- •9.2.2 Методика построения нейросетевой модели в среде Neuropro
- •9.3. Задание к лабораторной работе
Лабораторная работа № 9 Нейросетевые методы построения регрессионных моделей
В практике математического моделирования технологических процессов используются два основных подхода: теоретический и формальный. Одним из формальных методов математического моделирования является нейросетевой метод. В эту группу входят также методы конечных автоматов, экспериментально-статистические (регрессионные), интерполяционные, булевы и т.д. Характерная черта формального подхода заключается в абстрагировании от внутренней структуры объекта и тех законов, которым подчиняются протекающие в нем физико-химические процессы. Объект рассматривается как «черный ящик», у которого доступны для наблюдения лишь входные и выходные параметры. Построение модели осуществляется на базе формального принципа и соответствующего математического аппарата с использованием результатов измерений.
Нейросетевые модели широко используются для решения таких задач, как моделирование технологических процессов, прогнозирование временных рядов, распознавание образов, классификация объектов и т.д. Достоинствами нейросетевых моделей в сравнении с другими методами моделирования являются: 1) возможность обработки многофакторного эксперимента с большим количеством факторов; 2) многофункциональность модели, т.е. с помощью одной модели моделируется несколько многомерных функций; 3) с помощью нейронной сети можно реализовать нелинейные функции любой сложности.
Для построения и применения этих моделей разработано большое количество программных продуктов и пакетов, которые упрощают их использование. В качестве примера можно назвать такие нейропакеты, как NeuroPro, NeuroOficce, NeuroShell и т.д. В данной работе рассматриваются нейросетевые методы обработки экспериментальных данных.
9.1. Принцип построения нейросетевой модели
Понятие нейронной сети. Нейросетевая модель (НСМ), как и любая математическая модель, осуществляет функциональное преобразование вектора входных независимых переменных x в вектор выходных переменных y=f(x) (рис.1.6). Нейросетевое моделирование относятся к методам систем искусственного интеллекта.
Нейросетевая модель по своей структуре и способу переработки информации имитирует работу головного мозга. Мозг человека состоит из сети множества нейронов, соединенных между собой нервными волокнами, способных передавать электрические импульсы от нейрона к нейрону. Импульсы, поступившие к нейрону по нескольким волокнам от источников возмущения, взвешенно суммируются и, если суммарный сигнал превышает некоторый порог, нейрон возбуждается, формирует собственный сигнал и передается его далее по сети. В результате такой последовательно-параллельной переработке исходной информации на выходе нейронной сети человек получает какой-то образ явления. К примеру, человек услышал звук и в его мозгу родился образ самолета. Нейросетевая структура позволяет мозгу легко приспосабливаться к меняющимся условиям, обучаться и т.д.
Рис.1.6. функциональная схема нейросетевой модели
Нейросетевая модель объектов различной природы это сеть определенной структуры, в узлах которой находятся формальные нейроны. К настоящему времени разработано большое количество моделей нейронных сетей. Основным «решающим» элементом системы является искусственный (формальный) нейрон (рис.1.7).
Рис.1.7. Структурная схема одного нейрона
Нейрон выполняет две основные функции – взвешенное суммирование поступивших сигналов и их преимущественно нелинейное преобразование.
(1.52)
Коэффициенты суммирования wk называются синаптическими весами, они изменяются в пределах [-1,1], нелинейная функция f(s) - функцией активации нейрона, bk – константа смещения функции активации, k - номер нейрона, x – входы, j – номер входа, y – выход нейрона. Такая схема в общих чертах отражает функционирование нейрона головного мозга: функция активации моделирует возбуждение нейрона, а весовые коэффициенты при входных координатах соответствуют обработке в синапсах нейрона. Выходной сигнал формируется на единственном выходе, который в нейрофизиологии называется аксоном.
Наиболее часто для описания активации нейрона используются следующие нелинейные функции:
сигмоидные функции
;
a>0;
0<f(S)<1,
(1.53)
;
a>0;
-1<f(S)<1
(1.54)
где а – параметр крутизны сигмоиды;
гиперболический тангенс
;
a>0;
-1<f(S)<1,
(1.55)
где а – параметр крутизны функции активации.
Функция активации ограничивает амплитуду выходного сигнала в диапазоне [0,1] или [-1,1]. Если функция активации отсутствует, то нейрон производит линейное преобразование входных переменных.
Построение нейросетевой модели осуществляется в несколько этапов, алгоритм построения может быть представлен блок-схемой, приведенной на рис. 1.8.
Рис.1.8. Алгоритм построения нейросетевой модели
Подготовка исходных данных. Наиболее важным этапом построения НСМ является подготовка базы данных, необходимых для обучения и тестирования нейронной сети. Для обучения и тестирования нейронной сети задаются как значения входных переменных объекта, так и соответствующие им значения выходных переменных, полученных либо экспериментальным, либо расчетным путем. К исходным, в особенности экспериментальным данным, предъявляются следующие требования.
1. Входные переменные x1, x2, …xn должны быть независимыми параметрами, ошибка их измерения должна быть пренебрежимо малой.
2. Выходные переменные y1, y2, … ym, полученные экспериментальным путем, могут содержать случайные ошибки.
3. Входные и выходные параметры должны быть не противоречивыми. Для экспериментальных данных это означает, что в качестве исходных данных нельзя использовать результаты параллельных опытов.
Исходные данные, используемые для обучения и тестирования, представляются в табличной форме, столбцы которой соответствуют значениям входных и выходных данных нейронной сети. Затем база данных разбивается на два непересекающихся подмножества: обучающее и тестовое. Обучающее подмножество используется на стадии обучения, а тестовое – на стадии тестирования нейронной сети.
В некоторых нейронных пакетах построенная база данных может быть непосредственно использована в программе. Однако для получения лучших результатов рекомендуется проводить предварительную обработку исходных данных. Процесс предобработки состоит из этапов: 1) статистического анализа, 2) нормирования исходных данных. В зависимости от задачи и типа исходных данных предобработка включает в себя разное сочетание указанных этапов.
Статистическая обработка необходима для оценки ошибки эксперимента: рассчитываются средние и дисперсии выходных параметров параллельных опытов, средние параллельных опытов включаются в таблицу исходных данных, а дисперсии используются для проверки их однородности по критерию Кохрена для исключения грубых ошибок эксперимента.
Нормирование переменных проводится для того, чтобы все компоненты входного вектора можно было сопоставить между собой по абсолютной величине. Оно заключается в переходу к безразмерным переменным, лежащим в интервале [0,1] или [-1,1]. Для представления данных в области [-1,1] применяется следующее преобразование исходных переменных z в нормированные переменные x.
(1.56)
(1.57)
,
(1.58)
где z0 – середина исходного интервала, Δz – интервал варьирования переменной между серединой и границей.
Для любого другого интервала нормированной переменной [a,b] преобразование осуществляется по формуле
.
(1.59)
Что касается выходных переменных y, то смысловой необходимости в их преобразовании к нормированному виду нет, но иногда такое требование может быть установлено конкретной нейросетевой программой
Выбор архитектуры сети. Нейроны группируются в нейронные слои и образуют нейронную сеть, при этом существует большое количество способов объединения нейронов в сеть. Нейроны в сетях расположены слоями. В зависимости от характера распространения информации сети подразделяются на однонаправленные с последовательно-параллельными связями (многослойные персептроны) и реккурентные (сети Хопфилда, Кохонена и т.д.), имеющие также и обратные связи.
Наибольшее распространение в практике получили многослойные персептроны. Сети этого типа состоят из нескольких слоев: входного, выходного и нескольких промежуточных (скрытых) слоев (пример на рис.1.9). Нейроны входного слоя не осуществляют преобразования входных сигналов, их функция заключается в распределении этих сигналов между нейронами первого скрытого слоя. Нейроны как входного, так и скрытого слоя не связаны между собой, при этом выходной сигнал с каждого нейрона поступает на входы всех нейронов следующего слоя. Нейроны выходного слоя осуществляют только взвешенное суммирование входных сигналов.
Рис.1.9. Схема персептрона типа 3-2-1
Функционирование нейронной сети осуществляется следующим образом: входной сигнал, подаваемый на сеть, поступает на нейроны входного слоя, после чего сигнал проходит по очереди через все слои и снимается с выходов нейронов выходного слоя. По мере распространения сигнала по сети он претерпевает ряд преобразований, которые зависят от его начального значения и числа слоев, нейронов в слое, функций активации и величин синаптических весов.
Количество слоев и количество нейронов в слое задается пользователем, исходя из заданной точности прогноза. К выбору архитектуры слоя относится выбор типа сети, числа скрытых слоев и нейронов в слое. Обычно программа предлагает типовую сеть, которая впоследствии уточняется.
Обучение нейронной сети. После выбора архитектуры сети решается задачи обучения сети, которое проводится на задачнике – наборе векторов данных. В каждом векторе данных выделены входные и выходные сигналы. Обучение сети строится как поиск значений параметров сети (синаптических весов), обеспечивающих минимум функции невязки между ответом сети и заданными значениями выходных переменных.
В качестве меры расхождения расчетных yp и исходных (табличных) ye данных используются разные критерии, из которых наибольшее распространение получила сумма квадратов их отклонений.
(1.60)
Для решения задачи обучения (параметрической идентификации) используется метод обратного распространения ошибки в сочетании с каким-то методом оптимизации.
Скорость обучения нейронной сети во многом зависит от требуемой точности решения задачи. Так, не следует требовать от нейронной сети точности, превышающей точность измерения данных, или точности, многократно превосходящей удовлетворяющую нас. Скорость обучения сети также зависит и от алгоритмов обучения. В программе реализованы градиентные методы обучения, для которых градиент функции оценки по настраиваемым параметрам вычисляется по принципу двойственности. Успешность обучения сети зависит от двух факторов. В первую очередь, задачник должен быть непротиворечив, т.е. в задачнике не должны присутствовать вектора данных, у которых входные сигналы одинаковы, а выходные - разные. Нейронная сеть не может обучиться решению таких противоречивых задач.
Для успешного обучения требуется такая нейронная сеть, число слоев и нейронов которой достаточно для решения задачи. Однако, невозможно сразу же подобрать такую структуру сети, которая может решить задачу. Поэтому начинают обычно с предлагаемой программой структуры, а затем, если сеть не может обучиться (и задачник непротиворечив), пробуют обучать сети с увеличенным числом нейронов или слоев. Если же исходная сеть обучается, то можно попытаться упростить ее и получить архитектуру сети, минимально необходимую для данной задачи.
После определения значений синаптических весов, нейросетевая модель считается готовой к использованию, т.е. к собственно моделированию.
Упрощение нейронных сетей. Использование метода двойственности позволяет достаточно просто получать показатели значимости входных сигналов и элементов сети – по существу, вычисленные в линейном приближении абсолютные величины изменения функции оценки при удалении из сети элемента или входного сигнала. Эти показатели значимости усредняются по всем векторам задачника и по нескольким точкам в пространстве настраиваемых параметров. Ранжируя входные сигналы и элементы сети по показателям значимости, можно получить наборы входных сигналов и элементов, исключение которых почти не ухудшит точность решения задачи. Исключая из сети эти наименее значимые входы и элементы и доучивая сеть, можно получить нейронную сеть с минимальным набором входных сигналов и элементов, правильно решающую задачу. Упрощение нейронной сети на основе вычисленных показателей значимости позволяет отсеять малозначимые, "шумовые" входные сигналы, и оставить элементы, действительно необходимые для правильного решения задачи.
