Как отдельно вводить объекты в модель LSTM - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь использовать LSTM для моей задачи классификации временных рядов следующим образом. Мой набор данных имеет около 2000 точек данных, и каждая точка данных имеет по 25 серий времени по 4 раза.

model = Sequential()
model.add(LSTM(100, input_shape=(25,4)))
model.add(Dense(50))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

Однако модель LSTM работает очень плохо и дает мне очень низкие результаты. Хотя это расстраивает, я думаю, что LSTM дает низкие результаты, так как он не может захватить некоторые важные характеристики из временных рядов.

В этом случае мне интересно, возможно ли дать некоторые функции ручной работы наряду свременные ряды для модели? Если это так, пожалуйста, дайте мне знать, как это сделать.

Я с удовольствием предоставлю более подробную информацию, если это необходимо.

РЕДАКТИРОВАТЬ: я думаю, возможно ли использовать функциональный API Kera в этомрассматривать. Так что я могу использовать свои функции в качестве отдельного входа.

1 Ответ

2 голосов
/ 01 ноября 2019

Модель LSTM принимает трехмерный тензор в качестве входных данных с размерами (batch-size, time-length, num-features).

Чтобы ответить на ваш вопрос, вам нужно будет объединить эти созданные вручную функции с этими четырьмя необработанными функциями, которые вы можете иметь, их можно нормализовать, чтобы привести их все в один масштаб, и передать * 1004. * как вход в модель LSTM.

...