首页 > 解决方案 > 使用 lstm 进行 imdb 评论获得非常低的准确性

问题描述

我已经使用 Word2Vec 将 imdb 评论转换为 300 维。

我保留了 embedding_vecor_length = 32, input_length = 25000 条评论中的 300 条。

我的准确度很差,损失很高。

在 10 个 epoch 结束时,我得到 0.4977 的准确度和 0.6932 的损失。

    embedding_vecor_length = 32
    model = Sequential()
    model.add(Embedding(25000, embedding_vecor_length, input_length=300))
    model.add(LSTM(100))
    model.add(Dense(1, activation='sigmoid'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics['accuracy'])

我应该添加或删除什么以提高准确性并减少损失?

标签: pythonlstmword2vecloss

解决方案


25000 似乎是您拥有的样本数,而不是嵌入层的输入维度。我认为您应该检查该功能中所需的尺寸。我认为,在没有看到您的数据的情况下,您真正​​想要的是:

model.add(Embedding(300, embedding_vecor_length))

但是既然你已经使用过 word2vec,那已经是一个嵌入了!您不需要嵌入层。我认为您应该删除它,然后查看您的准确性。


推荐阅读