Это пример моего тренировочного набора.
k1, k2, k3, k4, k5, k6, k7, k8, k9, k10
48, 45, 0, 0, 0, 0, 0, 0, 41, 30
0, 0, 0, 0, 0, 0, 0, 0, 0, 34
46, 0, 0, 0, 0, 0, 0, 0, 0, 39
48, 0, 0, 0, 0, 0, 0, 0, 0, 41
47, 0, 0, 0, 0, 0, 0, 0, 48, 43
...
Каждая строка представляет одну временную метку. Я полагал, что временный тип набора данных хорош в LSTM, поэтому я обучил нейронную сеть с несколькими уровнями LSTM и ожидал новый набор данных. Я уменьшил набор данных до диапазона [0,1]
, прежде чем кормить им модель. После обучения 800 эпох с размером пакета 40, каждый ряд в наборе данных, который он произвел, не отличается от другого. Это последний выход после масштабирования до исходного диапазона.
array([[7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
...
Модель нейронной сети, которую я скомпилировал, как таковая
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 10, 1200) 5812800
_________________________________________________________________
lstm_2 (LSTM) (None, 10, 1200) 11524800
_________________________________________________________________
dropout_1 (Dropout) (None, 10, 1200) 0
_________________________________________________________________
lstm_3 (LSTM) (None, 10, 1200) 11524800
_________________________________________________________________
lstm_4 (LSTM) (None, 1200) 11524800
_________________________________________________________________
dropout_2 (Dropout) (None, 1200) 0
_________________________________________________________________
dense_1 (Dense) (None, 1000) 1201000
_________________________________________________________________
dense_2 (Dense) (None, 1000) 1001000
_________________________________________________________________
dropout_3 (Dropout) (None, 1000) 0
_________________________________________________________________
dense_3 (Dense) (None, 1000) 1001000
_________________________________________________________________
dense_4 (Dense) (None, 1000) 1001000
_________________________________________________________________
dropout_4 (Dropout) (None, 1000) 0
_________________________________________________________________
dense_5 (Dense) (None, 10) 10010
=================================================================
Total params: 44,601,210
Trainable params: 44,601,210
Non-trainable params: 0
_________________________________________________________________
Насколько я понимаю, чем больше число узлов и скрытых слоев, тем выше точность.
Моя процедура / понимание неверны? Что я могу сделать, чтобы улучшить свою модель?