Лозовой Я.С., Секирин А. И.

Донецкий национальный технический университет г. Донецк

Решение задачи прогнозирования с помощью нейронных сетей

 

Общая постановка проблемы. Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов.

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

Решение задачи и результаты исследования.

Схему решения задачи прогнозирования можно представить в виде последовательности этапов (рис. 1).

Рис. 1 Схема решения задач прогнозирования

Этап предварительных преобразований. Если временной ряд порождается динамической системой, т.е. значения {a(t)} – произвольная функция состояния такой системы, существует такое число d, что d  предыдущих значений временного ряда однозначно определяет следующее значение. На практике большинство прогнозируемых временных рядов порождаются сложными динамическими системами, для которых велико значение d. Кроме того, в самом временном ряде может присутствовать случайная составляющая. Поэтому на данном этапе выполняются предварительные преобразования исходных данных позволяющие уменьшить ошибку прогнозирования.

Рис. 2 Динамика цен на подсолнечник с 2007 по 2010гг

На этапе обучения нейронная сеть восстанавливает целевую функцию по множеству наборов обучающей выборки, т.е. решает задачу интерполяции. На этапе использования обученной нейронной сети (получении прогноза) она будет использовать восстановленную зависимость для получения прогнозируемой величины, т.е. решать задачу экстраполяции. Для корректного решения задачи экстраполяции как задачи интерполяции необходимо обеспечить стационарность временного ряда признаков, распределение значений ряда должно быть инвариантно относительно момента времени, для которого оно построено. Для этого продифференцируем временной ряд: x’i=xi+1-xi (рис. 3).

Рис. 3 Продифференцированный временной ряд

Для улучшения качества и скорости обучения нейронной сети необходимо преобразовать входные данные к диапазону [-1,1]. Формула пересчета значения признака x для i-го примера выборки в интервал [a,b] такова:

,                                                      (1)

где xmin , xmax - минимальное и максимальное выборочные значения признака.

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

Этап структурного синтеза нейронной сети. На данном этапе производится выбор архитектуры сети и структура связей между нейронами. В результате исследований в качестве топологии нейронной сети выбран персептрон с 30 входами (x), 80 нейронами скрытого слоя (s) и одним выходным (y).

Рис. 4 Схема нейронной сети

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов МакКаллока и Питтса. На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют матрицу, которую мы будем обозначать W. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал.

Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерахии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.

Традиционно рассматривается аналоговая логика, при которой допустимые состояния синаптических связей определяются произвольными действительными числами, а степени активности нейронов - действительными числами между 0 и 1. Иногда исследуются также модели с дискретной арифметикой, в которой синапс характеризуется двумя булевыми переменными: активностью (0 или 1) и полярностью (-1 или +1), что соответствует трехзначной логике. Состояния нейронов могут при этом описываться одной булевой переменной. Данный дискретный подход делает конфигурационное пространство состояний нейронной сети конечным (не говоря уже о преимуществах при аппаратной реализации).

 

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

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

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

.                                                                       (2)

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

Активационной функцией нейрона выходного слоя выбрана линейная функция (3).

                                                                                   (3)

Рис. 5 Проверка обученной нейронной сети

Проверка ошибки прогноза на контрольной выборке. Если значение ошибки находится в допустимых пределах, то задача считается решенной, и обученная нейронная сеть используется для получения прогноза. В данном случае ошибка не превышает 4%.

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

 

 

Выводы.

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

Список литературы

1. Крисилов В.А. Чумичкин К.В. Кондратюк А.В. Представление исходных данных в задачах нейросетевого прогнозирования // Конференция "Нейроинформатика 2003". – М.:НАУЧНАЯ СЕССИЯ МИФИ, 2003.с184-191

2. Гитис В.Б. Сопряжение информационных потоков нейросетевой системы нормирования времени механообработки деталей // «Искусственный интеллект». – 2005 №3. с.285

http://iai.dn.ua/public/JournalAI_2005_3/Razdel4/05_Gitis.pdf

3. Шитиков В.К., Розенберг Г.С., Зинченко Т.Д. Нейросетевое моделирование: многослойный персептрон [WWW document]. www.ievbran.ru/kiril/Library/Book1/content394/content394.htm

4. Методы обучения нейросистем [WWW document]. http://zdo.vstu.edu.ru/umk/html/manual/L5_6.html

5. Солдатова О.П., Семенов В.В. Применение нейронных сетей для решения задач прогнозирования// Электронный научный журнал «исследовано в России» http://zhurnal.gpi.ru/articles/2006/136.pdf

6. Иванов М.Н. Анализ роста курса акций с применением нейронных сетей. //Труды VIII Всероссийской конференции «Нейрокомпьютеры и их применение». – 2002. c.756-772.