Меню
Главная
Авторизация/Регистрация
 
Главная arrow Бухучет и аудит arrow Прогнозирование и планирование в условиях рынка

ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ И ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ПРОГНОЗИРОВАНИИ

ОСНОВНЫЕ ПОНЯТИЯ НЕЙРОННЫХ СЕТЕЙ И КОМПЬЮТЕРНЫЕ ПРОГРАММЫ НЕЙРОСЕТЕВОГО ПРОГНОЗИРОВАНИЯ

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

В 1943 г. американские нейрофизиологи У. Маккалох и У. Питтс сформулировали основные положения теории деятельности головного мозга и разработали математическую модель нейрона. В представлении У. Маккалоха и У. Питтса мозг представляет собой ансамбль нейронов, имеющих одинаковую структуру. Каждый нейрон реализует некоторую пороговую функцию над скалярным произведением взвешенных входных значений. Если значение функции превышает определенную величину — порог (что характеризует суммарную значимость полученной нейроном информации), нейрон возбуждается и формирует выходной сигнал для передачи его другим нейронам. Пройдя путь от рецепторов (слуховых, зрительных и др.) через нейронные структуры мозга до исполнительных органов, входная информация, таким образом, преобразуется в набор управляющих воздействий, адекватных ситуации.

Дальнейшее развитие нейрокибернетика получила в работах американского нейрофизиолога Ф. Розенблатта. Принципы, изложенные в работах У. Маккалоха и У. Питтса, были в 1958 г. воплощены Ф. Ро-зенблаттом в оригинальном устройстве — персептроне «Марк-1», способном распознавать печатные буквы и обучаться на примерах. Персептрон заинтересовал военных, и следующее десятилетие ознаменовалось активными разработками в области нейронных сетей и их технических воплощений. Однако довольно быстро разработчики стали замечать, что применяемая нейросетевая модель (включающая вид входных данных, пороговой функции, структуры сети и алгоритмов обучения) имеет ряд существенных ограничений и не позволяет добиваться приемлемого качества при решении многих практических задач. Так, персептрон весьма чувствителен к поворотам образца, предъявляемого для распознавания.

Американский физик Дж. Хопфилд представил первую ассоциативную сеть (на основе автоассоциативной памяти) в 1982 г. в Национальной академии наук (США). В честь Дж. Хопфилда и нового подхода к моделированию, эта сетевая парадигма упоминается как сеть Хопфилда. Сохранив основные черты базовой модели Макка-лоха — Питтса, Дж. Хопфилд усложнил структуру сети (главное — сделал ее многослойной), разработал новые алгоритмы обучения и доказал, что в таком модифицированном виде сеть способна решать принципиально более сложные задачи, нежели персептрон Ф. Розенблатта. К началу 2000-х гг. было известно уже более десяти различных моделей нейронных сетей (в том числе не только детерминированных, но и вероятностных). Они реализованы в специализированных кристаллах с ультравысоким уровнем интеграции и профессиональных платах, на их основе созданы мощные рабочие станции и суперкомпьютеры. Теория искусственных нейронных сетей в настоящее время проходит этап формирования, что обусловливает разнообразие постановок проблем и основных определений. Исследователи наделяют искусственные нейроны многими свойствами, которые, по их мнению, адекватны функциям биологических нейронов и позволяют получать решение актуальных для исследователя задач.

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

Нейронная сеть обучается путем установления связи между входом и выходом. Необходимо проанализировать, какие виды входных данных влияют на получение желаемого результата. Наличие разнообразных типов данных увеличивает вероятность выявления существенных зависимостей между входными данными и желаемым результатом. Причем лучше иметь несколько малозначимых типов данных, чем иметь их недостаточный объем. Нейронная сеть в процессе обучения сама учтет важные данные и проигнорирует остальные. Другим важным моментом является подготовка достаточного числа примеров, включающих значения входных данных и правильные ответы. Основное правило состоит в том, чтобы иметь число примеров, не превышающее более чем в 10 раз число соединений в нейронной сети. Нейронная сеть оперирует с числовыми значениями входа и выхода. Данные могут быть представлены символами, изображениями и т.д. Поэтому необходима процедура их кодирования и нормализации, приводящая данные к некоторому стандартному диапазону [0; 1] или [—1; 1].

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

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

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

В нейросетевой модели применяется пятишаговый процесс для различных проблем с разным представлением данных. Процесс создания нейросетевой модели включает следующие этапы:

  • 1. Определение пространства признаков. Решение о том, какую входную информацию использовать, и что сетевая модель должна делать.
  • 2. Решение о том, как представлять информацию и сбор ее в виде примеров.
  • 3. Определение нейронной сети.
  • 4. Обучение модели.
  • 5. Тестирование обученной модели.

