Прогнозирование на основе аппарата нейронных сетей
Разработка прогнозирующих систем: понятие прогноза и цели его использования, методы прогнозирования, модели временных последовательностей. Модели нейронных сетей: Маккалоха, Розенблата, Хопфилда. Нейронные сети и алгоритм обратного распространения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.11.2009 |
Размер файла | 79,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Прогнозирование на основе аппарата нейронных сетей
Аннотация
В данной дипломной работе разработан оригинальнй подход к проблеме прогнозирования, на основе нейронных сетей. При помощи нейронной сети основанной на алгоритме обратного функционирования, были спрогнозированы изменения курса доллара США по отношению к украинскому карбованцу. Эксперимент дал хорошие результаты по достоверности. Разработанна модель прогнозирования может быть применена и при прогнозировании других экономических показателей.
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 Прогноз и цели его использования
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
Введение
Целью данной работы является разработка методов прогнозирования основанных на нейронных сетях (НС) , которые может быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений. Эти методы анализируют исторические данные о переменной с целью оценить ее будущее изменение.
Для достижения указанной цели необходимо решить следующие задачи: провести анализ проблемы прогнозирования; провести сравнительный анализ известных моделей НС; выбрать модель, обеспечивающую эффективное решение задачи прогнозирования; провести исследование предложенной модели; реализовать тестовый пример для выбранной модели.
Основное содержание работы: Во введении сформулирована цель и основные задачи исследования, изложены основные положения разделов работы.
В первой главе мы обсуждаем некоторые общие аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы, касающиеся разработки прогнозирующих систем.
Во второй главе мы обсуждаем известные модели НС: модель Маккалоха и Питтса; модель Розенблата; модели Хопфилда и Больцмана; модель на основе обратного распространения. Рассмотрена структура и особенности каждой из моделей. Перечислены основные задачи решаемые на основе НС, описаны способы реализации НС. Проведен анализ известных моделей НС с точки зрения решения задачи прогнозирования.
В третьей главе описан способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере.
В четвертой главе мы приводим детальное описание метода обратного распространения - способа обучения многослойных НС. Подробно описана НС для распознавания рукописных цифр и процесс ее обучения. В главе также проведена современная оценка метода обратного распространения.
В пятой главе описаны эксперименты по прогнозированию курса американского доллара по отношению к украинскому карбованцу (UKB/USD) . Сначала описаны задачи исследования и общая структура экспериментов. Далее описаны проделанные эксперименты, при этом подробно перечислены особенности каждого из них. Для экспериментов, которые показали удовлетворительные результаты обучения (сеть распознала не менее 80% образов, на которых обучалась) в приложениях приведены таблицы с подробным описанием результатов по каждому образу, который распознавался.
Завершается работа заключением, в котором сделаны основные теоретические и практические выводы, указана перспектива дальнейших исследований, а также приведены список использованной литературы и приложения.
- ЗАКЛЮЧЕНИЕ В данной работе разработан ряд методов прогнозирования основанных на нейронных сетях (НС) , которые могут быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений.
В работе обсуждены аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы касающиеся разработки прогнозирующих систем, На основании анализа известных моделей НС: модели Маккалоха и Питтса; модели Розенблата; модели Хопфилда и Больцмана; модели на основе обратного распространения, для реализации прогнозирующей системы было предложено применение модели на основе обратного распространения. Предложен способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере, показывающий эффективность применения НС для прогнозирования.
Разработан тестовый пример для предложенного метода на основании прогнозирования курса USD/UKB. Проведенные в данной предметной области эксперименты показали высокую точность прогнозирования. На основании проделанных экспериментов возможно построение программного продукта для прогнозирования курсов валют даже в условиях нестабильного состояния современной украинской экономики.
В целом мы считаем результаты работы тем базисом, на основании которого возможно построение универсального прогнозирующего комплекса, являющегося составной частью общей системы управления.
1. Прогнозирующие системы. Состояние проблемы
В данной главе мы обсуждаем некоторые общие аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы, касающиеся разработки прогнозирующих систем.
1.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 (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют.
Подобные документы
Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.
курсовая работа [4,9 M], добавлен 14.12.2014Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015