• главная
  • Карта сайта
  • Контакты

Простое приложение в Matlab для прогнозирования

Страница 1

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

1 function Client1()

a = importdata('GNP.txt')

[b c] = TimeSeries2TrainingSet(a,10,20);

net = newff(b,c,15)

net = train(net,b,c)

p1={[23.1 42.4 49.1 52.7 55.1 60.4 57.5 55.9 62.6 61.3]'}

y=sim(net,p1)

8 end

Строка 1. Заголовок функции. Функция вызывается без параметров ().

Строка 2. С помощью функции Matlab «Importdata» производится считывание из указанного текстового файла 'GNP.txt' временного ряда в матрицу ‘a’.

Строка3. С помощью написанной нами функции «TimeSeries2TrainingSet» вектор a временного ряда преобразуется в обучающее множество нейронной сети в виде матрицы b входных векторов и вектора выходных значений c. При этом нужно указать ширину «скользящего окна» (10) и количество примеров обучающего множества (20). Подробнее функция TimeSeries2TrainingSet будет рассмотрена позже.

Строка 4. С помощью стандартной функции Matlab 'newff' производится построение нейронной сети. В данном варианте вызова функции 'newff' некоторые настроечные параметры не указываются явно и принимают стандартные значения.

Название 'newff' означает, что создается новая сеть прямого распространения (Feed Forward). Такая сеть по умолчанию является двуслойной. При создании сети указываются такие параметры, как обучающее множество b и c, и количество нейронов в скрытом слое (15).

Строка 5. Построенная сеть обучается методом обратного распространения ошибки (Back Propagation)с помощью встроенной функции ‘train'. Как известно, принцип обратного распространения реализован с помощью нескольких конкретных методов. В примере функция ‘train' использует по умолчанию один из наиболее быстрых методов, метод Левенберга-Марквардта. Во время выполнения функции ‘train’ Matlab наглядно демонстрирует процесс и результаты обучения с помощью следующего диалогового окна (Рис.4.1):

Рис. 4.1. Главное окно, отображающее ход обучения и результаты обучения нейронной сети

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

Строка 6. Формируется вектор p1, который на следующем шаге будет подаваться на вход сети.

Строка 7. Функция 'sim' позволяет получить с помощью нейронной сети ее выход при заданном входном векторе.

Функция

TimeSeries2TrainingSet

[inputs outputs] = TimeSeries2TrainingSet(timeSeries, winWidth, exampleCount)

% превращает временной ряд с заданной шириной окна winWidth

% в обучающее множество для нейронной сети, состоящее из exampleCount элементов

in=[]=[]n = 1:exampleCount=timeSeries(n:n+winWidth-1)=[in slice']=[out; timeSeries(1,n+winWidth)]=in=out'

Эта функция преобразовывает временной ряд в обучающее множество нейронной сети, используя принцип «скользящего окна». Ее входом является вектор ‘timeSeries’, а выходом - обучающее множество (матрица inputs и вектор outputs).

Заключение

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

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

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

Рассмотрен классический генетический алгоритм и его модификация (РГА), которая в большей степени подходит для достижения цели работы.

Разработана методика решения задачи прогнозирования временных сетей с помощью сочетания ГА+ИНС, в котором ГА с вещественным кодированием параметров используется как метод обучения многослойной ИНС.

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

Для верификации результатов работы разработаны сценарии на языке MATLAB, позволяющие осуществлять сходные эксперименты с помощью встроенных в MATLAB средств.

Страницы: 1 2

 Меню сайта

  • Главная
  • Подбор торгового персонала
  • Портрет современного менеджера
  • Преодоление стрессов на работе
  • Применение SWOT-анализа
  • Принципы организации
  • Маркетинг: заметки, статьи, материалы

 Производительность труда сотрудника

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

 Процесс коммуникации в организации

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


Вверх

Copyright © 2013 - Все права принадлежат - www.markadvice.ru