У меня есть архитектура модели CNN-RNN с двунаправленной LSTMS для проблемы регрессии временных рядов. Моя потеря не сходится более чем за 50 эпох. Каждая эпоха насчитывает 20 тысяч образцов. Убыток продолжает колебаться в диапазоне 0,001–0,01.
batch_size=1
epochs = 50
model.compile(loss='mean_squared_error', optimizer='adam')
trainingHistory=model.fit(trainX,trainY,epochs=epochs,batch_size=batch_size,shuffle=False)
- Я попытался обучить модель с неверно спаренными данными X и Y, для которых потеря остается около 0,5, можно ли сделать разумный вывод, что мои X и Y имеют нелинейную зависимость, которую моя модель может изучить через больше эпох?
- Прогнозы моей модели фиксируют паттерн, но со смещением я использую расстояние динамического деформирования времени, чтобы вручную проверить точность прогнозов, есть ли лучший способ?
Модель:
model = Sequential()
model.add(LSTM(units=128, dropout=0.05, recurrent_dropout=0.35, return_sequences=True, batch_input_shape=(batch_size,featureSteps,input_dim)))
model.add(LSTM(units=32, dropout=0.05, recurrent_dropout=0.35, return_sequences=False))
model.add(Dense(units=2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])