2017-02-05 2 views
1

Я в основном понимаю, как работает кросс-валидация k-fold, и начали внедрять его в мои сценарии MATLAB, однако у меня есть два вопроса.K-fold Cross-Validation - инициализировать сеть после каждой складки или нет?

При использовании его для выбора сетевых функций (скрытых единиц, распада веса до и без итераций в моем случае). Должен ли я повторно инициализировать веса после каждой «складки», или я должен просто подпитывать свою следующую тренировку в уже обученную сеть (у нее есть веса, которые были оптимизированы для предыдущей складки)?

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

Кроме того, проверив сеть с использованием проверки k-fold и выбранных сетевых гипер-параметров и т. Д., И я хочу начать использовать сеть, я прав, полагая, что я должен прекратить использовать проверку k-fold и просто тренироваться один раз, используя все доступные данные?

Большое спасибо за помощь.

ответ

2

Да, вы должны повторно инициализировать весы после каждой складки, чтобы начать с «пустой» сети. Если вы этого не сделаете, каждая сводка будет «течь» друг в друга, и это не то, что должно делать K-Fold CV.

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

+0

Большое спасибо, это именно то, что я надеялся услышать. – Archie

Смежные вопросы