Нейросетевое программирование макроєкономики

Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 11:51, реферат

Краткое описание

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

Содержание работы

Введение………………………………………………………………...4
1. Проблемы и их решение ……………………………………………6
2. Принципиальные особенности …………………………………….8
3. Процесс построения комплексной нейросетевой модели……....11
Список источников…

Содержимое работы - 1 файл

Нейросетевое прогнозирование макроэкономики.docx

— 39.28 Кб (Скачать файл)

     Эволюционная  оптимизация набора независимых  переменных

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

     Оптимизацию набора будем проводить с использованием эволюционного поиска или Генетического  Алгоритма (ГА)23. Оптимизация заключается  в минимизации ошибки нейронной  сети24, обученной на основе определенного  набора независимых переменных. Ход  процесса определяют следующие параметры:

     23 Теория эволюционных алгоритмов  достаточно широко освещена в  соответствующей литературе [36-38].

     24 Вычисляется как сумма ошибок  на тестовом и обучающем множествах.

     1) GAEpochCount (100) – максимальное число шагов ГА для каждой зависимой переменной;

     2) GAChromosomeCount (30) – размерность популяции или количество особей (нейронных сетей, обучаемых на каждом шаге ГА);

     3) UseElita (Да) – использование стратегии элитизма генетического отбора;

     4) Crossover_P (0,7-0,9) - определяет вероятность применения операции кроссовера (кроссинговера, скрещивания) для выбранных из популяции особей;

     5) Inversion_P (0,1) – вероятность применения операции инверсии для выбранных из популяции особей;

     6) Mutation_P (0,4) - вероятность применения операции мутации для выбранных из популяции особей;

     7) NETEpochCount (1000) – максимальное количество итераций (эпох) обучения НС на этапе отбора;

     8) TestSetPatternCount (5%) – количество элементов тестовой выборки, которые не участвуют в обучении, но используются для определения качества полученной НС;

     9) NetStructure (FactorCount à 5 à 2 à Forecast) – сложность структуры НС, используемой для оценки набора переменных;

     10) UseAdaptiveAging (Да) – использование возможности изменения количества шагов обучения НС для каждого набора переменных. Если «Да», то максимальное значение шагов настройки НС приравнивается NETEpochCount, в противном случае количество итераций настройки весов НС всегда равняется NETEpochCount.

     Затраты машинного времени на оптимизацию  конкретного набора переменных равны  или меньше25, чем GAEpochCount * GAChromosomeCount * NETEpochCount * T, где T – затраты на один цикл обучения НС, зависящие от значений FactorCount, Forecast, числа связей в структуре НС.

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

     Пост  процессная обработка списка и его  «доводка» 

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

     Построение  нейронных субмоделей

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

     Настройка весовых коэффициентов производится методом Back Propagation с использованием инерционной составляющей. Ключевыми являются следующие параметры обучения: 31

     1) TeachRate (0,1) – параметр нейронной сети, определяющий скорость обучения (насколько сильно веса корректируются после каждой итерации);

     2) Momentum (0,9) – доля инерционной составляющей в величине коррекции весовых коэффициентов;

     3) Alpha (1) – крутизна сигмоиды (активационной функции)

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

     1) MidTeachError – средняя ошибка на обучающем множестве;

     2) MidTestError – средняя ошибка на тестовом множестве;

     3) MaxTeachError – максимальная ошибка на обучающем множестве;

     4) MaxTestError – максимальная ошибка на тестовом множестве.

     В автоматическом режиме процесс обучения контролируется правилами, которые  были описаны в пункте «Автоматический  контроль настройки нейросетевых моделей».  

     Объединение субмоделей и прогнозирование 

     Полученные  нейронные сети объединяются в единую модель, привязанную к одному источнику  данных DataPump. На основе последних доступных  данных (за период AbsolutePeriodCount) для каждой из нейросетевых моделей формируются входные векторы и отображаются в векторы прогнозных значений. В случае если каждая из моделей за один раз вычисляет прогноз больше, чем на один шаг вперед (Forecast > 1), значения пересчитываются по формуле взвешенной средней с учетом заданных весовых коэффициентов. Полученные значения каждого из показателей добавляются к исходным, тем самым увеличивая AbsolutePeriodCount на единицу и позволяя сделать прогноз на еще один шаг вперед. Процесс повторяется до тех пор, пока глубина прогноза не достигнет желаемой величины ForecastDepth.

 

     Список  источников 

     1. Зайченко Ю.П. Основы проектирования интеллектуальных систем // IASA: URL: http://iasa.org.ua/visit.php?lang=rus (2003. 20 окт.)

     2. Костина С., Сучок С. Нейроавтоматное моделирование - новая технология валютного прогнозирования // Банковские технологии - 2002. - №11. - С.19-26.

     3. Ивлиев С., Полушкина Г. Моделирование динамики сложных экономических систем: инструментальное решение // Банковские технологии - 2003. - №3. - С. 22-27.

     4. Research Papers in Economics // Research Papers in Economics: URL: http://ideas.repec.org/ (2003. 10 ноября)

     5. Филлипов Д. Экономический анализ с элементами искусственного интеллекта // ЭЖ-РУСЬ. – 1999. - №31(248) – Август.

     6. Синицын Е. Нейронные сети и финансы // Банковские технологии - 1996. - №1. - C.19-23.

     7. Стариков С. GeneBase // Лаборатория BaseGroup: URL: http://www.basegroup.ru/download/genebase.htm (2003. 11 окт.)

Информация о работе Нейросетевое программирование макроєкономики