LSTM 模型验证精度不遵循训练精度

问题描述 投票:0回答:1

我正在构建一个 LSTM 模型来对 PT-BR 中的恐同推特进行分类。我有一个包含 5k 条推文的数据集,这些推文已经在恐同和非恐同方面取得了平衡。问题是,我已经用三个不同的模型进行了测试,所有这些模型的验证准确性/损失都没有跟进训练验证/损失,我想知道我是否做错了什么,或者那可能是不遵循正式写作的数据集问题。

参数

dim =300
epochs = 100
lstm = 150
window = 7

Word2Vec

w2v_model = gensim.models.word2vec.Word2Vec(vector_size=dim, 
                                            window=window, 
                                            min_count=10, 
                                            workers=8)

型号

model = Sequential()
model.add(embedding_layer)
model.add(Dropout(0.5))
model.add(LSTM(lstm, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(1, activation='sigmoid'))
model.summary()
model.compile(loss='binary_crossentropy',
              optimizer="adam",
              metrics=['accuracy'])

训练示例

model_history=model.fit(X_train, y_train,epochs=epochs,validation_split=0.1,verbose=1)

结果

Accuracy Loss

python machine-learning keras lstm gensim
1个回答
0
投票

不清楚为什么你要实例化一个 Gensim

Word2Vec
模型,因为它没有被证明是由你的其他代码训练或使用的。

但是:如果你只有 5000 条推文——通常每条推文平均不到 20 个词——那么你只有大约 100,000 个训练词。这对于从头开始训练

Word2Vec
模型来说太少了,更不用说每个单词有 300 个维度的模型了。

最普遍的情况是,当一个模型在用于训练的数据上显示出良好的性能(如高精度),但在保留的验证数据上表现不佳时,一个常见的原因是“过度拟合”。

本质上,该模型正在记忆学习,以根据训练数据中的细节给出答案,这些细节在普遍适用的事实中是无关紧要的——但在有限的训练数据中,结果证明与所需答案有可记忆但无用的相关性。试图将那些相同的误导性相关性应用于训练外数据会破坏模型性能。

更多的数据通常会有所帮助:无意义的相关性可能会抵消。使用被迫只注意到更强(因此可能更可靠)相关性的较小模型也可能有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.