Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебн. пособ. Сахарок.doc
Скачиваний:
50
Добавлен:
11.11.2018
Размер:
12.14 Mб
Скачать

3. Оценка погрешности нейронной модели. Для оценки используется функция моделирования, где в скобках, согласно синтаксису, приводятся сеть и входной сигнал:

Z=sim(net,X);.

Визуальная оценка может производиться по графикам выхода модели и объекта Z и Y:

plot(i,Y,'*',i,Z),grid

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

4. Решение конкретной прикладной задачи.

Следует иметь ввиду, что качество построения нейронной модели зависит от свойств моделируемого объекта. Это означает, что процесс обучения в общем случае зависит от начального приближения. Если процесс обучения сходится к локальному оптимуму, при котором погрешность воспроизведения Z в сравнении с Y слишком велика, процесс обучения следует повторить. Иногда эта операция может повторяться многократно, до получения требуемого результата. К использованию модели можно приступать только в случае эффективного завершения процесса обучения [25],[48].

    1. Моделирование уровней воды в водной коммуникации на основе нейронных сетей

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

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

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

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

Большой практический интерес представляет возможность моделирования уровней воды в реке, состоящей из нескольких притоков со сложной топологической структурой и гидрологическими постами, расположенными на значительных расстояниях (со временем «добегания» воды в несколько суток). В этом случае по отметкам уровней постов, расположенных на притоках в верховьях реки, с помощью модели представилась бы возможность не только оценивать, но и предсказывать глубины судоходного фарватера при прогнозе на 4…6 суток и более. Однако попытка составить такую модель для реки с несколькими притоками и расстояниями между гидравлическими постами в несколько сотен километров традиционными методами не привела к положительным результатам. Созданные математические модели смогли найти лишь ограниченное применение на практике. Причина состояла в том, что модель оказалась сложной, а учет нелинейных зависимостей между переменным состояния с помощью регрессионных моделей только по данным отметок уровней оказался практически невозможным.

В последние несколько лет наблюдается повышенный интерес к приложениям нейронных сетей, которые стали успешно применяться в самых различных областях - бизнесе, медицине, технике, геологии, физике. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, распознавания образов, классификации или управления. Такой впечатляющий успех определяется несколькими причинами. В частности, нейронные сети составляют исключительно мощный фундамент для моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости, поскольку нейронные сети нелинейны по свой природе. На протяжении многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна (а их достаточно много), линейные модели работают плохо. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать линейные зависимости в случае большого числа переменных.

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

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

Рассматривая принципы построения моделей на нейтронных сетях, мы обратили внимание на сеть Хопфилда, являющуюся моделью ассоциативной памяти. Это однослойная рекуррентная сеть без петель. Ее элементы связаны по принципу «каждый с каждым», без введения связи «сам на себя». Для описания динамики поведения этой сети используется понятие энергии, которая является функцией выходных сигналов нейронов и их весовых коэффициентов. В процессе функционирования сети уменьшается ее энергетическая функция. Устойчивые состояния модели находятся в точках минимума энергии, так что из любого начального состояния сеть приходит к минимуму функции энергии. Таким образом, процессы, происходящие в нейронной сети, в определенной степени аналогичны процессам в естественных коммуникационных сетях.

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

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

Предположем, что для составления регрессионной модели получены данные измерений на гидрологических постах и сформирована матрица Х размерностью (6х138), а также вектор Y, являющийся выходной координатой модели и имеющий размерность (1х138). В приведенном фрагменте программы p = X и t =Y.

В файле `sah218.m` используется процедура нормализации данных, реализуемая с помощью функции prestd (p,x). В результате получаются основные компоненты преобразования в виде нормализованных данных, формируется и обучается нейронная сеть, а затем моделируется технологический процесс изменения отметок уровней на выходе, согласно выходным данным. Наконец, с помощью функции poststd выход сети вновь приводится к экспериментальным данным (аннормализуется) и определяются параметры регрессии (m,b,r), оцениваемые посредством функции postreg (a,t). Результатом моделирования является координата а, воспроизводящая реальный процесс t.

Ниже приводятся текст фрагмента файла `sah218.m` и результаты расчета, представленные (2х138) – матрицей, где в первой строке помещаются экспериментальные данные в виде гипотетического временного ряда, а во второй – модельные значения выходной переменной.

% Фрагмент файла 'sah218.m',составленного

% для получения регрессионной нейронной

% модели уровней воды в реке.

% Время навигации условно принято составляющим 138 дней.

% Входные сигналы - отметки уровней в контрольных

% постах шести притоков в виде матрицы

% размерности 6х138. Выход - отметки уровней

% в контрольной точке, расположенной в основном

% русле реки. Размерность вектора 1х138.

% Время "добегания" потока воды - несколько дней.

%==============================================

p=X; % Матрица входов (6х138).

t=Y; % Вектор выхода (1х138).

[pn,meanp,stdp,tn,meant,stdt]=prestd(p,t);

[ptrans,transMat]=prepca(pn,0.00002);

net=newff(minmax(ptrans),[26,1],{'tansig' 'purelin'},'trainlm');

net=train(net,ptrans,tn);

an=sim(net,ptrans);

a=poststd(an,meant,stdt);

[m,b,r]=postreg(a,t);

i=1:138;

plot(i,t,i,a,'.'),grid

Первая строка – эксперимент,

вторая строка – модель.

>> [t;a] (матрица содержит данные измерений и моделирования)

>>

Рис. 8.1.Нейронная регрессионная модель отметок уровней воды