Модель LSTM не предсказывает значения выше определенного значения (не одно и то же значение все время) - PullRequest
0 голосов
/ 09 декабря 2018

Прежде всего, спасибо за любую помощь!

Я хочу создать простую модель LSTM, которая будет прогнозировать значение потребления электроэнергии в домашних хозяйствах в следующую минуту.используя этот набор данных:

https://archive.ics.uci.edu/ml/datasets/individual+household+electric+power+consumption

На данный момент я сделал следующее:

1) нормализовал данные и создал «окно», которое делаетмоя сеть LSTM выглядит следующим образом: enter image description here

Серия из 30 минут от t0-t29 с 8 функциями в каждую минуту, и сеть должна выводить потребление электроэнергии дома t30.Поэтому каждый мой входной сигнал выборки имеет форму [30x8], а выходной сигнал должен быть [1x1].пока, очень хорошо.

2) Я построил простую модель LSTM, которая выглядит следующим образом:

model4 = Sequential()
model4.add(LSTM(1,input_shape=(30, 8)))
model4.add(Dense(1))
model4.compile(loss='mean_squared_error', optimizer='adam')

Как видите, очень простая модель много-к-одному.Я подготовил модель для 25 эпох, и по какой-то причине модель, по-видимому, не предсказывает значение выше 5-5,5, как вы можете видеть на этом графике: Predictions vs. actual

3) Я пытался:

  • по-разному нормализовать данные (мин. Максимум или среднее значение)
  • нормализовать все данные, но столбец энергопотребления, который я сохранил с исходными значениями,Ничто из вышеперечисленного не помогло.

есть предложения?

1 Ответ

0 голосов
/ 10 декабря 2018

Решение:

Я изменил свойство "Активация" слоя LSTM на Нет.таким образом, значения не были "разбиты" функцией по умолчанию "tanh".

...