Раздел: Технические наукиПрогнозирование на основе аппарата нейронных сетейПРОГНОЗИРОВАНИЕ НА ОСНОВЕ АППАРАТА НЕЙРОННЫХ СЕТЕЙ АННОТАЦИЯ В данной дипломной работе разработан оригинальнй подход к проблеме прогнозирования, на основе нейронных сетей. При помощи нейронной сети основанной на алгоритме обратного функционирования, были спрогнозированы изменения курса доллара США по отношению к украинскому карбованцу. Эксперимент дал хорошие результаты по достоверности. Разработанна модель прогнозирования может быть применена и при прогнозировании других экономических показателей. ANNOTATION In this diploma work the original approach to forecasting problem is developed. This approach based of neural nets modeling. By the book propogation neural net, relative change rate for USD/UKB was predicted. The elaboration was successful and profitable. The model developed for problem discussed may be successfuly used of a number of management solution forecasting. СПИСОК СОКРАЩЕНИЙ ВТ - вычислительная техника; ИИ - искусственный интеллект; ЦУ - цифровое устройство; ЭС - экспертная система; НС - нейронная сеть; ИК - изменение курса; ОИК - относительное изменение курса; ОИК в % - относительное изменение курса в процентах; DM - немецкая марка; SUR - российский рубль; USD - американский доллар; UKB - украинский карбованец. ПЕРЕЧЕНЬ ГРАФИЧЕСКИХ МАТЕРИАЛОВ 1. Модель нейрона и виды переходной функции. 2. Модели нейронных сетей. 3. Схема обучения НС с обратным функционированием. 4. Относительное изменение курса за 1995г. 5. Курс доллара и его прогноз за 1995г. 6. График взаимосвязи спроса и предложения доллара. СОДЕРЖАНИЕ ВВЕДЕНИЕ ПРОГНОЗИРУЮЩИЕ СИСТЕМЫ. СОСТОЯНИЕ ПРОБЛЕМЫ 1.1. Прогноз и цели его использования 1.2. Основные понятия и определения проблемы прогнозирования 1.3. Методы прогнозирования 1.4. Модели временных последовательностей 1.5. Критерии производительности ВЫВОДЫ 2. НЕЙРОННЫЕ СЕТИ. СОСТОЯНИЕ ПРОБЛЕМЫ 2.1. Нейронные сети - основные понятия и определения 2.2. Модели нейронных сетей 2.2.1. Модель Маккалоха 2.2.2. Модель Розенблата 2.2.3. Модель Хопфилда 2.2.4. Модель сети с обратным распространением 2.3. Задачи, решаемые на основе нейронных сетей 2.4. Способы реализации нейронных сетей ВЫВОДЫ 3. ПРОГНОЗИРОВАНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ 3.1. Общий подход к прогнозированию с помощью нейронных сетей 3.2. Применение нейронных сетей в финансовой сфере ВЫВОДЫ 4. НЕЙРОННЫЕ СЕТИ, ОСНОВАННЫЕ НА МЕТОДЕ ОБРАТНОГО ФУНКЦИОНИРОВАНИЯ 4.1. Обучение нейронных сетей 4.2. Алгоритм обратного распространения 4.2.1. Идея создания алгоритма обратного распространения 4.2.2. Описание НС и алгоритма обратного распространения 4.2.3. Современная оценка алгоритма обратного распространения ВЫВОДЫ 5. ПРОГНОЗИРОВАНИЕ КУРСА UKB/USD 5.1. Общий подход к прогнозированию курса UKB/USD 5.2. Описание экспериментов ВЫВОДЫ ЗАКЛЮЧЕНИЕ ЛИТЕРАТУРА ПРИЛОЖЕНИЯ ПРИЛОЖЕНИЕ 1. Еженедельные продажи режущего инструмента ПРИЛОЖЕНИЕ 2.1 Результаты экспериментов 14-18 ПРИЛОЖЕНИЕ 2.2 Результаты экспериментов 19-21,34,35 ПРИЛОЖЕНИЕ 2.3 Результаты экспериментов 36-38 ПРИЛОЖЕНИЕ 3. Результаты прогноза UKB/USD ВВЕДЕНИЕ Целью данной работы является разработка методов прогнозирования основанных на нейронных сетях (НС) , которые может быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений. Эти методы анализируют исторические данные о переменной с целью оценить ее будущее изменение. Для достижения указанной цели необходимо решить следующие задачи: провести анализ проблемы прогнозирования; провести сравнительный анализ известных моделей НС; выбрать модель, обеспечивающую эффективное решение задачи прогнозирования; провести исследование предложенной модели; реализовать тестовый пример для выбранной модели. Основное содержание работы: Во введении сформулирована цель и основные задачи исследования, изложены основные положения разделов работы. В первой главе мы обсуждаем некоторые общие аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы, касающиеся разработки прогнозирующих систем. Во второй главе мы обсуждаем известные модели НС: модель Маккалоха и Питтса; модель Розенблата; модели Хопфилда и Больцмана; модель на основе обратного распространения. Рассмотрена структура и особенности каждой из моделей. Перечислены основные задачи решаемые на основе НС, описаны способы реализации НС. Проведен анализ известных моделей НС с точки зрения решения задачи прогнозирования. В третьей главе описан способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере. В четвертой главе мы приводим детальное описание метода обратного распространения - способа обучения многослойных НС. Подробно описана НС для распознавания рукописных цифр и процесс ее обучения. В главе также проведена современная оценка метода обратного распространения. В пятой главе описаны эксперименты по прогнозированию курса американского доллара по отношению к украинскому карбованцу (UKB/USD) . Сначала описаны задачи исследования и общая структура экспериментов. Далее описаны проделанные эксперименты, при этом подробно перечислены особенности каждого из них. Для экспериментов, которые показали удовлетворительные результаты обучения (сеть распознала не менее 80% образов, на которых обучалась) в приложениях приведены таблицы с подробным описанием результатов по каждому образу, который распознавался. Завершается работа заключением, в котором сделаны основные теоретические и практические выводы, указана перспектива дальнейших исследований, а также приведены список использованной литературы и приложения. - ЗАКЛЮЧЕНИЕ В данной работе разработан ряд методов прогнозирования основанных на нейронных сетях (НС) , которые могут быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений. В работе обсуждены аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы касающиеся разработки прогнозирующих систем, На основании анализа известных моделей НС: модели Маккалоха и Питтса; модели Розенблата; модели Хопфилда и Больцмана; модели на основе обратного распространения, для реализации прогнозирующей системы было предложено применение модели на основе обратного распространения. Предложен способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере, показывающий эффективность применения НС для прогнозирования. Разработан тестовый пример для предложенного метода на основании прогнозирования курса USD/UKB. Проведенные в данной предметной области эксперименты показали высокую точность прогнозирования. На основании проделанных экспериментов возможно построение программного продукта для прогнозирования курсов валют даже в условиях нестабильного состояния современной украинской экономики. В целом мы считаем результаты работы тем базисом, на основании которого возможно построение универсального прогнозирующего комплекса, являющегося составной частью общей системы управления. 1. ПРОГНОЗИРУЮЩИЕ СИСТЕМЫ. СОСТОЯНИЕ ПРОБЛЕМЫ В данной главе мы обсуждаем некоторые общие аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы, касающиеся разработки прогнозирующих систем.
Прогнозирование - это ключевой момент при принятии решений в управлении. Конечная эффективность любого решения зависит от последовательности событий, возникающих уже после принятия решения. Возможность предсказать неуправляемые аспекты этих событий перед принятием решения позволяет сделать наилучший выбор, который, в противном случае, мог бы быть не таким удачным. Поэтому системы планирования и управления, обычно, реализуют функцию прогноза. Далее перечислены примеры ситуаций [44], в которых полезно прогнозирование. Управление материально-производственными запасами. В управлении запасами запасных частей на предприятии по ремонту самолетов совершенно необходимо оценить степень используемости каждой детали. На основе этой информации определяется необходимое количество запасных частей. Кроме того, необходимо оценить ошибку прогнозирования. Эта ошибка может быть оценена, например, на основе данных о времени, которое понадобилось для доставки деталей, которых не было на складе. Планирование производства. Для того, чтобы планировать производство семейства продуктов, возможно, необходимо спрогнозировать продажу для каждого наименования продукта, с учетом времени доставки, на несколько месяцев вперед. Эти прогнозы для конечных продуктов могут быть потом преобразованы в требования к полуфабрикатам, компонентам, материалам, рабочим и т.д. Таким образом на основании прогноза может быть построен график работы целой группы предприятий. Финансовое планирование. Финансового менеджера интересует, как будет изменяться денежный оборот компании с течением времени. Менеджер, может пожелать узнать, в какой период времени в будущем оборот компании начнет падать, с тем, чтобы принять соответствующее решение уже сейчас. Разработка расписания персонала. Менеджер почтовой компании должен знать прогноз количества обрабатываемых писем, с тем чтобы обработка производилась в соответствии с расписанием персонала и производительностью оборудования. Планирование нового продукта. Решение о разработке нового продукта обычно требует долговременного прогноза того, каким спросом он будет пользоваться. Этот прогноз не менее важен, чем определение инвестиций необходимых для его производства. Управление технологическим процессом. Прогнозирование также может быть важной частью систем управления технологическими процессами. Наблюдая ключевые переменные процесса и используя их для предсказания будущего поведения процесса, можно определить оптимальное время и длительность управляющего воздействия. Например, некоторое воздействие в течение часа может повышать эффективность химического процесса, а потом оно может снижать эффективность процесса. Прогнозирование производительности процесса может быть полезно при планировании времени окончания процесса и общего расписания производства. На основании вышеизложенного можно сказать, что прогнозирование - это предсказание будущих событий. Целью прогнозирования является уменьшение риска при принятии решений. Прогноз обычно получается ошибочным, но ошибка зависит от используемой прогнозирующей системы. Предоставляя прогнозу больше ресурсов, мы можем увеличить точность прогноза и уменьшить убытки, связанные с неопределенностью при принятии решений. Заметим, что концептуальная модель основана на асимптотическом снижении убытков при использовании результатов прогнозирования. Таким образом, каждый дополнительный доллар, потраченный на прогнозирование дает меньшее снижение риска убытков, чем предыдущий. За некоторой точкой, дополнительные затраты на прогнозирование могут вовсе не приводить к снижению потерь. Это связано с тем, что невозможно снизить среднюю ошибку прогнозирования ниже определенного уровня, вне зависимости от того насколько сложен примененный метод прогнозирования. Поскольку прогнозирование никогда не сможет полностью уничтожить риск при принятии решений, необходимо явно определять неточность прогноза. Обычно, принимаемое решение определяется результатами прогноза (при этом предполагается, что прогноз правильный) с учетом возможной ошибки прогнозирования. Сказанное выше предполагает, что прогнозирующая система должна обеспечивать определение ошибки прогнозирования, также как и само прогнозирование. Такой подход значительно снижает риск объективно связанный с процессом принятия решений. Необходимо отметить, что прогнозирование это не конечная цель. Прогнозирующая система это часть большой системы менеджмента и как подсистема, она взаимодействует с другими компонентами системы, играя немалую роль в получаемом результате. 1.2. Основные понятия и определения проблемы прогнозирования Необходимо отметить, что мы рассматриваем прогнозирование в целях планирования производства или управления запасами. Таким образом, наш интерес лежит в определении будущих продаж продукта, или использовании материалов. Обычно мы будем ссылаться на интересующую нас переменную, как на "требование". Конечно, только такое применение предложенных методов не обязательно и прогнозирование быть проведено для каких-либо других целей и включать другие типы переменных. Однако, предполагая именно такую направленность, мы сформулируем специальные комментарии, описывающие общие принципы решения проблемы прогнозирования. Сформулированные принципы могут быть применены при прогнозировании в других целях. Для того чтобы определить проблему прогнозирования, рассмотрим ее подробнее. Результаты прогнозирования используются для поддержки принятия решений. Следовательно, природа принимаемых решений определяет большинство желаемых характеристик прогнозирующей системы. Изучение решаемой проблемы должно помочь ответить на вопросы о том, что нужно прогнозировать, какую форму должен принять прогноз, какие временные элементы включаются и какова желательная точность прогноза. При определении того, что нужно прогнозировать, мы указываем переменные, которые анализируются и предсказываются. Здесь очень важен требуемый уровень детализации. Система проектирования производства может требовать прогноз требуемого количества продукции в единицах по каждому виду конечного продукта производимого предприятием и прогноз по запасным частям для оборудования предприятия. С другой стороны, менеджер по продаже может потребовать только прогноз общей суммы продажи продукта в долларах, для определения вклада в бюджет. В первом случае прогнозирование построено на единичном базисе, во втором случае прогнозирование построено на обобщенном базисе. Пока от нас требуется результирующая информация первого или второго типа нельзя однозначно выбрать анализируемые переменные. При планировании производства мы можем прогнозировать на некотором обобщенном уровне, например, на уровне семейства продуктов и потом разбить обобщенный прогноз до единичного уровня, используя дополнительные расчеты. При прогнозировании общей суммы продаж в долларах, мы можем прогнозировать продажу по каждому из продуктов, скажем того же семейства продуктов, результат преобразовать в доллары, используя предсказанные цены и потом оценить общий уровень продаж в долларах. На используемый уровень детализации влияет множество факторов: доступность и точность данных, стоимость анализа и предпочтения менеджера. В ситуациях, когда наилучший набор переменных неясен, можно попробовать разные альтернативы и выбрать один из вариантов, дающий наилучшие результаты. Обычно так осуществляется выбор при разработке прогнозирующих систем, основанных на анализе исторических данных. Второй важный этап при построении прогнозирующей системы - это определение следующих трех параметров: периода прогнозирования, горизонта прогнозирования и интервала прогнозирования. Период прогнозирования - это основная единица времени, на которую делается прогноз. Мы можем пожелать знать требование на продукт через неделю. В этом случае период - неделя. Горизонт прогнозирования - это число периодов в будущем, которые покрывает прогноз. То есть, нам может понадобиться прогноз на 10 недель вперед, с данными по каждой неделе. В этом случае период неделя, а горизонт - 10 недель. Наконец, интервал прогнозирования - частота, с которой делается новый прогноз. Часто интервал прогнозирования совпадает с периодом прогнозирования. В этом случае прогноз пересматривается каждый период, используя требование за последний период и другую текущую информацию в качестве базиса для пересматриваемого прогноза. Если горизонт всегда имеет одну и ту же длину (Т-периодов) и прогноз пересматривается каждый период, говорят что мы работаем на основе движущего горизонта. В этом случае, мы репрогнозируем требование для Т-1 периода и делаем оригинальный прогноз для периода Т. Выбор периода и горизонта прогнозирования обычно диктуется условиями принятия решений в области, для которой производится прогноз. Для того, чтобы прогнозирование имело смысл, горизонт прогнозирования должен быть не меньше, чем время, необходимое для реализации решения принятого на основе прогноза. Таким образом, прогнозирование очень сильно зависит от природы принимаемого решения. В некоторых случаях, время, требуемое на реализацию решения не определено, например, как в случае поставки запасных частей для пополнения запасов ремонтных предприятий. Существует методы работы в условиях подобной неопределенности, но они повышают вариацию ошибки прогнозирования. Поскольку с увеличением горизонта прогнозирования точность прогноза, обычно, снижается, часто мы можем улучшить процесс принятия решения, уменьшив время, необходимое на реализацию решения и, следовательно, уменьшив горизонт и ошибку прогнозирования. Интервал прогнозирования часто определяется операционным режимом системы обработки данных, которая обеспечивает информацию о прогнозируемой переменной. В том случае, если уровень продаж сообщается ежемесячно, возможно для еженедельного прогноза продаж этих данных недостаточно и интервал прогнозирования месяц является более обоснованным. Хотя различие не велико, мы хотели бы обратить внимание на различие между данными за период и точечными данными. Данные за период характеризуют некоторый период времени. Например, общий уровень продаж за месяц, и средняя температура за день, характеризуют период времени. Точечные данные представляют значение переменной в конкретный момент времени, например, количество запасных частей на конец месяца и температура в полдень. Различие между этими двумя типами данных важно в основном для выбора используемой системы сбора данных, процесса измерений и определения ошибки прогнозирования. Третьим аспектом прогнозирования является требуемая форма прогноза. Обычно при прогнозировании проводится оценка ожидаемого значения переменной, плюс оценка вариации ошибки прогнозирования или промежутка, на котором сохраняется вероятность содержания реальных будущих значений переменной. Этот промежуток называется предсказуемым интервалом. В некоторых случаях нам не так важно предсказание конкретных значений прогнозируемой переменной, как предсказание значительных изменений в ее поведении. Такая задача возникает, например, при управлении технологическими процессами, когда нам необходимо предсказывать момент, когда процесс перейдет в неуправляемое состояние. Точность прогноза, требуемая для конкретной проблемы, оказывает огромное влияние на прогнозирующую систему. Важнейшей характеристикой системы управления является ее способность добиваться оптимальности при работе с неопределенностью. До сих пор, мы обсуждали набор проблем связанных с процессом принятия решения. Существует ряд других факторов, которые также необходимо принимать во внимание при рассмотрении проблемы прогнозирования. Один из них связан с процессом, генерирующим переменную. Если известно, что процесс стабилен, или существуют постоянные условия, или изменения во времени происходит медленно - прогнозирующая система для такого процесса может достаточно сильно отличаться от системы, которая должна производить прогнозирование неустойчивого процесса с частыми фундаментальными изменениями. В первом случае, необходимо активное использование исторических данных для предсказания будущего, в то время как во втором лучше сосредоточиться на субъективной оценке и прогнозировании для определения изменений в процессе. Другой фактор это доступность данных. Исторические данные необходимы для построения прогнозирующих процедур; будущие наблюдения служат для проверки прогноза. Количество, точность и достоверность этой информации важны при прогнозировании. Кроме этого необходимо исследовать представительность этих данных. Классическим примером, является прогнозирование требования клиентов на производимый продукт, когда компания хранит записи о заказах по времени их доставки. Такой учет не отражает фактического требования, так как в нем не учитываются заказы, поставленные раньше срока, и заказы отмененные из-за неудовлетворительного срока поставки. Компания должна установить специальную процедуру сбора данных, если ее интересует информация о том, сколько же ее клиенты на самом деле желают приобрести продукции. Проблемы подобного типа возникают также, когда не учитываются потери продаж из-за ограниченных возможностей производства. Источником ошибок при прогнозировании продаж является различие между прогнозом "того, что может быть продано" и "тем, что будет продано". Первая задача оценивает реальную возможность для компании продать свой продукт, без учета ограничений по объему. Такой прогноз необходим при определении доли продукта в общем производстве. Вторая задача отражает ограничения объема производства, решение менеджеров, а также план или цель. Такой прогноз, скорее, следует назвать бюджетом. Здесь мы предполагаем, что прогноз продажи, в большинстве случаев, будет коррелировать с бюджетом продажи - ведь цель менеджера бороться за то, чтобы повысить уровень продаж. Необходимо отметить вычислительные ограничения прогнозирующих систем. Если изредка прогнозируется несколько переменных, то в системе возможно применение более глубоких процедур анализа, чем если необходимо часто прогнозировать большое число переменных. В последней ситуации, необходимо большое внимание уделить разработке эффективного управления данными. И, наконец, два важных фактора проблемы прогнозирования - возможности и интерес людей, которые делают и используют прогноз. В идеале, историческая информация анализируется автоматически, и прогноз представляется менеджеру для возможной модификации. Введение эксперта в процесс прогнозирования является очень важным, но требует сотрудничества опытных менеджеров. Далее прогноз передается менеджерам, которые используют его при принятии решений. И даже если они говорят, что прогноз это всего лишь болтовня, они могут получить реальную пользу от его использования. 1.3. Методы прогнозирования Методы прогнозирования можно разделить на два класса квалитативные и квантитативные, в зависимости от того, какие математические методы используются. Квалитативные процедуры производят субъективную оценку, основанную на мнении экспертов. Обычно, это формальная процедура для получения обобщенного предсказывания, на основе ранжирования и обобщения мнения экспертов (например на основе методов Делфи) . Эти процедуры основываются на опросах, тестах, оценке эффективности продаж и исторических данных, но процесс с помощью которого получается прогноз остается субъективным. С другой стороны, квантиативные процедуры прогнозирования явно объявляют - каким образом получен прогноз. Четко видна логика и понятны математические операции. Эти методы производят исследование исторических данных для того, чтобы определить глубинный процесс, генерирующий переменную и предположив, что процесс стабилен, использовать знания о нем для того, чтобы экстраполировать процесс в будущее. К квантитативным процедурам прогнозирования относятся методы, основанные на статистическом анализе, анализе временных последовательностей, байесовском прогнозировании, наборе фрактальных методов, нейронных сетях. Сейчас используется два основных типа моделей: модели временных последовательностей и причинные модели. Временная последовательность - это упорядоченная во времени последовательность наблюдений (реализаций) переменной. Анализ временных последовательностей использует для прогнозирования переменной только исторические данные об ее изменении. Таким образом, если исследование данных о ежемесячных продажах автомобильных шин, показывает, что они линейно возрастают - для представления данного процесса может быть выбрана линейная модель тренда. Наклон и смещение этой прямой могут быть оценены на основе исторических данных. Прогнозирование может быть осуществлено путем экстраполяции подходящей модели. Причинные модели используют связь между интересующей нас временной последовательностью и одной или более другими временными последовательностями. Если эти другие переменные коррелируют с интересующей нас переменной и если существуют причины для этой корреляции, модели прогнозирования, описывающие эти отношения могут быть очень полезными. В этом случае, зная значение коррелирующих переменных, можно построить модель прогноза зависимой переменной. Например, анализ может указать четкую корреляцию между уровнем ежемесячной продажи шин и уровнем месячной продажи новых автомобилей 15 месяцев назад. В этом случае информация о продажах новых автомобилей 14 месяцев назад будет полезной для того, чтобы предсказывать продажу шин в следующем месяце. Серьезным ограничением использования причинных моделей является требование того, чтобы независимая переменная была известна ко времени, когда делается прогноз. Факт, что продажа шин коррелирует с продажей новых автомобилей 15 месяцев назад, бесполезен при прогнозировании уровня продаж шин на 18 месяцев вперед. Аналогично, знание о том, что уровень продаж шин коррелирует с текущими ценами на бензин, нам ничего не дает - ведь мы не знаем точных цен на бензин на месяц, для которого мы делаем прогноз. Другое ограничение причинных методов - большое количество вычислений и данных, которое необходимо сравнивать. Практически, прогнозирующие системы часто используют комбинацию квантитативных и квалитативных методов. Квантитативные методы используются для последовательного анализа исторических данных и формирование прогноза. Это придает системе объективность и позволяет эффективно организовать обработку исторических данных. Данные прогноза далее становятся входными данными для субъективной оценки опытными менеджерами, которые могут модифицировать прогноз в соответствии с их взглядами на информацию и их восприятие будущего. На выбор соответствующего метода прогнозирования, влияют следующие факторы, большинство которых было описано в предыдущем разделе. - требуемая форма прогноза; - горизонт, период и интервал прогнозирования; - доступность данных; - требуемая точность; - поведение прогнозируемого процесса; - стоимость разработки, установки и работы с системой; - простота работы с системой; - понимание и сотрудничество управляющих. 1.4. Модели временных последовательностей Используемые для наших целей временные последовательности представляют собой последовательность наблюдений за интересующей переменной. Переменная наблюдается через дискретные промежутки времени. Анализ временных последовательностей включает описание процесса или феномена, который генерирует последовательность. Для предсказания временных последовательностей, необходимо представить поведение процесса в виде математической модели, которая может быть распространена в будущем. Для этого необходимо, чтобы модель хорошо представляла наблюдения в любом локальном сегменте времени, близком к настоящему. Обычно нет необходимости иметь модель, которая представляла бы очень старые наблюдения, так как они, скорее всего не характеризуют настоящий момент. Также нет необходимости представлять наблюдения в далеком будущем, т.е. через промежуток времени, больший, чем горизонт прогнозирования. После того, как будет сформирована корректная модель для обработки временной последовательности, можно разрабатывать соответствующие средства прогнозирования. 1.5. Критерии производительности Существуют ряд измерений, которые могут быть использованы для оценки эффективности прогнозирующей системы. Среди них наиболее важными являются: точность прогнозирования, стоимость системы, результирующая польза, свойства стабильности и отзывчивости. Точность метода прогнозирования определяется на основе анализа возникшей ошибки прогнозирования. Если Xt это реальное наблюдение за период t и Xt это сделанный ранее прогноз, ошибка прогнозирования за период t et = Xt - Xt (1.1) Для конкретного процесса и метода прогнозирования ошибка прогнозирования рассматривается как случайная величина со средним E(e) и вариацией Ge. Если при прогнозировании отсутствует систематическая ошибка, то E(e) = 0. Поэтому для определения точности прогнозирования используется ожидаемая квадратичная ошибка E [|et|] = E [|Xt-Xt|] (1.2) или ожидаемая квадратичная ошибка E [et2] = E [(Xt-Xt) 2] (1.3) Заметим, что ожидаемая квадратичная ошибка обычно называется средней квадратичной ошибкой, и соответствует Ge2, если существует систематическая ошибка прогнозирования. При анализе ошибки прогнозирования, общепринято каждый период использовать так называемый тест пути сигнала. Целью этого теста является определение, присутствуют ли систематическая ошибка прогнозирования. Путевой сигнал вычисляется путем деления оцененной предполагаемой ошибки прогнозирования на измеренную вариацию ошибки прогнозирования, определенную как среднее абсолютное отклонение. Если в прогнозе отсутствует систематическая ошибка - путевой сигнал должен быть близок к нулю. Конечно, стоимость является важным элементом при оценке и сравнении методов прогнозирования. Ее можно разделить на одноразовые затраты на разработку и установку системы и затраты на ее эксплуатацию. Что касается затрат на эксплуатацию, то разные прогнозирующие процедуры могут очень сильно отличаться по стоимости получения данных, эффективности вычислений и уровню действий, необходимых для поддержания системы. Польза прогноза в улучшении принимаемых решений зависит от горизонта прогнозирования и формы прогноза также как и от его точности. Прибыль должна измеряться для всей системы управления как единого целого и прогнозирование - только один элемент этой системы. Мы можем также сравнивать методы прогнозирования с точки зрения реакции на постоянные изменения во временной последовательности, описывающей процесс, и стабильности при случайных и кратковременных изменениях. ВЫВОДЫ При определении интервала прогнозирования необходимо выбирать между риском не идентифицировать изменения в прогнозируемом процессе и стоимостью прогноза. Если мы используем значительный период прогнозирования, мы можем работать достаточно длительное время в соответствии с планами, основанными на, возможно, уже бессмысленном прогнозе. С другой стороны, если мы используем более короткий интервал, нам приходиться оплачивать не только стоимость прогнозирования, но и затраты на изменение планов, с тем, чтобы они соответствовали новому прогнозу. Наилучший интервал прогнозирования зависит от стабильности процесса, последствий использования неправильного прогноза, стоимости прогнозирования и репланирования. Посредством данных, необходимых для прогнозирующей системы, в систему может подаваться и ошибка, поэтому необходимо редактировать входные данные системы для того, чтобы устранить очевидные или вероятные ошибки. Конечно, небольшие ошибки идентифицировать будет невозможно, но они обычно не оказывают значительного влияния на прогноз. Более значительные ошибки легче найти и исправить. Прогнозирующая система также не должна реагировать на необычные, экстраординарные наблюдения. Если мы прогнозируем требование на продукт - любые продажи, которые рассматриваются как нетипичные или экстремальные, конечно должны быть занесены в записи, но не должны включаться в данные используемые для прогнозирования. Например, производитель, который обслуживает ряд поставщиков, получает нового клиента. Первые заказы этого клиента, скорее всего, не будут типичными для его более поздних заказов, так как в начале он находился на этапе исследования нового товара. Симуляция является полезным средством при оценке различных методов прогнозирования. Метод симуляции основан на ретроспективном использовании исторических данных. Для каждого метода прогнозирования берется некоторая точка в прошлом и начиная с нее вплоть до текущего момента времени проводится симуляция прогнозирования. Измеренная ошибка прогнозирования может быть использована для сравнения методов прогнозирования. Если предполагается, что будущее отличается от прошлого, может быть создана псевдоистория, основанная на субъективном взгляде на будущую природу временной последовательности, и использована при симуляции. На основании анализа материала данной главы можно сделать вывод, что прогнозирующая система должна выполнять две основные функции: генерацию прогноза и управление прогнозом. Генерация прогноза включает получение данных для уточнения модели прогнозирования, проведение прогнозирования, учет мнения экспертов и предоставление результатов прогноза пользователю. Управление прогнозом включает в себя наблюдение процесса прогнозирования для определения неконтролируемых условий и поиск возможности для улучшения производительности прогнозирования. Важным компонентом функции управления является тестирование путевого сигнала, описанное в разделе 1.5. Функция управления прогнозом также должна периодически определять производительность прогнозирования и предоставлять результаты соответствующему менеджеру. 2. НЕЙРОННЫЕ СЕТИ. СОСТОЯНИЕ ПРОБЛЕМЫ В данной главе мы обсуждаем известные модели НС: модель Маккалоха и Питтса; модель Розенблата; модели Хопфилда и Больцмана; модель на основе обратного распространения. Рассмотрена структура и особенности каждой из моделей. Перечислены основные задачи решаемые на основе НС, описаны способы реализации НС. Проведен анализ известных моделей НС с точки зрения решения задачи прогнозирования. 2.1. Нейронные сети - основные понятия и определения В основу искусственных нейронных сетей [2-4,8]положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами: - простой обрабатывающий элемент - нейрон; - очень большое число нейронов участвует в обработке информации; - один нейрон связан с большим числом других нейронов (глобальные связи) ; - изменяющиеся по весу связи между нейронами; - массированная параллельность обработки информации. Прототипом для создания нейрона послужил биологический нейрон головного мозга. Биологический нейрон имеет тело, совокупность отростков - дендридов, по которым в нейрон поступают входные сигналы, и отросток - аксон, передающий выходной сигнал нейрона другим клеткам. Точка соединения дендрида и аксона называется синапсом [13,47]. Упрощенно функционирование нейрона можно представить следующим образом: 1) нейрон получает от дендридов набор (вектор) входных сигналов; 2) в теле нейрона оценивается суммарное значение входных сигналов. Однако входы нейрона неравнозначны. Каждый вход характеризуется некоторым весовым коэффициентом, определяющим важность поступающей по нему информации. Таким образом, нейрон не просто суммирует значения входных сигналов, а вычисляет скалярное произведение вектора входных сигналов и вектора весовых коэффициентов; 3) нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если - оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе - нейрон "не срабатывает"; 4) выходной сигнал поступает на аксон и передается дендридам других нейронов. Поведение искусственной нейронной сети зависит как от значения весовых параметров, так и от функции возбуждения нейронов. Известны три основных вида [17] функции возбуждения: пороговая, линейная и сигмоидальная. Для пороговых элементов выход устанавливается на одном из двух уровней в зависимости от того, больше или меньше суммарный сигнал на входе нейрона некоторого порогового значения. Для линейных элементов выходная активность пропорциональна суммарному взвешенному входу нейрона. Для сигмоидальных элементов в зависимости от входного сигнала, выход варьируется непрерывно, но не линейно, по мере изменения входа. Сигмоидальные элементы имеют больше сходства с реальными нейронами, чем линейные или пороговые, но любой из этих типов можно рассматривать лишь как приближение. Нейронная сеть представляет собой совокупность большого числа сравнительно простых элементов - нейронов, топология соединений которых зависит от типа сети. Чтобы создать нейронную сеть для решения какой-либо конкретной задачи, мы должны выбрать, каким образом следует соединять нейроны друг с другом, и соответствующим образом подобрать значения весовых параметров на этих связях. Может ли влиять один элемент на другой, зависит от установленных соединений. Вес соединения определяет силу влияния. 2.2. Модели нейронных сетей 2.2.1. Модель Маккалоха Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга[9]. Ими были получены следующие результаты: - разработана модель нейрона как простейшего процессорного элемента, выполняющего вычисление переходной функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов; - - предложена конструкция сети таких элементов для выполнения логических и арифметических операций; - сделано основополагающее предположение о том, что такая сеть способна обучаться, распознавать образы, обобщать полученную информацию. Несмотря на то, что за прошедшие годы нейроматематика ушла далеко вперед, многие утверждения Макклоха остаются актуальными и поныне. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный Макклохом и Питтсом, остается неизменным. Недостатком данной модели является сама модель нейрона - "пороговой" вид переходной функции. В формализме У. Маккалоха и У. Питтса нейроны имеют состояния 0,1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Пороговый вид функции не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения, даже незначительно, не достигает до заданного порога, то выходной сигнал не формируется вовсе и нейрон "не срабатывает". Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов. 2.2.2. Модель Розенблата Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет) . В 1958 году он предложил свою модель нейронной сети. Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном [11,12,46,47]. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель персептрона была значительно усовершенствована [47]. - Персептрон применялся для задачи автоматической классификации, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. В двухмерном случае требуется провести линию на плоскости, отделяющую одну область от другой. Персептрон способен делить пространство только прямыми линиями (плоскостями) [6,11]. Алгоритм обучения персептрона выглядит следующим образом: 1) системе предъявляется эталонный образ; 2) если выходы системы срабатывают правильно, весовые коэффициенты связей не изменяются; 3) если выходы срабатывают неправильно, весовым коэффициентам дается небольшое приращение в сторону повышения качества распознавания. Серьезным недостатком персептрона является то, что не всегда существует такая комбинация весовых коэффициентов, при которой имеющееся множество образов будет распознаваться данным персептроном. Причина этого недостатка состоит в том, что лишь небольшое количество задач предполагает, что линия, разделяющая эталоны, будет прямой. Обычно это достаточно сложная кривая, замкнутая или разомкнутая. Если учесть, что однослойный персептрон реализует только линейную разделяющую поверхность, применение его там, где требуется нелинейная, приводит к неверному распознаванию (эта проблема называется линейной неразделимостью пространства признаков) . Выходом из этого положения является использование многослойного персептрона, способного строить ломаную границу между распознаваемыми образами. Описанная проблема не является единственной трудностью, возникающей при работе с персептронами - также слабо формализован метод обучения персептрона. Персептрон поставил ряд вопросов, работа над решением которых привела к созданию более "разумных" нейронных сетей и разработке методов, нашедших применение не только в нейрокибернетике (например, метод группового учета аргументов, применяемый для идентификации математических моделей) . 2.2.3. Модель Хопфилда В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы (иероглифы и т.п.) независимо от поворота и изменения масштаба изображения. Автором когнитрона является японский ученый И. Фукушима. Новый виток быстрого развития моделей нейронных сетей, который начался 8-9 лет тому назад, связан с работами Амари, Андерсона, Карпентера, Кохена [24,28,29] и других, и в особенности, Хопфилда [17,37-40], а также под влиянием обещающих успехов оптических технологий [1,26] и зрелой фазы развития СБИС [29] для реализации новых архитектур. Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети с использованием правила Хеббиана [36] для программирования сети. Но не столько сама модель послужила толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк [17] показали, как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи. Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом [20-23]. В ней, как и в других моделях, нейрон имеет состояния 1,0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии) . Максимум функции консенсуса соответствует оптимальному решению задачи. Имеется следующая информация о результатах моделирования на ЭВМ работы нейронной сети. Моделировалась асинхронная работа сети Хопфилда. Сеть работает хорошо, т.е. без ошибок восстанавливает эталонные образы из случайных, если в нее записывается не более 15 % эталонных образов. Испытания проводились для 30 нейронов и для 100 нейронов в сети. Бралось некоторое количество случайных векторов в качестве эталонных и строилась соответствующая матрица весов связей. Моделирование при 100 нейронах было существенно более медленным процессам, чем при 30 нейронах, хотя качественная картина и в том и в другом случаях была одна и та же. Приблизительно 88 % испытаний заканчивались в эталонных состояниях, 10 % - в устойчивых состояниях, близких к эталонным. При расстоянии <= 5 между начальным и эталонным векторами, эталонное состояние достигалось в 90 % случаев. С увеличением расстояния, вероятность попадания в наиболее близкое эталонное состояние гладко падала. При расстоянии 12 вероятность была равна 0.2. Устойчивые состояния, слишком близкие друг к другу, имеют тенденцию "сливаться", они попадают в одну впадину на энергетической поверхности. Программировалась задача коммивояжера на основе сети Хопфилда. Сетью из 100 нейронов для 20 различных случайных начальных состояний были определены маршруты, 16 из которых были приемлемыми, 50% попыток дали 2 пути 2.83 и 2.71 (цифры приводятся, чтобы показать как они близки) при кратчайшем 2.67. Это результаты моделирования работы сети с непрерывной моделью нейрона. Моделировалась также задача коммивояжера, но для сети типа машина Больцмана, проводилась при следующих значениях управляющих параметров: A = 0.95, L = 10, M = 100 (A - положительное число меньше единицы, но близкое к ней, L - число испытаний, которые проводятся без изменений, M - число последовательных испытаний, не приводящих к изменению состояния машины, как критерия завершения процесса) . Процесс запускался 100 раз для n = 10 (всего в сети N = n^2 нейронов) и 25 раз для n = 30 при различных нормальных состояниях машины Больцмана. Для n = 10 получился оптимальный результат, для n = 30 - решение на 14 % хуже оптимального. Отметим, что вероятностный механизм функционирования машины Больцмана дает возможность получить на ней несколько лучшие результаты оптимизации, чем на модели Хопфилда. 2.2.4. Модель сети с обратным распространением Способом обратного распространения (back propogation) называется способ обучения многослойных НС. В таких НС связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя [5,8,16,27,30,42,48,49]. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее распознаваемому образу. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной задачей. Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки. Еще в 1974 году Поль Дж. Вербос [5] изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей [5,16,27,30,42,48,49]. Однако этому алгоритму свойственны и недостатки, главный из которых - отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть, в конце концов, обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение. Например, успех фирмы NEC в распознавании букв, был достигнут именно благодаря алгоритму обратного распространения. Подробнее метод обратного распространения описан в главе 3. 2.3. Задачи, решаемые на основе нейронных сетей В литературе [33,41,43] встречается значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить: - отсутствует алгоритм или не известны принципы решения задач, но накоплено достаточное число примеров; - проблема характеризуется большими объемами входной информации; - данные неполны или избыточны, зашумлены, частично противоречивы. Таким образом, НС хорошо подходят для распознавания образов и решения задач классификации, оптимизации и прогнозирования. Ниже приведен перечень возможных промышленных применений нейронных сетей, на базе которых либо уже созданы коммерческие продукты, либо реализованы демонстрационные прототипы [7,10,18,25,35,45,50]. Банки и страховые компании: - автоматическое считывание чеков и финансовых документов; - проверка достоверности подписей; - оценка риска для займов; прогнозирование изменений экономических показателей. Административное обслуживание: - автоматическое считывание документов; - автоматическое распознавание штриховых кодов. Нефтяная и химическая промышленность: - анализ геологической информации; - идентификация неисправностей оборудования; - разведка залежей минералов по данным аэрофотосъемок; - анализ составов примесей; - управление процессами. Военная промышленность и аэронавтика: - обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация) ; - обработка радарных сигналов (распознавание целей, идентификация и локализация источников) ; - обработка инфракрасных сигналов (локализация) ; - обобщение информации; - автоматическое пилотирование. Промышленное производство: - - управление манипуляторами; - управление качеством; - управление процессами; - обнаружение неисправностей; - адаптивная робототехника; - управление голосом. Служба безопасности: - распознавание лиц, голосов, отпечатков пальцев. Биомедицинская промышленность: - анализ рентгенограмм; - обнаружение отклонений в ЭКГ. Телевидение и связь: - адаптивное управление сетью связи; - сжатие и восстановление изображения. Представленный перечень далеко не полон. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей. Так, фирма LIAC выпускает аппаратуру для контроля качества воды. Нейросистемы фирмы SAIC находят пластиковые бомбы в багаже авиапассажиров. Специалисты инвестиционного банка Citicomp (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют. 2.4. Способы реализации нейронных сетей Нейронные сети могут быть реализованы двумя путями: первый - это программная модель НС [2,3,15,34], второй - аппаратная [14,31,34,45,50]. На современном рынке изделия, основанные на использовании механизма действия НС, первоначально появились в виде нейроплат. В качестве типичного примера нейроплаты можно назвать плату МВ 86232 японской фирмы Fujitsu. На плате размещены процессор цифровой обработки сигналов и оперативная память емкостью 4 Мбайт, что позволяет использовать такую плату для реализации НС, содержащих до тысячи нейронов. Есть и более совершенные платы. Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейро- БИС. Сейчас выпускаются более 20 типов нейроБИС, параметры которых порой различаются на несколько порядков. Среди них - модель - ETANN фирмы Intel. Эта БИС, выполненная по микронной технологии, является реализацией НС с 64т нейронами и 10240 синапсами. Ее цена 2000 долл. К числу самых дешевых нейроБИС (41 долл.) относится модель MD 1220 фирмы Micro Devices. Эта БИС реализует НС с 8 нейронами и 120 синапсами. Среди разрабатываемых в настоящее время нейроБИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония) . Нейро- БИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений / с. (НС содержит 64 нейрона и 262144 синапса) . НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий. Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики. Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы НС. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация персептрона, разработанная Розенблатом, называлась Mark I) . Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с. Mark IV - это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с. Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment) , обеспечивающую программную совместимость моделей. Помимо указанных моделей фирмы TRW предлагает также пакет Mark II - программный эмулятор НС. - Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с. Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пикселей. Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля. Сегодня на рынке представлено много моделей нейрокомпьютеров. На самом деле их, видимо, гораздо больше, но наиболее мощные и перспективные модели по-прежнему создаются по заказам военных. К сожалению, не имея достаточной информации о моделях специального назначения, трудно составить представление об истинных возможностях современных компьютеров. ВЫВОДЫ НС принадлежат классу коннекционистских моделей обработки информации. Основная их черта использовать взвешенные связи между обрабатывающими элементами как принципиальное средство запоминания информации. Обработка в таких сетях ведется одновременно большим числом элементов, благодаря чему они терпимы к неисправностям и способны к быстрым вычислениям. Задать НС, способную решить конкретную задачу, - это значит определить модель нейрона, топологию связей, веса связей. Нейронные сети различаются между собой меньше всего моделями нейрона, а в основном топологией связей и правилами определения весов или правилами обучения, программирования. По структуре связей сети делятся на два больших класса: однослойные и многослойные. К однослойным относятся модель Хопфилда [1,21,30,42-44] и последующие разработки [38], некоторые типы модели нейронной сети, известной под названием "машина Больцмана" [28,29]. Многослойная сеть имеет входной, выходной и скрытые слои, на входной подается информация, с выходного снимается от- вет, скрытые слои участвуют в обработке [31]. В настоящее время существует два подхода к решению задачи обучения НС решению задачи распознавания образов, оптимизации и т.д. Один, исторически более ранний, состоит в постепенной модификации весовых коэффициентов в процессе обучения. Подходы к обучению однослойных и многослойных сетей различны. Обучение многослойных сетей состоит в том, что на основе набора примеров входное состояние -> выходное состояние постепенно подбираются веса всех связей так, чтобы каждое входное состояние вызывало соответствующее выходное. Обучающие алгоритмы представляют собою итерационные процедуры с медленным приближением к окончательным значениям весов связей. Этот способ впервые был реализован в персептроне Розенблата и локальных правилах обучения на основе модели Хебба. В последующие годы этот подход получил дальнейшее развитие в алгоритмах типа обратного распространения. В однослойных сетях часто удается выразить веса связей через параметры задачи (так обстоит дело с моделью Хопфилда и однослойной машиной Больцмана) . Подход состоит в вычислении значений синаптических весов на основе заданного описания функционирования нейронной сети как "черного ящика". Если сеть должна реализовать заданную функцию, ее рассматривают как набор элементов пороговой логики и задача сводится к кусочно-линейной аппроксимации этой зависимости и синтезу соответствующего автомата. Для общего случая, когда описание поведения сети задано в виде набора векторов возможных состояний, поиск синаптических весов сводится к решению соответствующей системы нелинейных уравнений. Такое решение было впервые найдено Хопфилдом. Появление этой работы около 10 лет назад продемонстрировало эффективность применения аналитических методов для интерпретации поведения нейронных сетей и привело к разработке проекционного алгоритма, позволяющего вычислять значения синаптических весов, сократив тем самым затраты времени на обучение. Исследования проекционного алгоритма показывают, что при очевидных достоинствах ему свойственен ряд недостатков, в частности склонность сети к ложным реакциям и низкая эффективность при доучивании, когда необходимо ввести новые данные, не разрушая информации, запомненной ранее. Кроме того, до настоящего времени принято считать, что данный алгоритм пригоден лишь для полносвяз- ных нейронных сетей и неприменим в сетях другой архитектуры. Указанные недостатки и малая изученность таких вопросов, как структура и частота появления ложных реакций, реализация итеративных процедур доучивания и применение в неполносвязных сетях, затрудняет использование проекционного алгоритма в исследованиях по нейробионике и при проектировании нейропроцессоров. Недостатком проекционного алгоритма с точки зрения решения задачи прогнозирования является то, что при обучении необходимо с начала сформировать эталоны распознаваемых образов. В задаче прогнозирования это либо вовсе невозможно, либо чрезвычайно затруднено. Эталоны должны формироваться в самой сети на основе анализа исторических данных. Исходя из вышеизложенного, можно заключить, что для решения задач прогнозирования наиболее подходит сеть с обратным распространением. Она позволяет формальным образом обучить сеть прогнозировать изменение требования на основе исторических данных о требовании.
В данной главе описан способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере. 3.1. Общий подход к прогнозированию с помощью нейронных сетей На НС задача прогнозирования формализуется через задачу распознавания образов. Данных о прогнозируемой переменной за некоторый промежуток времени образуют образ, класс которого определяется значением прогнозируемой переменной в некоторый момент времени за пределами данного промежутка т.е. значением переменной через интервал прогнозирования. Метод окон предполагает использование двух окон Wi и Wo с фиксированными размерами n и m соответственно. Эти окна, способны перемещаться с некоторым шагом по временной последовательности исторических данных, начиная с первого элемента, и предназначены для доступа к данным временного ряда, причем первое окно Wi, получив такие данные, передает их на вход нейронной сети, а второе - Wo - на выход. Получающаяся на каждом шаге пара Wi -> Wo (3.1) используется как элемент обучающей выборки (распознаваемый образ, или наблюдение) . Например, пусть есть данные о еженедельных продажах режущего инструмента (k = 16) : 100 94 90 96 91 94 95 99 95 98 100 97 99 98 96 98 (3.2) Весь ряд смотри приложение 1. Зададим n = 4, m = 1, s = 1. С помощью метода окон для нейронной сети будет сгенерирована следующая обучающая выборка: 100 94 90 96 -> 91 94 90 96 91 -> 94 90 96 91 94 -> 95 (3.3) 96 91 94 95 -> 99 91 94 95 99 -> 95 и т.д. Каждый следующий вектор получается в результате сдвига окон Wi и Wo вправо на один элемент (s = 1) . Предполагается наличие скрытых зависимостей во временной последовательности как множестве наблюдений. Нейронная сеть, обучаясь на этих наблюдениях и соответственно настраивая свои коэффициенты, пытается извлечь эти закономерности и сформировать в результате требуемую функцию прогноза P. Прогнозирование осуществляется по тому же принципу, что и формирование обучающей выборки. При этом выделяются две возможности: одношаговое и многошаговое прогнозирование. МНОГОШАГОВОЕ ПРОГНОЗИРОВАНИЕ. Используется для осуществления долгосрочного прогноза и предназначено для определения основного тренда и главных точек изменения тренда для некоторого промежутка времени в будущем. При этом прогнозирующая система использует полученные (выходные) данные для моментов времени k+1, k+2 и т.д. в качестве входных данных для прогнозирования на моменты времени k+2, k+3 и т.д. Предположим, система обучилась на временной последовательности (3.2) . Затем она спрогнозировала k+1 элемент последовательности, например, равный 95, когда на ее вход был подан последний из известных ей образов (99,98,96,98) . После этого она осуществляет дальнейшее прогнозирование и на вход подается следующий образ (98,96,98,95) . Последний элемент этого образа является прогнозом системы. И так далее. ОДНОШАГОВОЕ ПРОГНОЗИРОВАНИЕ. Используется для краткосрочных прогнозов, обычно - абсолютных значений последовательности. Осуществляется прогноз только на один шаг вперед, но используется реальное, а не прогнозируемое значение для осуществления прогноза на следующем шаге. Для временной последовательности 3.2. На шаге k+1 система прогнозирует требование 95, хотя реальное значение (смотри приложение 1) должно быть 96. На шаге k + 2 в качестве входного образа будет использоваться образ (98,96,98,96) . Как было сказано выше, результатом прогноза на НС является класс к которому принадлежит переменная, а не ее конкретное значение. Формирование классов должно проводиться в зависимости от того каковы цели прогнозирования. Общий подход состоит в том, что область определения прогнозируемой переменной разбивается на классы в соответствии с необходимой точностью прогнозирования. Классы могут представлять качественный или численный взгляд на изменение переменной. 3.2. Применение нейронных сетей в финансовой сфере Характерный пример успешного применения нейронных вычислений в финансовой сфере управление кредитными рисками. Как известно, до выдачи кредита банки проводят сложные статистические расчеты по финансовой надежности заемщика, чтобы оценить вероятность собственных убытков от несвоевременного возврата финансовых средств. Такие расчеты обычно базируются на оценке кредитной истории, динамике развития компании, стабильности ее основных финансовых показателей и многих других факторов. Один широко известный банк США опробовал метод нейронных вычислений и пришел к выводу, что та же задача по уже проделанным расчетам подобного рода решается быстрее и точнее. Например, в одном из случаев оценки 100 тыс. банковских счетов новая система, построенная на базе нейронных вычислений, определила свыше 90% потенциальных неплательщиков. Другая очень важная область применения нейронных вычислений в финансовой сфере предсказание ситуации на фондовом рынке. Стандартный подход к этой задаче базируется на жестко фиксированном наборе "правил игры", которые со временем теряют свою эффективность из-за изменения условий торгов на фондовой бирже. Кроме того, системы, построенные на основе такого подхода, оказываются слишком медленными для ситуаций, требующих мгновенного принятия решений. Именно поэтому основные японские компании, оперирующие на рынке ценных бумаг, решили применить метод нейронных вычислений. В типичную систему на базе нейронной сети ввели информацию общим объемом в 33 года деловой активности нескольких организаций, включая оборот, предыдущую стоимость акций, уровни дохода и т.д. Самообучаясь на реальных примерах, система нейронной сети показала большую точность предсказания и лучшее быстродействие: по сравнению со статистическим подходом дала улучшение результативности в целом на 19%. Следующий пример, довольно близкий к области финансового рынка, - оценка стоимости недвижимости. Решение этой задачи зависит в основном от опыта сотрудника риэлтерской фирмы, учитывающего множество таких неравноценных факторов, как доля собственности, качество постройки, окружающая обстановка и т.д. Группа исследователей из университета г. Портсмут (Великобритания) заложила в вычислительную систему на базе нейронной сети данные по оценке недвижимости из обзоров риэлтеровских фирм и списков аукционных цен. Результат показал, что самообучившаяся система дает оценки стоимости, хорошо коррелируемые с экспертными заключениями специалистов этого профиля. Пример удачного прогнозирования динамики биржевых курсов по заказу Chemical Bank продемонстрировала фирма Logica. На технической базе Sun SPARCstation LX с помощью нейронных вычислений моделировались рынки валютных курсов доллар/швейцарский франк и немецкая марка/швейцарский франк. Выбор именно этих валют объяснялся высоким уровнем подвижности первого соотношения и малым второго (до кризиса в 1993 году) . Данные о динамике кросс-курсов этих валют собирались с 1 октября 1992 года по 1 октября 1993 года, при этом ценовые прогнозы характеризовались пятью категориями: большой рост, малый рост, без изменений, малый спад, большой спад. В итоге нейронная система предсказала за вышеупомянутый годовой период 55 % реальных данных по первому соотношению валют и 23 % - по второму. Лондонская фондовая биржа (ЛФБ) начала внедрение автоматизированной системы с элементами искусственного интеллекта на базе нейронных вычислений для контроля внутреннего дилинга. Первый этап инсталляции этой системы, разработанной лондонской фирмой SearchSpace и получившей кодовое наименование MonITARS (Monitoring Insider Trading and Regulatory Surveillance) , успешно завершен. По оценкам экспертов, бум вокруг систем искусственного интеллекта в финансовой индустрии пришелся на период 1984 - 1989 гг. В основном он затронул США и в меньшей степени Великобританию, где разработчики сложных имитационных систем для военных (типа программы "Звездные войны") решили попытать счастья на Уолл-стрит. Многие разработчики действительно обогатились, чего нельзя сказать о финансовых структурах, чьи завышенные ожидания эффекта от внедрения подобных систем не оправдались. Так, один крупный инвестиционный банк на Уолл-стрит потратил более 1 млн. долл. на разработку системы искусственного интеллекта для финансовых операций, но спустя некоторое время вынужден был вернуться к старой, "неинтеллектуальной". Одной из причин неудачи был недостаточный по сравнению с ожидаемым уровень производительности системы, полученный в результате ее внедрения. Американская фондовая биржа в Нью-Йорке пошла по аналогичному пути, запустив в 1987 году автоматизированную систему Stockwatch Alert Terminal (SWAT) II. Ее расширенная версия - SWAT III - сейчас проходит бета-тестирование и, видимо, будет внедрена в начале года. Правда, фирма SearchSpace утверждает, что выбрала другую технологию (в отличие от SWAT) , называемую "генетическими алгоритмами", и ведет переговоры о ее внедрении с рядом бирж Европы и Дальнего Востока. В настоящее время банки пришли к выводу, что прикладные системы, разработанные на базе нейронных сетей, могут принести им пользу. На рынке уже предлагаются продукты подобного рода, определяющие вероятность риска при выдаче кредита, а также пакеты моделирования и прогнозирования банкротства, анализа портфеля ценных бумаг и торговли акциями. Нейронные сети заменяют традиционные системы в таких научно-технических областях, как статистические методы, распознавание образов, линейный и нелинейный математический анализ. Mellon equity Associates - подразделение Mellon Bank в Питтсбурге (США) - достаточно давно применяло собственную систему анализа линейной регрессии для распределения фондов и специальной селекции акций. В ходе работы они обнаружили, что между различными оценочными параметрами существуют нелинейные связи, не поддающиеся точному учету с помощью имеющегося у них инструментария. Поскольку данное направление работ составляет примерно половину всего бизнеса компании (под управлением находится около 2.5 млрд. долл. инвестиций) , то поиск более точных средств стал жизненно важной задачей. После тщательного анализа разных систем разработок ПО с помощью нейронных сетей Mellon Equity Associates выбрала пакет Neural-Works Professional II/Plus 5.0 фирмы Neural- Ware (Питтсбург) . Основанием для этого послужило наличие у него таких возможностей, как усиленный темп самообучения на базе "генетического алгоритма", очень важного для моделирования систем "с шумом". По мнению руководителей NeuralWare Inc., методика линейного статистического анализа имеет следующие недостатки. При финансовых расчетах существует сильная взаимосвязь между отношением цена/доходы одинаковых рынков и темпами изменения дивидендов краткосрочных инвестиций. Когда на кривой, отображающей динамику последних, есть точки экстремума, то линейные методы могут дать переоценку первых. Neural-Works Professional II/Plus 5.0, инсталлированный в компании Mellon Equity Associates, ориентирован на IBM-совместимый ПК с 486-м процессором (правда, в качестве препроцессора там используется мэйнфрейм VAX) и содержит компилятор языка C и стандартные электронные таблицы. Пакет внедрялся в течение четырех-пяти месяцев и в рабочем режиме функционирует с января 1994 года. Гораздо более распространены случаи, когда в финансовых структурах применяются уже готовые приложения на базе нейронных сетей, например для автоматического распознавания чеков. Подобная система Quick Strokes-IFPS фирмы Mitek Systems (Сан-Диего, шт. Калифорния) была установлена в 1993 году в Федеральном резервном банке Чикаго. Она позволяет оперативно распознавать сканируемые чеки, используя среду обработки данных на базе мэйнфрейма. Департамент торговли и индустрии правительства Великобритании спонсирует две программы, направленные на развитие нейронных вычислений в финансовой сфере. Это "Клуб нейропрогнозирования", созданный Лондонской школой бизнеса совместно с университетским колледжем Лондона (UCL) , и "Нейронные сети для финансовых услуг", продвигаемый фирмой TBS Bank Technology с UCL и Центром прогнозирования Henley. Вместе с тем среди множества финансовых институтов, известных как пользователи или исследователи этой технологии, фигурируют такие гиганты, как Chemical Bank, Citibank, JP Morgan и др. Начав работу в этом направлении сравнительно недавно, программисты Великобритании уже добились ощутимых результатов. Группа специалистов, входящих в "Клуб нейропрогнозирования", создала нейронную систему для выработки тактики распределения фондов на глобальных рынках облигаций. Она охватывает семь отдельных географических регионов: Великобританию, Францию, Германию, Японию, США, Канаду, Австралию, и каждый из них моделируется особой локальной сетью нейронов. Все они проходят своеобразный процесс обучения на исторических данных с целью получения краткосрочных прогнозов ситуации на этом рынке за каждый месяц. Все локальные предсказания затем объединяются в Центре управления единым портфелем ценных бумаг. Вышеописанная система с ноября 1992 года поступила на вооружение Североамериканской страховой компании в Бостоне (США) . В итоге капитал этой компании быстро увеличился с 25 до 50 млн. долл., а портфель ценных бумаг показал доходность свыше 25 % в первый же год внедрения системы. В этом нет ничего удивительного, так как нейронная сеть представляет собой универсальное средство аппроксимации, способное решить любую задачу. Одна из наиболее передовых методик нейронных вычислений - генетические алгоритмы, имитирующие эволюцию живых организмов. Поэтому они могут быть использованы как оптимизатор параметров нейронной сети. Подобная система для прогнозирования результатов контрактов по долгосрочным ценным бумагам повышенной надежности была разработана и инсталлирована на рабочей станции Sun в компании Hill Samuel Investment Management. При моделировании нескольких стратегий торгов она достигла точности 57 % в предсказании направления движения рынка. В страховой фирме TSB General Insurance (Ньюпорт) используется сходная методика для прогноза уровня риска при страховании частных кредитов. Данная нейронная сеть самообучается на статистических данных о состоянии безработицы в стране. ВЫВОДЫ Прогнозирование на НС обладает рядом недостатков. Вообще говоря, нам необходимо как минимум 50 и лучше 100 наблюдений для создания приемлемой модели. Это достаточно большое число данных и существует много случаев, когда такое количество исторических данных недоступно. Например, при производстве сезонного товара, истории предыдущих сезонов недостаточно для прогноза на текущий сезон, из-за изменения стиля продукта, политики продаж и т.д. Даже при прогнозировании требования на достаточно стабильный продукт на основе информации о ежемесячных продажах, возможно мы не сможем накопить историю за период от 50 до 100 месяцев. Для сезонных процессов проблема еще более сложна. Каждый сезон истории фактически представляет собой одно наблюдение. То есть, в ежемесячных наблюдениях за пять лет будет только пять наблюдений за январь, пять наблюдений за февраль и т.д. Может потребоваться информация за большее число сезонов для того, чтобы построить сезонную модель. Однако, необходимо отметить, что мы можем построить удовлетворительную модель на НС даже в условиях нехватки данных. Модель может уточняться по мере того, как свежие данные становится доступными. Другим недостатком нейронных моделей - значительные затраты по времени и другим ресурсам для построения удовлетворительной модели. Эта проблема не очень важна, если исследуется небольшое число временных последовательностей. Тем не менее, обычно прогнозирующая система в области управления производством может включать от нескольких сотен до нескольких тысяч временных последовательностей. Однако, несмотря на перечисленные недостатки, модель обладает рядом достоинств. Существует удобный способ модифицировать модель по мере того как появляются новые наблюдения. Модель хорошо работает с временными последовательностями, в которых мал интервал наблюдений, т.е. может быть получена относительно длительная временная последовательность. По этой причине модель может быть использована в областях, где нас интересуют ежечасовые, ежедневные или еженедельные наблюдения. Эти модели также используются в ситуациях, когда необходимо анализировать небольшое число временных последовательностей. НЕЙРОННЫЕ СЕТИ ОСНОВАННЫЕ НА МЕТОДЕ ОБРАТНОГО ФУНКЦИОНИРОВАНИЯ В данной главе мы приводим детальное описание метода обратного распространения - способа обучения многослойных НС. Подробно описана НС для распознавания рукописных цифр и и процесс ее обучения. В главе также проведена современная оценка метода обратного распространения. 4.1. Обучение нейронных сетей Мы можем научить трехслойную сеть решать определенную задачу, пользуясь следующей процедурой. Сначала мы предъявляем сети серию тренировочных примеров, которые состоят из паттерна активностей входных элементов вместе с желаемым паттерном активностей выходных элементов [8]. Предположим, что мы хотим научить сеть распознавать рукописные цифры. Можно воспользоваться матрицей, из 256 сенсоров, каждый из которых регистрирует присутствие или отсутствие чернильного пятнышка в пределах маленькой площадки - фрагмента одной цифры. Для сети, таким образом, потребуется 256 входных элементов (по одному на каждый сенсор) , 10 выходных элементов (по одному на каждую возможную цифру) и некоторое количество скрытых элементов. Для каждой цифры, регистрируемой сенсорами, сеть должна генерировать высокую активность в соответствующем выходном элементе и низкую в остальных выходных элементах. Чтобы натренировать систему, мы предъявляем ей изображение цифры и сравниваем действительную активность на 10 выходных элементах с желаемой активностью. Затем мы подсчитываем ошибку, определяемую как квадрат разности между действительным и желаемым выходом. После этого мы изменяем вес каждой связи, с тем, чтобы уменьшить ошибку. Описанный процесс тренировки мы повторяем со многими различными написаньями каждой цифры, пока сеть не научится правильно распознавать все возможные изображения. Чтобы реализовать эту процедуру, нам нужно изменять каждый вес на величину, пропорциональную скорости, с которой изменяется ошибка по мере изменения веса [5]. Эта величина (называемая производной ошибки по весу и обозначаемая EW) вычисляется не просто. Один из способов вычисления EW заключается в том, чтобы изменить вес на очень маленькую величину и посмотреть, как изменится ошибка. Однако этот метод не эффективен, поскольку требует отдельных вариаций для каждого из многих весов. 4.2. Алгоритм обратного распространения 4.2.1. Идея создания алгоритма обратного распространения Примерно в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления EW, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения (back propagation algorithm) , стала одним из наиболее важных инструментов в обучении нейронных сетей [5,16,27,30,42,48,49]. Алгоритм обратного распространением проще всего понять, когда все элементы сети линейны. Алгоритм вычисляет каждую EW, сначала вычисляя EA - скорость, с которой изменяется ошибка при изменении уровня активности элемента. Для выходных элементов EA является просто разностью между действительным и желаемым выходом. Чтобы вычислить EA для скрытого элемента в слое, непосредственно предшествующем выходному слою, мы сначала идентифицируем все веса между этим скрытым элементом и выходными элементами, с которыми соединен данный скрытый элемент. Затем мы умножаем эти веса на величины EA для этих выходных элементов и складываем полученные произведения. Эта сумма и равна EA для данного скрытого элемента. Вычислив EA для всех элементов скрытого слоя, прилегающего к выходному, мы можем аналогичным образом рассчитать EA и для других слоев, перемещаясь в направлении, обратном тому направлению, в котором активность нейронов распространяется по сети. Отсюда и название алгоритма обратного прослеживания (или обратного распространения) . После того как значение EA для элемента вычислено, подсчитать EW для каждой входной связи элемента уже несложно. Величина EW является произведением EA и активности во входной цепи. Для нелинейных элементов алгоритм обратного распространением включает дополнительный шаг. Перед перемещением в обратном направлении EA необходимо преобразовать в EI скорость, с которой изменяется ошибка по мере изменения суммарного входа элемента. 4.2.2. Описание НС и алгоритма обратного распространения Чтобы обучить нейронную сеть решению какой-либо задачи, мы должны подправлять веса каждого элемента таким образом, чтобы уменьшалась ошибка - расхождение между действительным и желаемым выходом. Для этого нужно, чтобы нейронная сеть вычисляла производную от ошибки по весам (EW) . Другими словами, она должна вычислять, как изменяется ошибка при небольшом увеличении или уменьшении каждого веса. Чаще всего для вычисления EW применяется алгоритм обратного распространением. Чтобы реализовать этот алгоритм, мы сначала должны дать математическое описание нейронной сети. Предположим, что элемент j - типичный элемент выходного слоя, а элемент i - типичный элемент слоя, который предшествует выходному. Активность элемента выходного слоя определяется двухшаговой процедурой. Сначала вычисляется суммарный взвешенный вход Xj с помощью формулы Xj = S (Yi * Wij) , (4.1) i где Yi - уровень активности i-го элемента в предшествующем слое и Wij - вес связи между i-м и j-м элементами. Далее, элемент вычисляет активность Yj с помощью некоторой функции от суммарного взвешенного входа. Обычно применяется сигма-функция: Yj = 1 / (1 + e^(-Xj) ) . (4.2) После того как активности всех выходных элементов определены, сеть вычисляет ошибку, которая определяется выражением E = 1/2 * S (Yj - Dj) ^2, (4.3) j где Yj - уровень активности j-го элемента в верхнем слое, а Dj желаемый выход j-го элемента. Алгоритм обратного распространения состоит из четырех шагов. 1) Вычислить, насколько быстро меняется ошибка при изменении выходного элемента. Эта производная ошибки (EA) есть разность между действительной и ожидаемой активностью. dE EAj = ---- = Yj - Dj. (4.4) dYj 2) Вычислить, насколько быстро изменяется ошибка по мере изменения суммарного входа, получаемого выходным элементом. Эта величина (EI) есть результат шага 1, умноженный на скорость изменения выходного элемента с изменением его суммарного входа. dE dE dYj EIj = = --- * --= EIj Yj (1 - Yj) . (4.5) dXj dYj dXj 3) Вычислить, как быстро изменяется ошибка по мере изменения веса на входной связи выходного элемента. Эта величина (EW) есть результат шага 2, умноженный на уровень активности элемента, из которого исходит связь. dE dE dXj EWij = ---- = --- * --- = EIj Yi. (4.6) dWij dXj dXij 4) Вычислить, как быстро изменяется ошибка с изменением активности элемента из предыдущего слоя. Этот ключевой шаг позволяет применять обратное распространение к многослойным сетям. Когда активность элемента из предыдущего слоя изменяется, это влияет на активности всех выходных элементов, с которыми он связан. Поэтому, чтобы подсчитать суммарное воздействие на ошибку, мы складываем все эти воздействия на выходные элементы. Но эти воздействия нетрудно подсчитать. Этот результат шага 2, умноженный на вес связи к соответствующему выходному элементу. dE dE dXj EAi = ---- = S (--- * ---) = S (EIj Wij) . (4.7) dYi j dXj dYij j Пользуясь шагами 2 и 4, мы можем преобразовать величины EA одного слоя элементов в EA предыдущего слоя. Эту процедуру можно повторять, чтобы вычислять EA стольких предыдущих слоев, сколько их есть. Зная EA для элемента, мы можем воспользоваться шагами 2 и 3, чтобы вычислить EW на его выходных связях. 4.2.3. Современная оценка алгоритма обратного распространения На протяжении нескольких лет после его изобретения алгоритм обратного распространением оставался почти незамеченным, вероятно, потому, что не был в должной мере оценен специалистами. В начале 80-х годов Д. Румельхарт, работавший в то время в Калифорнийском университете в Сан-Диего, и Д. Паркер из Станфордского университете независимо друг от друга вновь открыли алгоритм. В 1986 году Румельхарт, Р. Уильямс, также из Калифорнийского университета в Сан-Диего, и Джеффери Е. Хинтон [5] продемонстрировали способность алгоритма обучить скрытые элементы вырабатывать интересные представления для сложных паттернов на входе и тем самым сделали его известным. Алгоритм обратного распространения оказался на удивление эффективным в обучении сетей со многими слоями решению широкого класса задач [2,5,15]. Но более всего он эффективен в ситуациях, когда отношения между входом и выходом нелинейны, а количество обучающих данных велико. Применяя алгоритм, исследователи создали нейронные сети, способные распознавать рукописные цифры, предсказывать изменения валютного курса и оптимизировать химические процессы. Они даже воспользовались алгоритмом для обучения сетей, которые идентифицируют переродившиеся пред-раковые клетки в анализируемых образцах ткани и регулируют положение зеркал в телескопах, чтобы исключить атмосферные искажения. Р. Андерсен из Массачусетского технологического института и Д. Зипсер из Калифорнийского университета в Сан-Диего показали, что алгоритм обратного распространения представляет собой весьма эффективный инструмент для понимания функций некоторых нейронов в коре головного мозга. Они научили нейронную сеть реагировать на зрительные стимулы, применив алгоритм обратного распространения. Затем они обнаружили, что реакция скрытых элементов удивительно схожа с реакцией реальных нейронов, выполняющих преобразование зрительной информации, поступающей от сетчатки, в форму, необходимую для более глубоких областей мозга, перерабатывающих зрительную информацию. ВЫВОДЫ Метод обратного распространения достаточно хорош при создании представлений о распознаваемом образе в скрытых элементах сети. Алгоритм обратного распространения показал эффективность процедур обучения НС, в которых веса постепенно изменяются, чтобы уменьшить ошибки. Раньше многие ученые полагали, что подобные методы окажутся безнадежными, поскольку должны неизбежно приводить к локально оптимальным, но в более широком масштабе ужасным решениям. Например, сеть для распознавания цифр может устойчиво сходиться к набору весов, при котором она будет путать единицы с семерками, хотя существует набор весов, позволяющий различать эти цифры наряду с другими. Из-за опасений подобного рода распространилось убеждение, что процедура обучения представляет интерес только в том случае, если она гарантирует сходимость к глобально оптимальному решению. Метод обратного распространения показал, что для многих задач глобальная сходимость не является необходимым условием для того, чтобы достичь хороших результатов. С другой стороны, с биологической точки зрения, как подобие работы головного мозга, метод обратного распространения выглядит не очень убедительным. Наиболее очевидная трудность заключается в том, что информация должна проходить по тем же самым связям в обратном направлении, от каждого последующего уровня к предыдущему. Ясно, что этого не происходит в реальных нейронах. Однако этот довод на самом деле является довольно поверхностным. В мозге существует множество путей, ведущих от следующих слоев нервных клеток к предыдущим, и эти пути могут использоваться многообразными способами для передачи информации, необходимой для обучения. Более серьезную проблему представляет собой быстродействие алгоритма обратного распространения. Здесь центральным является вопрос о том, как быстро растет время, необходимое для обучения, по мере возрастания размеров сети. Время, требующееся для вычисления производных от ошибки по весам на заданном тренировочном примере, пропорционально размерам сети, поскольку объем вычислений пропорционален количеству весов. Однако более крупные сети требуют большего количества тренировочных примеров, и им приходится модифицировать веса большее число раз. Следовательно, время обучения растет значительно быстрее, чем размеры сети. Самая серьезная проблема метода обратного распространения заключается в том, что такая НС требует учителя, предоставляющего желаемый выход для каждого тренировочного примера. В отличие от этого человек обучается большинству вещей без помощи учителя. Никто не дает нам детального описания внутренних представлений мира, которые мы должны научиться извлекать из нашего сенсорного входа. Мы учимся понимать речь или зрительные сцены без каких-либо прямых инструкций. Если сеть сталкивается с большим набором сочетаний сигналов, но не имеет никакой информации о том, что с ними следует делать, то, очевидно, перед ней нет четко поставленной задачи. Тем не менее, исследователи разработали несколько универсальных, неконтролируемых процедур, которые могут правильно регулировать весовые параметры сети. Все эти процедуры имеют два общих качества: они оперируют, явно или неявно, с некоторым понятием качества представления и работают, изменяя веса, чтобы повысить качество представления, вырабатываемого скрытыми элементами. Не смотря на отмеченные недостатки применение метода обратного распространения в целях прогнозирования требований оправданно, так как при прогнозировании не возникает ситуации неопределенности действий, которые необходимо проделать с информацией поступающей на вход НС. 5. ПРОГНОЗИРОВАНИЕ КУРСА UKB/USD В данной главе описаны эксперименты по прогнозированию курса американского доллара по отношению к украинскому карбованцу (UKB/USD) . Сначала описаны задачи исследования и общая структура экспериментов. Далее описаны проделанные эксперименты, при этом подробно перечислены особенности каждого из них. Для экспериментов, которые показали удовлетворительные результаты обучения (сеть распознала не менее 80% образов, на которых обучалась) в приложениях приведены таблицы с подробным описанием результатов по каждому образу, который распознавался. 5.1. Общий подход к прогнозированию курса UKB/USD Исследования проводились на основе модели сети с обратным распространением (подробнее смотри главу 3) . Примененная методика прогнозирования подробно описана в главе 4. Целью экспериментов было прогнозирование курса UKB/USD. Для достижения данной цели было проведено исследование влияния представления исторических и прогнозируемых данных на ошибку прогнозирования. Также были рассмотрены вопросы влияния структуры НС на скорость обучения сети и ошибку прогнозирования. При этом ставились следующие задачи: - поиск критериев прогнозирования; - поиск оптимального представления исторических данных о курсе; - поиск оптимального представления результата прогнозирования; - поиск оптимального размера окна; - поиск оптимальной структуры сети. Прогнозирование курса UKB/USD проводилось на основе временной последовательности ежедневных данных о курсе. Такой подход к прогнозированию основан на идее американских экономистов, что для прогнозирования некоторых экономических показателей вполне достаточно исследования истории их изменения. Успешное применение данного подхода другими исследователями [7] для прогнозирования курсов DM/USD и SUR/USD позволяет надеяться на успех прогнозирования UKB/USD. Исходными данными для экспериментов служили ежедневные измерения курса UKB/USD с 15.06.93 по 26.06.95 всего 842 измерений (данные взяты из архивов банка Porto-Franco) . Прогнозировалось среднее значение курса за день (среднее арифметическое дневных курсов покупки и продажи) . Каждый из экспериментов, можно разбить на несколько этапов. Первым этапом было формирование обучающей выборки. На этом этапе определяется вид представления исторических и прогнозируемых данных и происходит формирование наборов, подаваемых на входные нейроны и соответствующих им наборов снимаемых с выходов сети (подробнее смотри раздел 2.2.4) . Большинство опытов прогнозировало не фактический курс, а его относительное изменение (ОИК) . Относительное изменение курса определяется по формуле OIKt = (Kt+1 - Kt) /Kt (5.1) Для автоматизации процесса формирования обучающих выборок был использован пакет MS EXCEL 5.0. Вторым этапом является обучение НС на основе сформированной на первом этапе обучающей выборке. Качество обучения характеризовалось ошибкой обучения, определяемой как суммарное квадратичное отклонение значений на выходах НС в обучающей выборке от реальных значений, полученных на выходах НС. Критерием прекращения обучения было прохождение сетью 1500 итераций или уменьшение ошибки на выходах сети на два порядка, по сравнению с первичной ошибкой. В том случае, если при описании опыта не указано, что произошло снижение ошибки на два порядка, обучение было остановлено по первому критерию. На третьем этапе проводилось тестирование обучения сети. На вход подавалось порядка 4 - 5% наборов из обучающей выборки и определялось качество распознавания сети. Опыт считался успешным, если относительная достоверность распознавания образов была не менее 80%. На четвертом этапе проводилась симуляция прогнозирования. На вход сети подавались наборы, которые не были внесены в обучающую выборку, но результат по ним (прогноз) известен. Результаты успешных опытов приведены в приложениях 2.1-2.3. Каждая из таблиц приложений разделены на две части. В первой расположены результаты тестирования обучения, во второй - результаты симуляции прогнозирования. Первый столбец в таблице описания опытов содержит номер набора в тестовой или симуляционной выборке. Остальные столбцы содержат результаты экспериментов. В них может находиться знак *, или пара цифр. Энак * означает, что данный набор распознан правильно. Цифры в строке обозначают, что при распознавании произошла ошибка. Первая цифра обозначает номер нейрона, который соответствует фактическому значению переменной, а вторая - фактическому. 5.2. Описание экспериментов ЭКСПЕРИМЕНТ 1 ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Данные подаются на входы НС в виде временной последовательности ежедневных измерений фактического курса (в тысячах карбованцев) . ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Выход НС образует 17 классов прогнозируемого результата - курс с шагом от 5 до 25 тыс. крб. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 7: 13: 17 (количество входных нейронов: количество нейронов в скрытом слое: количество выходных нейронов) . РЕЗУЛЬТАТЫ: Неудача. Не были распознаны образы, на которых обучалась сеть. ЭКСПЕРИМЕНТ 2 ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Данные подаются на входы НС в виде временной последовательности ежедневных измерений нормированного десятичного логарифма относительного изменения курса в процентах (ОИК в %) . ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Выход НС образует 20 классов прогнозируемого результата - нормированный десятичный логарифма ОИК в % с шагом 0.05 и два класса, определяющих направление изменения курса - рост или падение (см. таблицу 5.1) . Таблица 5.1. Выходы НС в эксперименте 2.
| 1 | Повышение курса | | 2 | Понижение курса | | 3 | от 0 до 0.05 | | 4 | от 0.05 до 0.10 |............ | 21 | от 0.90 до 0.95 | | 22 | от 0.95 до 1.00 | РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 7: 11: 22 РЕЗУЛЬТАТЫ: Неудача. Не были распознаны образы, на которых обучалась сеть. В экспериментах с 3 по 8 были проделаны попытки улучшить качество результатов полученных в экспериментах 1 и 2. Предполагалось, что этого можно добиться изменяя ширину окна и структуру нейронной сети (количество нейронов в скрытом слое) . Были проведены эксперименты со структурой сети 14: 11: 22,21: 11: 22,14: 6: 22,21: 6: 22,14: 18: 22,21: 18: 22. Все эксперименты закончились неудачей - не были распознаны образы, на которых обучалась сеть. ЭКСПЕРИМЕНТ 9 ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Каждое измерение подавалось на три нейрона: первые два определяли направление изменения курса - рост или падение, на третий подавался нормированный десятичный логарифм ОИК в % с шагом 0.05. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Выход НС образует 20 классов прогнозируемого результата - нормированный десятичный логарифм ОИК в % с шагом 0.05 и два класса, определяющих направление изменения курса рост или падение (см. таблицу 5.1) . РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 21: 11: 22 РЕЗУЛЬТАТЫ: Неудача. Не были распознаны образы, на которых обучалась сеть. В экспериментах с 10 по 13 продолжались попытки улучшить качество результатов. Предполагалось, что этого можно добиться на основе подхода описанного в эксперименте 9, изменяя ширину окна и структуру нейронной сети (количество нейронов в скрытом слое) . Были проведены эксперименты со структурой сети 42: 11: 22,63: 11: 22,42: 18: 22,63: 18: 22. Все эксперименты закончились неудачей - не были распознаны образы, на которых обучалась сеть. Начиная с 14 эксперимента было предложено работать при прогнозировании со свернутым описанием исторических данных. Единичным измерением при таком подходе считается описание периода времени, в течении которого приращение исследуемой переменной оставалось постоянным. Такой период описывается парой чисел. В это паре первое число обозначает приращение переменной, которое держалось в течении некоторого периода, а второе - длительность периода, в течении которого удерживалось это приращение. Далее рассматриваются различные варианты представления предложенного описания данных. Свертка описания исторических данных проводилось на основе временной последовательности ОИК в % (интервал - один день) . ЭКСПЕРИМЕНТ 14. Исследовалось влияние числа прогнозируемых на одной НС переменных на достоверность прогнозирования. Прогнозирование значения и длительности приращения проводилось на двух различных сетях. Окно на входе НС организовано из пар, описывающих промежуток времени (приращение, длительность) . ЭКСПЕРИМЕНТ 14.1. Прогнозирование значения приращения ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: ОИК в % кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.2. Время кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.3. Таблица 5.2. Интервалы кластеризации и соответствующая им кодировка входов для данных по ОИК. Эксперимент 14.
Таблица 5.3. Интервалы кластеризации и соответствующая им кодировка входов для данных по времени. Эксперимент 14.
ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.2. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 10: 7 РЕЗУЛЬТАТЫ: Сеть распознала 80 % образов, на которых обучалась. Было получено 33.3 % правильных прогнозов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 14.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.3. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 9: 4 РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых обучалась, было получено 66.7 % правильных прогнозов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 15 Исследовалось влияние числа прогнозируемых на одной НС переменных на достоверность прогнозирования. Прогнозирование значения и длительности приращения проводилось на одной сети. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе приращения в соответствии с интервалами кластеризации приведенными в таблице 5.2. и о распознанном классе промежутка времени в соответствии с интервалами кластеризации приведенными в таблице 5.3. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 12: 11 РЕЗУЛЬТАТЫ: Сеть распознала 70% образов, на которых обучалась, было получено 14.3% правильных прогнозов. По сравнению с экспериментом 14, результаты ухудшились на 30 - 40%. Значительно увеличилось число "соседних" ошибок и нечеткость в распознавании образов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 16 Исследовалось влияние расположения групп описания исторических данных (приращение и длительность) на входах НС. Организованы окно приращений и окно длительности, подаваемые на входы НС последовательно. ЭКСПЕРИМЕНТ 16.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 14.1. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 10: 7 РЕЗУЛЬТАТЫ: Сеть распознала 80 % образов, на которых обучалась. Было получено 42.9 % правильных прогнозов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 16.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 14.2. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 9: 4 РЕЗУЛЬТАТЫ: Сеть распознала 90% образов, на которых обучалась. Было получено 42.9% правильных прогнозов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 17 ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 16 ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 15 РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 10: 11 РЕЗУЛЬТАТЫ: Сеть распознала 70 % образов, на которых она обучалась, было получено 14.3 % правильных прогнозов. По сравнению с экспериментом 16, результаты ухудшились на 20 - 35%. Значительно увеличилось число "соседних" ошибок и нечеткость в распознавании образов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 18 Дальнейшая работа с НС из эксперимента 14 показала, что классы, кодируемые 10 и 100 (-10 и -100) были неразличимы. Фактически - сеть работала с 5 классами приращения и 3 классами длительности приращения. Для повышения точности представления данных, кодировка классов была изменена. ЭКСПЕРИМЕНТ 18.1. Прогнозирование значения приращения ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: ОИК в % кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.4. Время кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.5. Таблица 5.4. Интервалы кластеризации и соответствующая им кодировка входов для данных по ОИК. Эксперимент 18.
Таблица 5.5. Интервалы кластеризации и соответствующая им кодировка входов для данных по времени. Эксперимент 18.
ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.4. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 10: 7 РЕЗУЛЬТАТЫ: Сеть распознала 90 % образов, на которых обучалась, было получено 42.9 % правильных прогнозов. Результаты приведены в приложении 2.1. ЭКСПЕРИМЕНТ 18.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 18.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.5. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 9: 4. РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых обучалась. Было получено 47.6 % правильных прогнозов. Результаты приведены в приложении 2.1. В экспериментах с 19 по 33 проводился подбор оптимального размера окна. Результаты экспериментов с 19 по 21 приведены ниже и в приложениях. Результаты экспериментов с 22 по 33 отображены только в выводах по результатам экспериментов в конце главы. ЭКСПЕРИМЕНТ 19 ЭКСПЕРИМЕНТ 19.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 14.1. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7 РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых она обучалась, было получено 42.9 % правильных прогнозов. Результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 19.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 14. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 14.2. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 16: 4. РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых обучалась, было получено 57.1 % правильных прогнозов. Результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 20 ЭКСПЕРИМЕНТ 20.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 16. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 16.1. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7. РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых обучалась, было получено 50% правильных прогнозов. Результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 20.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 16. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 16.2. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 16: 4. РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых обучалась, было получено 78 % правильных прогнозов. Результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 21 ЭКСПЕРИМЕНТ 21.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 18. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 18.1. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7. РЕЗУЛЬТАТЫ: Сеть распознала 90 % образов, на которых обучалась, было получено 50 % правильных прогнозов. Результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 21.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 18. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 18.2. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 16: 4. РЕЗУЛЬТАТЫ: Сеть распознала 100 % образов, на которых она обучалась, было получено 64.3 % правильных прогнозов. Результаты приведены в приложении 2.2. На основании 33 экспериментов для прогнозирования был выбран следующий подход: прогнозирование производится на основе периодов стабильности ОИК в %; величина и длительность приращения прогнозируются на разных НС; оптимальный размер окна 14; окна величины и длительности приращения подаются на входы НС последовательно. Начиная с эксперимента 34 мы исследовали влияние интервалов кластеризации и вида кодирования на достоверность прогнозирования. ЭКСПЕРИМЕНТ 34 На вход НС подаются пары (значение, длительность) . ЭКСПЕРИМЕНТ 34.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: ОИК в % кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.6. Время кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.7. Таблица 5.6. Интервалы кластеризации и соответствующая им кодировка входов для данных по ОИК. Эксперимент 34.
Таблица 5.7. Интервалы кластеризации и соответствующая им кодировка входов для данных по времени. Эксперимент 34.
ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.4. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 13: 12. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых она обучалась, было получено 64 % правильных прогнозов, результаты приведены жены в приложении 2.2. ЭКСПЕРИМЕНТ 34.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 34.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.5. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 11: 8. РЕЗУЛЬТАТЫ: сеть распознала 70 % образов, на которых она обучалась, было получено 35.7 % правильных прогнозов, результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 35 Окна величины и длительности приращения подаются на входы НС последовательно. ЭКСПЕРИМЕНТ 35.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 34. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 34.1. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 13: 12. РЕЗУЛЬТАТЫ: сеть распознала 80 % образов, на которых она обучалась, было получено 50 % правильных прогнозов, результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 35.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 34. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: Как в эксперименте 34.2. РАЗМЕР ОКНА: 7 СТРУКТУРА СЕТИ: 14: 11: 8. РЕЗУЛЬТАТЫ: сеть распознала 70 % образов, на которых обучалась, было получено 42.9 % правильных прогнозов, результаты приведены в приложении 2.2. ЭКСПЕРИМЕНТ 36 На вход НС подаются пары (значение, длительность) . ЭКСПЕРИМЕНТ 36.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: ОИК в % кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.8. Время кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.9. Таблица 5.8. Интервалы кластеризации и соответствующая им кодировка входов для данных по ОИК. Эксперимент 36.
Таблица 5.9. Интервалы кластеризации и соответствующая им кодировка входов для данных по времени. Эксперимент 36.
ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.8. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых она обучалась, было получено 52.6 % правильных прогнозов. Результаты приведены в приложении 2.3. ЭКСПЕРИМЕНТ 36.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 36.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.9. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых она обучалась, было получено 47.4 % правильных прогнозов. Результаты приведены в приложении 2.3. ЭКСПЕРИМЕНТ 37 Окна величины и длительности приращения подаются на входы НС последовательно. ЭКСПЕРИМЕНТ 37.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: ОИК в % кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.8. Время кластеризуется и подается на входы НС в соответствии с данными из таблицы 5.10. Таблица 5.10. Интервалы кластеризации и соответствующая им кодировка входов для данных по времени. Эксперимент 37.
ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.8. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 17: 7. РЕЗУЛЬТАТЫ: сеть распознала 90 % образов, на которых она обучалась, было получено 47.4 % правильных прогнозов, результаты приведены в приложении 2.3. ЭКСПЕРИМЕНТ 37.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 37.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.5. РАЗМЕР ОКНА: 14 СТРУКТУРА СЕТИ: 28: 16: 5. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых обучалась, было получено 36.8 % правильных прогнозов. Результаты приведены в приложении 2.3. ЭКСПЕРИМЕНТ 38 На вход НС подаются пары (значение, длительность) . ЭКСПЕРИМЕНТ 38.1. Прогнозирование значения приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 36.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.11. Таблица 5.11. Выходы НС в эксперименте 38.1
| 1 | 10 | | 2 | 9 |....... | 20 | - 9 | | 21 | - 10 | ---СТРУКТУРА СЕТИ: 28: 24: 21. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых обучалась, было получено 47.4 % правильных прогнозов. На данной сети было выполнено прогнозирование на 3 месяца. Результаты приведены в приложении 2.3. ЭКСПЕРИМЕНТ 38.2. Прогнозирование длительности приращения. ОПИСАНИЕ ИСТОРИЧЕСКИХ ДАННЫХ: Как в эксперименте 36.1. ОПИСАНИЕ ПРОГНОЗИРУЕМЫХ ДАННЫХ: С выхода НС снимались данные о распознанном классе в соответствии с интервалами кластеризации приведенными в таблице 5.12. Таблица 5.12. Выходы НС в эксперименте 38.2
| 1 | 15 и дольше | | 2 | 14 |....... | 14 | 2 | | 15 | 1 | -------СТРУКТУРА СЕТИ: 28: 21: 15. РЕЗУЛЬТАТЫ: сеть распознала 100 % образов, на которых обучалась, было получено 52.6 % правильных прогнозов. На данной сети было выполнено прогнозирование на 3 месяца. Результаты приведены в приложении 2.3. ВЫВОДЫ Прогнозирование с помощью НС курса UKB/USD показало эффективность предлагаемого подхода. Наилучшие результаты при симуляции прогнозирования были получены в последнем эксперименте данной серии, что позволяет надеяться на серьезное повышение точности прогнозирования. Исследовалась модель прогнозирования на основе временной последовательности. Первые 13 экспериментов закончились неудачей. В экспериментах с 14 по 35 мы повышали точность прогнозирования в основном за счет изменения структуры сети. Эксперименты показали точность прогнозирования порядка 32%, при 20% "соседних" ошибок. На основании этих экспериментов была выбрана оптимальная структура сети, размер окна и тип представления данных (эксперименты 36,37,38) . Значительное число "соседних" ошибок позволяет повысить точность прогнозирования за счет выделения и распознавания большего числа классов (например, каждый класс - это изменение переменной в пределах 1%) . При таком разбиении "соседняя" ошибка даст максимальную реальную ошибку 2%. Эксперименты также показали, что повышение чувствительности при описании входных данных подаваемых на НС, приводит к повышению точности прогнозирования. При симуляции прогнозирования приращения курса была достигнута достоверность порядка 48% (максимальная ошибка 2%) и при прогнозировании длительности приращения - 52% (при максимальной ошибке 3 дня) . Однако такое качество прогнозирования достигнуто только для одношагового прогнозирования. Для реализации многошагового прогнозирования необходимо применение других моделей и/или изменения периода прогнозирования. Не смотря на данный недостаток и необходимость дальнейшего тестирования и исследований, можно сказать, что на основе предложенной модели возможно создание реального программного продукта прогнозирующего курсы валют даже в условиях нестабильного состояния современной украинской экономики. - ВМДР 90415 - 01 81 01-1 6. ЭКОНОМИЧЕСКИЕ МЕТОДИКИ ВАЛЮТНОГО ПРОГНОЗИРОВАНИЯ Мировая практика выработала два основных подхода к прогнозированию динамики валютного курса фундаментальный и технический. Фундаментальный подход связан с построением моделей, отражающих зависимость курса от набора курсообразующих факторов. Однако на деле подобные прогнозы часто не оправдываются, особенно в кратко- и среднесрочных аспектах, наиболее важных для бизнеса. Ненадежность связана с тем, что сами величины курсообразующих факторов зачастую приходится прогнозировать, а это придает шаткость всей экономико-математической конструкции. Поэтому практики больше склонны применять технический подход, базирующийся на предположении, что сама форма кривой изменения курса может служить ключом к его будущему поведению. Особое внимание при этом уделяется повторяемости определенных фигур и изломов. В данной работе я описал один из способов валютного прогнозирования - метод циклического прогнозирования, позволяющий синтезировать оба подхода и адаптировать их к нашим условиям. Главная его идея состоит в том, что любая, даже самая несовершенная экономика, благодаря рыночному курообразованию обладает способность восстанавливать равновесие, нарушаемое кредитно-денежными эмиссиями. В основе этой способности лежит тенденция к устойчивости реальной денежной массы, т.е. хотя бы частичное приближение ее к исходному уровню в течение определенного периода, образующего денежный цикл. - ВМДР 90415 - 01 81 01-1 Характер цикла определяется степенью нарушения равновесия, связанной с объемом эмиссий. Относительно небольшому увеличению денежной массы (до 30 %) соответствует малый денежный цикл, занимающий 2 - 3 месяца. Большой цикл длится около полугода. Но дело не только в продолжительности, но и в том, что их механизмы существенно различаются. В основе этого различия лежит двойственность реальной денежной массы. С точки зрения национальной экономики реальная денежная масса равна дефлированной номинальной, т.е. общему количеству наличных и безналичных денег, деленному на индекс инфляции. Со стороны валютных отношений реальная денежная масса соответствует номинальной, деленной на индекс изменения курса национальной денежной единицы. В странах с сильной "долларизацией" экономики (к ним, безусловно, относится и Украина) вторая сторона реальной денежной массы приобретает весьма существенное внутриэкономическое значение. Это проявляется, прежде всего, в ходе малого цикла. Он начинается с относительно небольшого усиления кредитно-денежной эмиссии, когда средний дневной прирост денежной массы не превышает 0.5 процента от ее объема. Примерно через три недели новые деньги поступают на валютный рынок, вызывая постепенный подъем курса доллара (на 150 % - в марте-апреле 1993 г., на 130 % в апреле-мае 1994 г.) . Курс с небольшими колебаниями растет в среднем до величины, соответствующей приросту номинальной денежной массы минус индекс инфляции за этот период. Пройдя в значительной мере через доллар, имитированные деньги втягиваются в обычный хозяйственный кругооборот и, как - ВМДР 90415 - 01 81 01-1 показывает кривая инфляции, не столько увеличивают ее темп, сколько замедляют его падение, происходящее после предшествовавшего большого цикла (включающего в себя инфляционный всплеск) . Поэтому восстановление дефлированного показателя реальной денежной массы на практике почти не ощущается. По мере того, как движение новых денег через валютный рынок затихает, спрос на доллары несколько сокращается. Это может вызвать его кратковременное падение (например, в июне 1994 г. - на 116 %) . Снижение курса доллара расширяет реальную денежную массу, сжатую его предыдущим ростом. Она приближается к исходному уровню, существовавшему на начало цикла, после чего наступает кратковременная стабилизация. Таким образом, зная размеры эмиссии, мы можем с достаточной степенью достоверности определить направление, сроки и величину предстоящего изменения валютного курса. Если бы эмиссия проводилась равномерно на протяжении финансового года, денежных циклов могло бы не быть. Их истоки в неравномерном, дискретном характере эмиссии. В данном случае источником характерного для весны малого цикла является неравномерность "посевной" эмиссии, после которой устанавливается "затишье", продолжающееся до августа (1994 г.) или середины июля (1993 г.) . Оно прерывается "урожайной" эмиссией, знаменующей начало большого денежного цикла. Механизм большого цикла основан на взаимодействии процессов изменения курса доллара, инфляции и изменения депозитного процента. Вначале, так же как и при малом цикле, резкий рост номинальной денежной массы вызывает нарастающее повышение курса дол- ВМДР 90415 - 01 81 01-1 лара. Но сразу вслед за этим разворачивается еще более сильная инфляция, перекрывающая это повышение. Ее интенсивность определяется давлением на рыночные цены с двух сторон - и со стороны цен предложения, и со стороны цен спроса. Сильная эмиссия превышает потребности оборота в деньгах, сложившиеся при достигнутом ранее балансе цен. Новые деньги, расширяя спрос, увеличивают те цены, которые покупатели теперь готовы заплатить за товары и услуги. Для анализа этих процессов используется не только кривая инфляции, но и такие аналитические инструменты, как линии спроса и предложения. Линия спроса D показывает зависимость спроса от цены. Поскольку при повышении цен спрос падает, линия спроса имеет вид нисходящей кривой. Но и предложение тоже зависит от цены. Эта зависимость выражается линией предложения S, представленной восходящей кривой, поскольку повышение цен стимулирует рост предложения. Имея такую форму, линии спроса и предложения неизбежно пересекаются. В точке пересечения E устанавливается рыночное равновесие, означающее равенство спроса и предложения. Рыночная цена, при которой это достигается, является ценой равновесия. Интенсивная эмиссия выводит рынок из состояния равновесия. На графике повышение цен спроса отражается сдвигом линии спроса D вправо из положения Do в положение D1. С другой стороны, девальвация карбованца увеличивает цены предложения сначала импортных, а затем и отечественных товаров. Например, рост цен энергоносителей усиливает так называемую инфляцию издержек. Это отражается на графике смещением линии предложения S вверх из положения So в положение S1. В результате, при неизменном физическом объеме товарооборота Q, рыночные цены повышаются с уровня Po до уровня P1. Компьютерное моделирование этих процессов позволяет рассчитывать интенсивность инфляции в зависимости от объема эмиссии. Темп инфляции имеет существенно важное значение для валютного прогнозирования по нескольким причинам, связанным с выполнением деньгами двух основных функций - средства обращения и средства сбережения (сохранения стоимости) . Инфляция увеличивает потребность в карбованцах, прежде всего для осуществления сделок и соответственно несколько сокращает спрос на доллары. Поскольку для удовлетворения этой потребности начинают "сбрасываться" доллары, увеличивается рыночное предложение последних. Тем самым относительное сокращение спроса и рост предложения долларов способствуют снижению или стабилизации валютного курса. Но этим влияние инфляции не ограничено. Примерно через два месяца после начала гиперинфляции наступает перелом в динамике дипозитного процента, и в дальнейшем процент следует за изменением индекса инфляции. В свою очередь рост депозитного процента увеличивает склонность к сбережениям в карбованцах и относительно сокращает спрос на доллары для сбережения, оказывая сдерживающее воздействие на валютный курс. Правда, сейчас это воздействие значительно слабее, чем было раньше, в силу пошатнувшегося доверия к банкам, не говоря уже о трастах и страховых компаниях. Поэтому с конца 1994 г. более ощутимой становится не зависимость валютного курса от депозитного - ВМДР 90415 - 01 81 01-1 процента, а, напротив, зависимость процента от динамики курса. Так, снижение и стабилизация курса, начавшиеся с ноября прошлого года, внесли свою лепту в наступивший через три недели аналогичный перелом в динамике депозитного процента. Таким образом, несмотря на всю сложность взаимодействия факторов, определяющих динамику курса, вполне реально проследить их причинно-следственную зависимость и учесть ее при прогнозировании не только малого, но и большого денежного цикла. Тем более что в основе и того, и другого лежит, по существу, одно и то же явление устойчивость реальной денежной массы. Главное различие между ними состоит в том, что в рамках малого цикла восстанавливается валютный показатель реальной денежной массы, в то время как сложный цикл восстанавливает и дефлированный показатель. Более того, восстановление дефлированного показателя в силу описанного выше взаимодействия цен предложения и цен спроса происходит интенсивней, чем валютного. В целом за период большого цикла рост валютного курса, несмотря на свою интенсивность, отстает от инфляции, и тем более - от роста номинальной денежной массы. Одна из причин этого состоит в том, что ставшая уже традиционной осенняя гиперинфляция, повышая спрос на карбованцы, тормозит тем самым дальнейший рост курса и дополняется инфляцией доллара. К этому же времени дает о себе знать сокращение эмиссии, происходящее обычно к концу октября - началу ноября. Кроме того, под впечатлением гиперинфляции правительство и Нацбанк каждый год принимают в ноябре-декабре еще и сдерживающие меры административного характера, демонстрируя в этой области немалую - ВМДР 90415 - 01 81 01-1 изобретательность. Если добавить к этому увеличение спроса на карбованцы, связанное с окончанием хозяйственного года, то станет совершенно очевидной закономерность стабилизации валютного курса, завершающей денежный цикл. Недооценка этой цикличности стала одной из причин краха трастовых и страховых компаний, рассчитывавших на более равномерный рост доллара, и именно по этой причине многие фирмы зимой 1993-94 года оказались в тяжелом положении. Кроме того, в циклическом анализе необходимо обязательно учитывать новые веяния в монетарной политике государства. Очевидна, например, направленность нынешней весенней валютно-финансовой политики на сглаживание "посевного" цикла и стабилизацию курса карбованца. Поэтому, предполагая, что соответствующим должностным лицам уже более или менее известен механизм денежного цикла, легче предугадать поведение правительства и Нацбанка. ПРИЛОЖЕНИЯ ПРИЛОЖЕНИЕ 1. Еженедельные продажи режущего инструмента (100 наблюдений, читать сверху вниз, слева направо)
ПРИЛОЖЕНИЕ 2.1 Результаты экспериментов 14-18
ПРИЛОЖЕНИЕ 2.2 Результаты экспериментов 19-21,34,35
ПРИЛОЖЕНИЕ 2.3 Результаты экспериментов 36-38
ЛИТЕРАТУРА 1. Aбу-Мустафа Я. С., Псалтис Д. Оптические нейронно-сетевые компьютеры//В мире науки, 1987. N 5. С. 42-50. 2. Барцев С. И. Некоторые свойства адаптивных сетей (программная реализация) . - Красноярск: Институт физики СО АН СССР, 1987. 3. Барцев С. И., Охонин В. А. Адаптивные сети обработки информации. - Красноярск: Институт физики СО АН СССР, 1986. 4. Гольцев А. Д. Яркостная сегментация изображения при помощи нейроподобной сети.//Автоматика 1965 - N 5 - с. 40-50. 5. Джеффри Е. Хинтон. Как обучаются нейронные сети.// В мире науки - 1992 - N 11 - N 12 - c. 103-107. 6. Иванченко А. Г. Персептрон - системы распознавания образов.// К.: Наукова думка, 1972. 7. Картавцев В. В. Нейронная сеть предсказывает курс доллара? // Компьютеры + программы - 1993 - N 6(7) - с. 10-13. 8. Куссуль В. М., Байдык Т. Н. Разработка архитектуры нейроподобной сети для распознавания формы объектов на изображении.//Автоматика - 1990 - N 5 - с. 56-61. 9. Маккалох Дж., Питтс У. Логические исчисления идей, относящихся к нервной деятельности.// Автоматы. М.: ИЛ, 1956. 10. Масалович А. И. От нейрона к нейрокомпьютеру.// Журнал доктора Добба - 1992 - N 1 - с. 20-23. 11. Минский М., Пейперт С. Персептроны. М.: МИР, 1971. С. 261. 12. Розенблат Ф. Аналитические методы изучения нейронных сетей.// Зарубежная радиоэлектроника. - 1965 - N 5 - с. 40-50. 13. Розенблат Ф. Принципы нейродинамики.// М.: МИР, 1965. 14. Соколов Е. Н., Вайтнявичус Г. Г. Нейроинтеллект: от нейрона к нейрокомпьютеру. - М.: Наука, 1989. С. 283. 15. Суворов С. В., Матихина Н. Ю. Программное моделирование нейроподобных структур.//Распределенная обработка информации. - Улан-Уде, 1989, - с. 28. 16. Трикоз Д. В. Нейронные сети: как это делается? // Компьютеры + программы - 1993 - N 4(5) с. 14-20. 17. Тэнк Д. У., Хопфилд Д. Д. Коллективные вычисления в нейроноподобных электронных схемах.//В мире науки. 1988. N 2. С. 44-53. 18. Цуприков С. Нейронные вычисления берутся на вооружение финансистами.// Computerworld Moscow - 1985 - N 7 - с. 57-58. - 19. Чертков М., Грималюк А. Методика валютного прогнозирования.// Одесские деловые новости 1995 - май N 16 - с. 4. 20. Aarts E. H. L., Korst J. H. M. Boltzmann machines and their applications//Lect. Notes Comput. Sci. 1987. V. 258. P. 34-50. 21. Aarts E. H. L., Korst J. H. M. Boltzmann machines for travelling salesman problem//European J. Oper. Res. 1989. V. 39. P. 79-95. 22. Abu-Mostafa Y. S., Jaques J. N. St. Information capacity of the Hopfield model//IEEE Trans. Inform. Theory. 1985. V. 31. P. 461. 23. Ackley D. H., Hinton G. E., Sejnowski T. J. A learning algorithm for Bolzmann machines//Cognit. Sci. 1985. V. 9. N 1. P. 147-169. 24. Amari S. Field theory of self-organizing neural networks//IEEE Trans. Syst., Man, Cybern. 1983. V. 13. P. 741. 25. Artificial Intelligence.// Amsterdam: Time - Life - Books, 1986. 26. Athale R., Stirk C. W. Compact architectures for adaptive neuraal nets//Ibid. 1989. V. 28. N 4. 27. Bardcev S. I., Okhonin V. A. The algorithm of dual functioning (back-propagation) : general approach, vesions and applications. Krasnojarsk: Inst. of biophysics SB AS USSA - 1989. 28. Carpenter G. A., Grossberg S. A massively parallel architecture for a self-organizing neural pattern recognition machine.//Comput. Vision Graphics Image Process. 1986. V. 37. p. 54-115. 29. Cohen M. A., Grossberg S. Absolute stability of global pattern formation and parallel memory storage by competitive neural networks//IEEE Trans. Syst., Man, Cybern. 1983. V. 13. N 5. P. 815-826. 30. Computing with neural circuits: a model.//Science, 1986. V. 233. p. 625-633. 31. Cross Michael. Brain ware hits Japanese computers.// New Sci. - 1988 - 120, # 1640 - p. 33. 32. Dayhoff J. Neural network architectures.//New-York: Van Nostrand reinhold, 1991. 33. Fogelman Soulie F. Neural networks, state of the art, neural computing.// London: IBC Technical Services, 1991. - 34. Fox G. C., Koller J. G. Code generation by a generalized neural networks: general principles and elementary examples.//J. Parallel Distributed Comput. 1989. V. 6. N 2. P. 388-410. 35. Hecht-Nielsen R. Neurocomputing: picking the human brain.// IEEE SPECTRUM 1988 - V. 25. N 3 - p. 36-41. 36. Hebb D. O. The organization of behaviour. N. Y.: Wiley, 1949. 37. Hopfield J. J. Neural networks and physical systems with emergent collective computational abilities.//Proc. Natl. Acad. Sci. 1984. V. 9. p. 147-169. 38. Hopfield J. J., Tank D. W. Neural computation of decision in optimization problems.//Biol. Cybernet. 1985. V. 52. p. 39. Hopfield J. J., Feinstein D. I., Palmer F. G. Unlearning has a stabilizing effect in collective memories//Nature. 1983. V. 304. P. 141-152. 40. Hopfield J. J., Tank D. W. Neural computation of decision in optimization problems//Biol. Cybernet. 1985. V. 52. P. 141-152. 41. Jeffery W., Rosner R. Neural network processing as a tool for friction optimization.//Neuronet Comput. Conf., Snowbird, Utah, Apr. 13-16,1986. New York, N. Y., 1986 - p. 241-246. 42. Kuzewski Robert M., Myers Michael H., Grawford William J. Exploration of fourword error propagation as self organization structure.//IEEE Ist. Int. Conf. Neural Networks, San Diego, Calif., June 21-24,1987. V. 2. - San Diego, Calif., 1987. - p. 89-95. 43. Lippmonn Richard P. Gold Ben Neuronet classifiers useful for speech recognition.// IEEE Ist. Conf. Neural Networks, San Diego, (Calif) , 1987 - p. 417-425. 44. Montgomery, Douglas C. Forecasting and time series analysis./Douglas C. Montgomery, Lynwood A. Johnson, John S. Gard iner. - 2nd ed. - ISBN 0-07-042858-1. 45. Neural Computing.// London: IBE Technical Services, 1991. 46. Rosenblatt F. The peseptron: a probabilistic model for information storage and organization in the brain//Psychol. Rev. 1958. V. 65. P. 386. - 47. Rosenblatt F. Principles of neurodynamics. Spartan., Washington, D. C., 1962. 48. Rumelhart B. E., Minton G. E., Williams R. J. Learning representations by back propagating error.// Wature, 1986. V. 323. p. 1016-1028. 49. Takefuji D. Y. A new model of neural networks for error correction.//Proc. 9th Annu Conf. IEEE Eng. Med. and Biol. Soc., Boston, Mass., Nov. 13-16,1987. V. 3, New York, N. Y., 1987 - p. 1709-1710. 50. Treliven P. Neurocomputers.// London: University college, 1989. |