Keras预测_proba预测每个输入的相同概率(LSTM)

时间:2018-06-20 21:23:52

标签: text keras lstm text-classification predict

当我使用predict_proba时,我的Keras顺序模型对所有输入产生几乎相同的预测。

该模型似乎什么也没学到,因为在训练过程中损失几乎保持不变,并且预测的概率大致与我的标签的分类分布相匹配。

输出:

[[ 0.12883131  0.44906539  0.42210329]
 [ 0.12883131  0.44906539  0.42210332]
 [ 0.12883131  0.44906539  0.42210329]
 ..., 
 [ 0.12883131  0.44906539  0.42210329]
 [ 0.12883131  0.44906539  0.42210332]
 [ 0.12883131  0.44906539  0.42210332]]

我尝试解决文档分类任务,而我的输入是整数序列,它表示从短文本接收到的单词索引。 这是一个3类的多类问题(如您所见)

我的模型参数总体上有问题吗?

型号:

embedding_size = 200
model_cat_cross = Sequential()
# Input Layer
model_cat_cross.add(Embedding(input_dim=vocab_size, output_dim=32))
# LSTM Layer
model_cat_cross.add(LSTM(units=embedding_size, 
                         dropout= 0.2,
                         recurrent_dropout= 0.2))
# Output Layer
model_cat_cross.add(Dense(units=labels.shape[1], 
                          activation='softmax'))
# Modellparameter
model_cat_cross.compile(loss='categorical_crossentropy', 
                        optimizer='adam', 
                        metrics=['categorical_accuracy'])
print(model_cat_cross.summary())
# Training des Modells und Cross Validierung
model_cat_cross.fit(X_train, y_train, validation_data=(X_test, y_test),
                    class_weight={0:3,1:1,2:1}, 
                    validation_split=0.1,
                    epochs=2, 
                    batch_size=32,
                    shuffle=1)
# save model to single file
#model.save('lstm_model_v1.h5')

0 个答案:

没有答案