【问题标题】:Analysing the result of LSTM Theano Sentiment Analysis分析 LSTM Theano 情绪分析的结果
【发布时间】:2016-03-12 10:36:29
【问题描述】:

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

我想确定运行 LSTM 进行情绪分析的整体准确度,但无法理解输出。 train、valid 和 test 值会打印多次,但通常是相同的值。

任何帮助将不胜感激。

【问题讨论】:

    标签: sentiment-analysis deep-learning lstm


    【解决方案1】:

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

    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% 的准确度。

    您的验证准确度与火车准确度相比如此之高这一事实有点可疑,我会跟踪预测,看看我们的验证集是否不具代表性或太小。

    【讨论】:

    • 我明白了。我唯一改变的是输入数据。我根据说明对其进行了预处理并将其转换为pkl文件。问题出在我的数据上吗?我还用 keras 实现了 lstm,并在那里获得了 86% 的准确率。这里出了什么问题?
    猜你喜欢
    • 2015-04-27
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    相关资源
    最近更新 更多