我在keras中尝试了一个简单的lstm模型,使用顺序模型和模型模型使用imdb数据集进行简单的情感分析,结果后者给出了更糟糕的结果。这是我的代码:
model = Sequential()
model.add(Embedding(top_words, embedding_vector_length, input_length=max_review_length))
model.add(LSTM(100))
model.add(Dense(2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
它在第一个时期给出了大约0.6精度的结果,而使用Model的其他代码:
_input = Input(shape=[max_review_length], dtype='int32')
embedded = Embedding(
input_dim=top_words,
output_dim=embedding_size,
input_length=max_review_length,
trainable=False,
mask_zero=False
)(_input)
lstm = LSTM(100, return_sequences=True)(embedded)
probabilities = Dense(2, activation='softmax')(lstm)
model = Model(_input, probabilities)
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
并且由于第一个时期它给出0.5准确度并且之后永远不会改变。
任何原因,或者我做错了什么?提前致谢
答案 0 :(得分:1)
我发现两个模型之间存在两个主要差异: