分析LSTM Theano情感分析的结果

时间:2015-12-07 17:58:49

标签: sentiment-analysis deep-learning lstm

我正在尝试此链接http://deeplearning.net/tutorial/lstm.html中的代码,但将imdb数据更改为我自己的代码。这是我的结果的屏幕截图。

enter image description here

我想确定运行LSTM以进行情绪分析的整体准确性,但无法理解输出。列车,有效值和测试值打印多次,但通常是相同的值。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

它打印的值由以下函数计算:

def pred_error(f_pred, prepare_data, data, iterator, verbose=False):
    """
    Just compute the error
    f_pred: Theano fct computing the prediction
    prepare_data: usual prepare_data for that dataset.
    """
    valid_err = 0
    for _, valid_index in iterator:
        x, mask, y = prepare_data([data[0][t] for t in valid_index],
                                  numpy.array(data[1])[valid_index],
                                  maxlen=None)
        preds = f_pred(x, mask)
        targets = numpy.array(data[1])[valid_index]
        valid_err += (preds == targets).sum()
    valid_err = 1. - numpy_floatX(valid_err) / len(data[0])

    return valid_err

很容易理解,它计算的是1 - accuracy,其中准确度是标记正确的样本的百分比。换句话说,您在训练集上获得大约72%的准确率,在验证集上获得近95%的准确度,在测试集上获得50%的准确度。

您的验证准确性与列车精度相比如此之高的事实有点可疑,我会追踪预测,看看我们的验证集是否有代表性,或者太小。