Версия для печати.

Различные критерии точности как целевые функции обучения адаптивных систем.
03.11.03
Федотов В.Ю.

Практичную идею можно использовать
и с правой, и с левой стороны.
С. Е. Лец

     Как было показано в наших предыдущих публикациях, точность одного и того же прогноза можно измерять различными критериями. При этом получать различные оценки. Так, неточный прогноз с точки зрения численного значения может быть весьма точен с точки зрения прогноза направления. Какую практическую пользу из этого можно извлечь? Другими словами, что дает или может дать применение различных критериев точности?
     Для ответа на эти вопросы рассмотрим сначала схему обучения моделей прогнозирования, хорошо известную в теории нейронных сетей. Задача состоит в том, чтобы получить с помощью какой-нибудь модели не только прогноз, но и сразу возможную его ошибку. Это позволяет сформировать степень доверия к прогнозируемому значению еще до того момента, когда станут известны будущие реальные значения.
     Особенностью адаптивных систем является способность подстраивать свои внутренние параметры под динамику прогнозируемого ряда. Процесс подстройки параметров называется обучением модели. Обучение может проводиться «без учителя» и «с учителем»: в первом случае изменение параметров модели происходит в соответствии с внутренним алгоритмом, заложенным в модель, а во втором случае нужно явное указание, какое изменение лучше или хуже. Часто в качестве «мнения учителя» выступает величина ошибки прогноза, называемая целевой функцией, и цель обучения – настроить параметры таким образом, чтобы она была минимальна. Множество данных, на котором происходит минимизация, называется тренировочным или обучающим множеством. При таком способе обучения возникает одна очень серьезная проблема – «overfitting». Явление это связано со случайным выбором самого тренировочного множества. Сначала, при первых шагах обучения, модель начинает улавливать искомую зависимость, что приводит к уменьшению ошибки – целевой функции. Однако, при дальнейшем обучении, стремясь уменьшить ошибку, параметры подстраиваются под особенности наблюдаемого тренировочного множества. При этом модель уже описывает не закономерность динамики значений ряда, а особенности конкретного его подмножества, выбранного в качестве тренировочного множества. Естественно, в этом случае точность прогноза вперед (за пределы тренировочного множества) падает. Существуют разные способы борьбы с этим явлением. Один из них заключается в том, что все множество данных разбивается на два подмножества. На одном из них происходит обучение модели, другое, называемое тестовым множеством, служит для проверки работоспособности модели за пределами тренировочного множества. На каждом шаге обучения происходит изменение параметров модели, уменьшающее значение целевой функции именно на обучающем множестве. Однако, помимо этого, вычисляется ошибка прогноза при текущих параметрах и на тестовом множестве. Какое-то время ошибки уменьшаются на обоих множествах. После определенного шага ошибка на тестовом множестве снова начинает возрастать, в то время как ошибка на обучающем множестве продолжает падать. Считается, что на этом шаге заканчивается «настоящее» обучение и наступает «overfitting». Приведенные рассуждения проиллюстрированы на рис. 1.


Рисунок 1. Демонстрация "overfitting" при обучении модели

     На первом шаге строится прогноз моделью со случайными значениями параметров. При этом ошибка одинакова на тренировочном и тестовом множестве. Примерно до 60 шага происходит «реальное» обучение, после чего ошибка на тестовом множестве начинает возрастать, что свидетельствует о начале «overfitting».
     Таким образом, прогноз на тестовом множестве служит эмуляцией применения модели. Если выбрать тестовое множество максимально близко по времени к текущему моменту и достаточной величины, то подсчет ошибки на нем даст оценку величины будущего прогноза.
     Применение различных критериев для оценки точности на тестовом множестве дает информацию о том, как нужно пользоваться прогнозом. Подробнее об этом написано в статье «Ошибки определения направления».
     Кроме того, различные ошибки могут использоваться как целевые функции для обучения. При обучении нейросетей, например, обычно используют RMSE или NMSE. Стоит ли удивляться тому, что обученная нейронная сеть показывает весьма посредственные результаты с точки зрения GRAD? Вместо этого можно использовать различные критерии для выбора архитектуры и целевой функции обучения, чтобы получить разные модели, предсказывающие хорошо только с точки зрения величины какой-либо одной ошибки. В качестве же универсальной целевой функции для обучения может выступать обобщенный критерий G, предложенный в статье «Комплексный критерий G: разброс и направление».
     Таким образом, использование нескольких критериев при оценке качества прогноза дает, по меньшей мере, два преимущества: