Я делаю это правильно на Керасе? - PullRequest
0 голосов
/ 28 августа 2018

Я делаю керасную реализацию классификации последовательностей, используя 2 уровня BLSTM и 2 уровня FC. Моя форма данных (2655,219,835), где 219 - это шаги, а 835 - это количество функций. Обучение с 1800 экземплярами и тестирование с 855 экземплярами. Существует 4 группы классификации - 0,1,2,3, и они преобразуются в векторы с помощью функции to_categorical. Код реализации сети ниже:

model = Sequential()
model.add(Masking(mask_value=0., input_shape=(219,835)))
model.add(Bidirectional(LSTM(128,return_sequences=True)))
model.add(Bidirectional(LSTM(128)))
model.add(Dense(256,activation='relu'))
model.add(Dense(256,activation='relu'))
model.add(Dense(4, activation='softmax'))
adam=keras.optimizers.Adam(lr=0.0001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)   
model.compile(loss='categorical_crossentropy', optimizer=adam, metrics=['accuracy'])
history=model.fit(train_data, label_train,  epochs=30, validation_split=0.33, batch_size=128, verbose=1)
pred=model.predict(test_data)

Теперь проблема в том, что я делаю слишком низкую точность, чем указанная в статье точность. Не могли бы вы помочь мне выяснить, не ошибаюсь ли я здесь?

Спасибо!

...