Нейронные сети можно рассматривать как обобщение традиционных подходов к анализу временных рядов. Нейронные сети дают дополнительные возможности в моделировании нелинейных явлений и распознавании хаотического поведения. Любая зависимость вида X = (%,_!, Х'_2,..., X ) с непрерывной нелинейной функцией/ может быть воспроизведена на многослойной сети. Современные исследования показали, что нейронные сети имеют по сравнению с классическими моделями более высокие потенциальные возможности при анализе сложной динамической структуры и при этом дают лучшие результаты на таких известных типах временных рядов, как стационарные, периодические, трендовые и некоторые другие.

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

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

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

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

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

Рассмотрим рынок нейросетевых программ, который состоит из сегментов групп (табл. 8.1).

Таблица 8.1

Секторы рынка нейросетевых программных продуктов

Сегмент рынка нейропродуктов

Преимущества программных продуктов

Недостатки программных продуктов

Нейропакеты общего назначения

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

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

Системы разработки нейроприложений

Могут использоваться для создания сложных систем обработки данных в реальном времени (или их подсистем]

Требуют навыков программирования, глубокого знания нейросетей

Готовые программные продукты на основе нейросетей

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

Как правило, дорогостояще

Нейросетевой консалтинг

Не предполагает участия пользователя в получении прогнозов. Потенциальная умеренная цена услуг

Отсутствует возможность дополнить предсказания своим ноу-хау. Доступность конфиденциальной информации

  • 1. Нейропакеты общего назначения. Это программные продукты, предназначенные для решения многих задач, в основном — для предсказаний и статистической обработки данных. Большинство из имеющихся на рынке нейропакетов имеет дружественный интерфейс пользователя, не требующий знакомства с языками программирования. Множество нейроэмуляторов начального уровня можно найти в Интернете как shareware или freeware. Это обычно многослойные персептроны с одним или несколькими правилами обучения. Исключение составляет Штутгартский симулятор с большим набором возможностей, работающий, однако, только в профессиональных операционных системах UNIX. Коммерческие пакеты отличаются от свободно распространяемых большим набором средств ввода и предобработки данных, дополнительными возможностями по анализу значимости входных данных и оптимизации структуры сети. Как правило, такие пакеты {BrainMaker Professional, Neuro Forecaster, Jlopa-IQ300) имеют собственный встроенный блок предобработки данных. Нейропакеты нацелены на решение информационных задач в диалоговом режиме — при непосредственном участии пользователя. Они не применимы в условиях потоковой обработки данных. Кроме того, они не приспособлены для разработки сложных систем обработки данных и их подсистем.
  • 2. Системы разработки нейроприложений. Главное, что отличает этот класс программного обеспечения, — способность генерировать «отчуждаемые» нейросетевые продукты, т.е. генерировать программный код, использующий нейросети для обработки данных. Такой код может быть встроен в качестве подсистемы в сложные информационные комплексы. Примерами подобных систем, способных генерировать исходные тексты программ, являются NeuralWorks Professional II Plus фирмы NeuralWare и российская Neural Bench. Удобным инструментом разработки сложных нейросистем является система MAT LAB, использующаяся для синтеза нейросетевых методик с прочими методами обработки данных {wavelet-анализ, статистика, финансовый анализ и т.д.).
  • 3. Готовые программные продукты на основе нейросетей. Это конечный продукт. Здесь нейросети спрятаны от пользователя «в недрах» автоматизированных комплексов, предназначенных для решения конкретных экономических задач. Например, программный продукт Falcon фирмы HNC встраивается в банковскую автоматизированную систему обслуживания платежей по кредитным картам. Аналогичные программные продукты используются в автоматизированных системах управления заводами или ядерными реакторами. Конечного пользователя, как правило, не интересует способ достижения результата, ему важно лишь качество программного продукта. Многие такие продукты обладают уникальными возможностями и обеспечивают их пользователям реальные конкурентные преимущества. Их цена может быть довольно высока, гораздо выше, чем стоимость систем разработки нейроприложений.
  • 4. Нейросетевой консалтинг. Некоторые задачи, например такие, как предсказание конъюнктуры рынков на основе анализа временных рядов, являются весьма сложными. Не каждая компания может позволить себе издержки, связанные с передовыми научными разработками в этой области. Поэтому приобретают популярность фирмы, единственной продукцией которых являются предсказания конъюнктуры рынков. При большом числе клиентов цена таких предсказаний может быть весьма умеренной.

Что касается конкретных программных продуктов, то наиболее популярны из них следующие:

  • NeuroShell 2 — программная среда с понятным интерфейсом, в которой реализованы наиболее распространенные и эффективные нейросетевые процессы. NeuroShell сопровождает целая серия дополнений, которые могут существенно упростить решение ряда специфических задач;
  • GeneHunter — программный пакет, использующий генетические алгоритмы для решения сложных комбинаторных и оптимизационных задач. GeneHunter является надстройкой Microsoft Excel, т.е. пользователь решает свои задачи непосредственно из рабочего листа, содержащего данные. Кроме того, в состав GeneHunter вхо-дит динамическая библиотека функций генетических алгоритмов, что позволяет пользователю создавать системы, использующие генетические алгоритмы;
  • NeuroShell Trader — система, предназначенная для прогнозирования и поиска эффективных торговых стратегий на финансовых рынках. Система ориентирована на трейдеров, инвесторов и участников биржевой торговли. Она настолько проста в использовании и в то же время позволяет решать широкий круг сложнейших задач;
  • NeuroShell S?ri?s — серия программных продуктов, в которых используется алгоритм «самопостроения» нейронной сети, обладающей высокой скоростью обучения. Эти программы чрезвычайно просты в использовании. Теперь пользователь должен сосредоточиться только на формулировке задачи, все остальное программы данной серии сделают сами. В состав серии входят: NeuroShell Predictor (предсказатель), NeuroShell Classifier (классификатор), NeuroShell Run-Time Server (средства автономного использования нейронных сетей).

NeuroShell Predictor лает возможность с легкостью создавать системы для решения задач прогнозирования и предсказания на основе имеющейся базы данных. Это могут быть предсказания следующих значений параметров временного ряда (например, предсказание курса акций) или оценка какой-либо величины, определяемой набором независимых факторов (например, оценка стоимости квартир или подержанных автомобилей). NeuroShell Classifier предназначен для решения задач распознавания образов, связанных с определением принадлежности предъявляемого образа (ситуации) к той или иной категории. Например, по набору биржевых показателей вырабатывать сигнал для покупки или продажи акций той или иной компании. NeuroShell Run-Time ^Server содержит ряд программ, которые позволяют использовать сети, созданные с помощью NeuroShell Predictor и NeuroShell Classifier либо из рабочих листов Microsoft Excel, либо в собственных программах.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы