Поиск гиперпараметров «look_back» и «look_ahead» для моделей Seq2Seq

Для архитектур глубокого обучения Seq2Seq, а именно LSTM/GRU и многомерного, многошагового прогнозирования временных рядов, важно преобразовать данные в трехмерное измерение: (batch_size, look_back, number_features). Здесь look_back определяет количество прошлых точек данных/выборок, которые следует учитывать при использовании number_features из набора обучающих данных. Точно так же необходимо определить look_ahead , который определяет количество шагов в будущем, для которых вы хотите, чтобы ваша модель прогнозировала.

У меня есть написанная функция, которая поможет достичь этого:

      def split_series_multivariate(data, n_past, n_future):
    '''
    Create training and testing splits required by Seq2Seq
    architecture(s) for multivariate, multistep and multivariate
    output time-series modeling.
    '''
    X, y = list(), list()
    
    for window_start in range(len(data)):
        past_end = window_start + n_past
        future_end = past_end + n_future
        if future_end > len(data):
            break
            
        # slice past and future parts of window-
        past, future = data[window_start: past_end, :], data[past_end: future_end, :]
        # past, future = data[window_start: past_end, :], data[past_end: future_end, 4]
        X.append(past)
        y.append(future)
        
    return np.array(X), np.array(y)

Но look_back и look_ahead — это гиперпараметры, которые необходимо настроить для данного набора данных.

      # Define hyper-parameters for Seq2Seq modeling:

# look-back window size-
n_past = 30

# number of future steps to predict for-
n_future = 10

# number of features used-
n_features = 8

Как лучше всего выбирать/находить гиперпараметры look_back и look_ahead ?

0 ответов

Другие вопросы по тегам