Нужен ли валидационный участок для обучения НС?

6 марта 2018, 16:05
elibrarius
0
102

Принято разбивать даныые на 3 участка train|valid|test

В darch участок valid можно включить в отбор лучшей модели
darch.returnBestModel.validationErrorFactor = valErF,# важность валидационного участка, по умолчанию 0,63

Использование valid как есть нерационально, т.к. модель будет подгоняться под него. Поэтому применил перемешивание его с train участком.

Но даже и это не дало хорошего результата, т.к. в зависимости от удачности перемешивания точно так же происходит подгонка под перемешанный участок valid.

Делая разную инициализацию ГСЧ перед перемешиванием - получал разные результаты обучения - очень сильно отличающиеся друг от друга, как по ошибке, так и по кол-ву сделок.

В итоге решил отказаться от valid участка. Тест без него показал вариант близкий к удачному варианту перемешивания. Но так будет получен стабильный результат не зависимо от удачности перемешивания.

valid- используется как один из вариантов регуляризации модели, т.к. его теперь исключил, то остается еще несколько методов в запасе.

Дополнение:

результаты выше были получены при подаче на вход НС одного из шумовых предикторов, который не давал НС обучаться лучше 55%. Т.е. подгонка происходила именно с этим шумовой предиктором на валидационном участке.
После отсева шумового предиктора ситуация может измениться. И подгонка будет уже не под Valid участок, а получится именно обучение закономерностям, с небольшой подгонкой на valid участке. Нужно проверять.

Поделитесь с друзьями: