Использование ГА+ИНС для решения задачи прогнозирования
Каким образом можно применять гибрид ГА+ИНС в контексте задачи прогнозирования временного ряда? Одним из интуитивно приемлемых вариантов является «метод скользящего окна». При этом временной ряд разбивается на фрагменты («окна»), состоящие из последовательности элементов заданной длины («ширина окна»). Каждое последующее окно располагается во временном ряду на позицию правее (Рис.1.11 а). Такой подход воплощает идею сглаживания ВР. При этом предполагается, что данные некоторого окна могут использоваться для определения (прогноза) значения, непосредственно следующего за окном (Рис.1.11 б).
|
Рис. 1.11 а) три последовательных окна шириной 5: б) окно и определяемый им результат прогноза.
Таким образом, временной ряд может служить источником вполне естественного для ИНС обучающего множества. Пример, представленный на Рис.1.11 может породить следующее (небольшое) обучающее множество:
Таблица
Входной вектор |
Выходной вектор (цель обучения) | |
1 |
t1 t2 t3 t4 t5 |
t6 |
2 |
t2 t3 t4 t5 t6 |
t7 |
3 |
t3 t4 t5 t6 t7 |
t8 |
4 |
t4 t5 t6 t7 t8 |
t9 |
Типовым приемом прогнозирования является разбиение исходного множества на данные инициализации и на данные проверки. В методике использования многослойных ИНС имеется аналогия - данные для обучения и данные для проверки корректности обучения. Например, мы можем использовать 1-й и 2-й пример для обучения, а 3-й и 4-й - для проверки качества прогноза. Есть также предположение, что в силу специфики обучения и применения ИНС в нашем случае тестовое множество можно не использовать - критерием качества может быть классический MSE-критерий.
Описание программной системы, реализующей прогнозирующие нейронные сети
Программная реализация системы выполнялась на языке C# средствами Microsoft Visual Studio 2010. Диаграммы классов, используемые при проектировании системы, созданы с помощью Model Maker 11 C# Edition.
Программные классы системы формируют несколько основных пространств имен:
· NeuroClasses - классы, реализующие функционирование ИНС;
· GeneticClasses - классы, реализующие функционирование ГА;