Anan Srivastava Ответов: 0

Как улучшить производительность модели deeplearning?


Используя преждевременно прекращать свою модель останавливается обучение около 7 эпох из-за переобучения
MAX_SEQUENCE_LENGTH = 1000
MAX_NUM_WORDS = 20000
EMBEDDING_DIM = 100
VALIDATION_SPLIT = 0.2
output_nodes = 759

embedding_layer = Embedding(num_words,
                            EMBEDDING_DIM,
                            embeddings_initializer=Constant(embedding_matrix),
                            input_length=MAX_SEQUENCE_LENGTH,
                            trainable=False)

print('Training model.')
output_nodes = y_train.shape[1]
# train a 1D convnet with global maxpooling
sequence_input = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')
embedded_sequences = embedding_layer(sequence_input)
x = Conv1D(128, 5, activation='relu')(embedded_sequences)
x = MaxPooling1D(5)(x)
x = Conv1D(128, 5, activation='relu')(x)
x = MaxPooling1D(5)(x)
x = Conv1D(128, 5, activation='relu')(x)
x = GlobalMaxPooling1D()(x)
x = Dense(128, activation='relu')(x)
preds = Dense(output_nodes, activation='softmax')(x)

model = Model(sequence_input, preds)
model.compile(loss='categorical_crossentropy',
              optimizer='rmsprop',
              metrics=['acc'])


Что я уже пробовал:

Я пытался увеличение входных узлов, уменьшение размера пакета и использование метода k-fold для повышения производительности. Однако не удается добиться точности, чтобы пересечь 50%. Есть какие-нибудь мысли о том, как я могу достичь более высокой точности? Я пытаюсь предсказать авторов, основываясь на тексте. Мои данные имеют 98k строк

Gerry Schmitz

Может быть, они просто разорвали друг друга, и нет ничего уникального, чтобы отличить одного "автора" от другого. Вы предполагаете, что у каждого на самом деле есть свой собственный "уникальный" стиль письма. Я думаю, вам больше повезет с подбором "жандармов", чем с авторами.

0 Ответов