我是ML的新手,并且正在尝试对文本进行情感检测。 所以我有一个ISEAR数据集,其中包含带有情感标签的推文。 因此,我目前的准确度是63%,我想至少增加到70%甚至更多。
此处提供代码:
inputs = Input(shape=(MAX_LENGTH, ))
embedding_layer = Embedding(vocab_size,
64,
input_length=MAX_LENGTH)(inputs)
# x = Flatten()(embedding_layer)
x = LSTM(32, input_shape=(32, 32))(embedding_layer)
x = Dense(10, activation='relu')(x)
predictions = Dense(num_class, activation='softmax')(x)
model = Model(inputs=[inputs], outputs=predictions)
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['acc'])
model.summary()
filepath="weights-simple.hdf5"
checkpointer = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
history = model.fit([X_train], batch_size=64, y=to_categorical(y_train), verbose=1, validation_split=0.1,
shuffle=True, epochs=10, callbacks=[checkpointer])
答案 0 :(得分:1)
这是一个非常普遍的问题,优化神经网络的性能可能需要调整许多因素。 例如:
您可以尝试网格搜索,例如使用不同的优化程序并评估验证集。 数据可能还需要一些调整,例如:
文本规范化-更好地表达推文-删除不必要的标记(@,#)
在拟合之前对数据进行混洗-keras validate_split使用最后的数据记录创建一个验证集
您的问题没有简单的答案。