Может ли ошибка проверки набора данных быть выше, чем ошибка теста в течение всего процесса обучения нейронной сети?
Я тренирую сверточную нейронную сеть, используя библиотеку pylearn2, и во время всех ephocs моя ошибка проверки достоверно выше, чем ошибка тестирования. Является ли это возможным? Если да, то в каких ситуациях?
2 ответа
перемещение комментария к ответу; изменение моего предыдущего ответа казалось неправильным
Полный набор данных может быть неправильно перемешан, поэтому примеры в тестовом наборе легче классифицировать.
Повторение эксперимента с примерами, перераспределенными между подмножествами train / valid / test, покажет, если это так.
Обучающий набор - это набор изображений, которые подаются в сеть, ошибки вычисляются на другом конце, а затем параметры сети корректируются на основе этих ошибок. Набор проверки - это набор изображений, которые подаются в сеть, ошибки вычисляются, но параметры сети НЕ настраиваются.
По сути, вы используете проверку, чтобы увидеть, насколько хорошо сеть работает с изображениями, с которыми она не была обучена.
С этой точки зрения вы должны ожидать, что в большинстве случаев ошибка будет выше valid_y_misclass
чем на train_y_miscalss
,
Смотрите здесь для обсуждения наборов изображений.
Редактировать: пример с использованием нотации pylearn2
Размер поезда: 700
Примеры; Размер действительного набора: 300
Примеры
После некоторой тренировки (скажем, 5 эпох) сетевые гвозди 650
снаружи 700
примеры в учебном наборе и 200
снаружи 300
в действительном наборе.
В итоге после 5 эпох:
train_y_misclass = (700 - 650) / 700 = 0.07142857142
valid_y_misclass = (300 - 200) / 300 = 0.33333333333
valid_y_misclass
> train_y_misclass
и этого следовало ожидать.