Как улучшить производительность модели 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
Может быть, они просто разорвали друг друга, и нет ничего уникального, чтобы отличить одного "автора" от другого. Вы предполагаете, что у каждого на самом деле есть свой собственный "уникальный" стиль письма. Я думаю, вам больше повезет с подбором "жандармов", чем с авторами.