Нейросети - Тренировка и тестирование сети



Сколько должна продолжаться тренировка сети? До тех пор, пока она продолжает хорошо обобщать, т.е., пока она способна давать наилучшие возможные результаты на независимых данных.
Большинство экспертов сходятся во мнении, что основная причина неудачной работы нейросетей состоит в их перетренировке. Такая сеть запоминает тренировочный набор, но неспособна дать хороший ответ на новых данных, прежде незнакомых для нее.
Где же выход? Давайте рассмотрим два типа задач.
В задачах первого типа сеть тренируется на всем множестве возможных примеров. Вы хотите, чтобы сеть выучила тренировочные примеры как можно лучше. В этом случае следует продолжать тренировку сети, пока результаты на тренировочном наборе не перестанут улучшаться.
Для задач второго типа количество возможных тренировочных примеров бесконечно или очень велико, а тренировочный набор является лишь представителем этого огромного количества тренировочных примеров. В задачах такого типа сети справляются с тренировочными примерами, но терпят неудачу на новых данных.
Однако решение существует. Оно реализовано в NeuroShell 2 под названием Калибровка. При Калибровке создается полностью независимый набор примеров, называемый тестовым набором, который используется для оценки того, насколько хорошо сеть предсказывает или классифицирует. Обычно мы используем тестовый набор, составляющий примерно 20 процентов от величины тренировочного набора.
Калибровка работает по-разному в зависимости от используемого Вами типа нейронной сети. Для сетей с обратным распространением ошибки Калибровка использует данные из тренировочного и тестового наборов для определения оптимальной точки сохранения сети в тот момент, когда она хорошо обобщает на новых данных. Для сетей ВНС и НСОР Калибровка используется для определения оптимального параметра сглаживания.
За дальнейшей информацией по поводу использования Калибровки обращайтесь к разделам Сети с обратным распространением - Калибровка, Обучение НСОР и Обучение ВНС.
Содержание раздела