【问题标题】:Interpretation of output of Vowpal WabbitVowpal Wabbit 输出的解释
【发布时间】:2015-07-01 19:42:21
【问题描述】:

我正在使用 Vowpal Wabbit 进行二元情感分类(正面和负面),并使用基本的 unigram 特征。 这是我的火车功能的样子:

1 | 28060 10778 21397 64464 19255
-1 | 44248 21397 3353 57948 4340 7594 3843 44368 33938 49249 45696     32698 57948 21949 58810 32698 62793 64464
1 | 44248 21397 3353 32698 62996
1 | 44248 21397 3353 57948 63747 40024 46815 37197 7594 47339 28060 10778 32698 45035 3843 54789 19806 60087 7594 47339

每一行都以标签开头,然后是词汇表中的一系列单词索引。这些特征的默认值为 1。

我用这个命令训练:

cat trainfeatures.txt | vw --loss_function logistic -f trainedModel

这是我用于测试的命令:

cat testfeatures.txt | vw  -i trainedModel -p test.pred

这是输出文件 test.pred 的样子:

28.641335
15.409834
13.057793
28.488165
16.716839
19.752426

值的范围在 -0.114076 和 28.641335 之间。如果我使用一个规则,如果值大于阈值,比如 14,那么它是正的,否则它是负的,那么我得到 51% 的准确度和 40.7% 的 f-measure。

但我正在关注的论文报告该数据集的准确率为 81%。因此,我在实施或对结果的解释中肯定有问题。我无法弄清楚那是什么。

编辑:我在测试命令中使用了 --binary 选项,这给了我标签 {-1,+1}。我对其进行了评估,得到了以下结果——准确度为 51.25%,f-measure 为 34.88%。

【问题讨论】:

  • 训练/测试数据中有多少正例和负例?我猜你正在关注的论文可能使用了比单元线性模型更先进的东西(这可以被认为只是情感分析中的基线)。
  • 你试过打乱训练数据吗?
  • 没有。我会试试的。谢谢。
  • @MartinPopel 我尝试了洗牌,这给了我很好的结果。谢谢。您能否在答案中添加此内容,以便我接受?
  • 好的,完成。我还添加了指向shuf 命令的链接。

标签: machine-learning logistic-regression sentiment-analysis vowpalwabbit


【解决方案1】:

编辑:主要问题是训练数据没有按随机顺序打乱。使用任何在线学习时都需要这样做(除非训练数据已经打乱或者是实时序列)。可以使用Unix命令shuf来完成。

解释:在极端情况下,如果训练数据首先包含所有负面示例,然后包含所有正面示例,那么模型很可能会学会将(几乎)所有内容分类为正面。

另一个可能导致 F1 测量值低(并且几乎所有预测都是正面的)的常见原因是数据不平衡(正面例子很多,负面例子很少)。 Satarupa Guha 的问题中的数据集并非如此,但我将原始答案保留在这里:

显而易见的解决方案是给负样本一个更高的(比默认的 1)重要性权重。重要性权重的最佳值可以使用保留集找到。

如果我使用一个规则,如果值大于阈值,比如 14,那么它是正数,否则它是负数

负预测与正预测的阈值应为 0。

请注意,Vowpal Wabbit 的一大优势是您无需将功能名称(在您的情况下为单词)转换为整数。您可以使用原始(标记化)文本,只需确保转义管道“|”和冒号“:”(以及空格和换行符)。当然,如果你已经将单词转换为整数,你可以使用它。

【讨论】:

  • 数据集完美平衡。有 800000 个正样本和 800000 个负样本。我关注的论文(Go Bhayani et. al.)有点旧,从 2008 年开始 - 论文的主要焦点似乎是远程监督而不是创新的特征工程。我刚刚用 Vowpal Wabbit 替换了他们的 Logistic Regression 模块。我现在可以通过运行 20 次传递和 --binary 选项的相同命令来获得 67% 的准确率和 64% 的 f-measure。感谢您提醒无需将功能名称转换为整数。我确实在那里度过了一些无用的时间!
猜你喜欢
  • 2014-11-08
  • 2023-03-03
  • 2015-06-20
  • 2016-08-22
  • 2014-11-23
  • 2016-12-26
  • 2016-01-31
  • 2018-01-20
  • 2013-12-15
相关资源
最近更新 更多