我正在使用深度神经网络进行文本分类。我的问题是,我收到了高精度的98列车数据,而我的验证精度是49。
我尝试了以下几点:
有什么建议吗?
def get_Model():
model = tf.keras.Sequential([
tf.keras.layers.Embedding(vocab_size+1, embedding_dim, input_length=max_length, weights= . [embeddings_matrix], trainable=False),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Conv1D(64, 5, activation='relu'),
tf.keras.layers.MaxPooling1D(pool_size=4),
tf.keras.layers.LSTM(64),
tf.keras.layers.Dense(5, activation='softmax')
])
model.compile(loss='sparse_categorical_crossentropy',optimizer="adam",metrics=['acc'])
model.summary()
return model
发布于 2020-03-31 22:59:14
你的模型显然太合适了。防止过度安装的标准技巧有:
同时使用卷积和LSTM是相当不寻常的(尽管它非常好)。也许只保留其中一个是使网络变得更小的最好方法。
我的猜测是,您正在处理一个相当小的数据集。拥有更大的数据集也有助于防止过度拟合,但它通常不是一个适用的建议。
https://stackoverflow.com/questions/60962683
复制相似问题