Tengo datos de series temporales (x_train, shape=100x30000x3) que consisten en 100 muestras que contienen 3 secuencias con cada 30000 puntos de datos en el tiempo. Me gustaría detectar eventos en el tiempo (y_train, shape=1x30000), que es un vector binario (disperso) en el tiempo. Los eventos se codifican con 1 en el inicio, de lo contrario son 0 (similar a Aprendizaje automático para el reconocimiento de patrones en datos de sensores en tiempo real ).
Como los datos son repetitivos y en el tiempo, pensé en aplicar un LSTM:
model = Sequential()
model.add(LSTM(128,input_shape=(30000,3)))
model.add(Dropout(0.5))
model.add(Dense(256, activation='sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(30000, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
Aunque veo que mi pérdida está disminuyendo muy bien y mi precisión sube a 99,x% con cada iteración, mis vectores predichos no se ven bien en absoluto y son muy ruidosos (un montón de cerca de 0, no cerca de 1), no parece mach mi vector y_train 1x30000 cuando lo visualizo.
¿Es este un modelo apropiado, o he hecho algo muy mal?