Предположим, что у нас есть следующий набор данных, где 's' обозначает 'шаг'.
f1 f2 f3 f4 target
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
Модель состоит из 4 (временных) шагов.И это дает одно число в качестве выхода (цель).В самом первом примере вход step1 равен 1, вход step2 равен 2, input step3 равен 3, а input step4 равен 4. И мы будем обучать модель последовательности (с RNN, LSTM или чем-то еще), которая затем выдаст «5«Для этой конкретной последовательности.И логика такая же, как и в других примерах.
Я обеспокоен тем, как разделить такой набор данных на наборы train и dev.(Просто пока игнорируйте набор тестов.)
Альтернатива 1: Скажите, что первые 3 выборки составляют набор поездов, а следующие 2 выборки составляют набор разработчиков, как показано ниже..
Набор поездов:
f1 f2 f3 f4 target
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
Набор разработчиков:
f1 f2 f3 f4 target
4 5 6 7 8
5 6 7 8 9
Моя задача: если вы посмотрите на последний образец набора поездов ([3, 4,5, 6], 7) и сэмпл первого набора разработчиков ([4, 5, 6, 7], 8), вы увидите, что 3 шага ввода идентичны.(И есть похожая проблема даже с другим примером набора разработчика.)
Q1: Является ли проблемой то, что некоторые шаги ввода идентичны?Или мы можем сказать, что это не должно иметь значения только потому, что (1), даже если шаги ввода идентичны, они используются на разных шагах последовательности и (2) целевые значения все еще различны для каждого примера последовательности.
Q2: В чем проблема, описанная выше, как должен создаваться набор тестов?