Создание и обучение нейронной сети для прогнозирования временного ряда
Нейронные сети - это очень мощный и гибкий механизм прогнозирования. При определении того, что нужно прогнозировать, необходимо указывать переменные, которые анализируются и предсказываются. Здесь очень важен требуемый уровень детализации. На используемый уровень детализации влияет множество факторов: доступность и точность данных, стоимость анализа и предпочтения пользователей результатов прогнозирования. В ситуациях, когда наилучший набор переменных неясен, можно попробовать разные альтернативы и выбрать один из вариантов, дающий наилучшие результаты. Обычно так осуществляется выбор при разработке прогнозирующих систем, основанных на анализе исторических данных.
Алгоритм обучения нейронной сети - это набор математических действий, который позволяет по вектору ошибки вычислить такие поправки для весов нейронной сети, чтобы суммарная ошибка (для контроля процесса обучения обычно используют сумму квадратов ошибок по всем выходам) уменьшилась. Применяя эти действия снова и снова, добиваются постепенного уменьшения ошибки для каждого примера обучающего множества.
После такой циклической многократной подстройки весов нейронная сеть даст правильные (или почти правильные) ответы на все (или почти все) примеры из базы данных, т. е. величины суммарной ошибки достигнут нуля или приемлемого малого уровня для каждой обучающей пары. В таком случае говорят, что "нейронная сеть обучена", т. е. готова к применению на новых, заранее не известных, данных.
Искусственные нейронные сети нашли своё применение в различных областях техники. Дальнейшее повышение производительности компьютеров все в большей мере связывают с развитием именно этих сетей, в частности, с нейрокомпьютерами, основу которых составляет искусственная нейронная сеть.
Первое что требуется реализовать это создание полносвязанной нейронной сети. Фактически это значит что необходимо иницилиазовать матрицы весов рандомными значениями.
Временной ряд представляет собой последовательность векторов, x(t), t=0,1,….., где t — истекшее время. Рассматриваемые методы легко обобщить вектору серии.
В обучении используется метод обратного распространения. Метод обратного распространения является одним из простейших и наиболее общих методов контролируемого обучения многослойных нейронных сетей. Основной подход в обучении — это начать с неподготовленной сети, представление учебного образца во внутреннем слое, передача сигналов через сеть и определение выхода в выходном слое. Эти выходы сравниваются с целевыми значениями; любое отличие соответствует ошибке. Эта ошибка или критерий функции — это некоторая скалярная функция весов и сводится к минимуму, когда сетевые выходы соответствуют желаемым результатам.
2. Базовые идеи лежащие в основе искусственных нейронных сетей [Электронный ресурс] // URL: http://www.neuropro.ru/neu1.shtml (дата обращения: 3.05.2016).