【问题标题】:Vectorizing words to use a Machine Learning algorithm向量化单词以使用机器学习算法
【发布时间】:2012-03-16 10:34:43
【问题描述】:

我正在测试一个想法,即使用回波状态网络的分层组合将任何符号序列矢量化为 R^n 中的固定大小矢量。目标是将这些序列分类为向量(有很多机器学习算法可用于固定大小的实向量)。

特别是,我正在用英语单词测试这个算法,试图将它们分类为名词或形容词。我的数据集在这里:http://www.ashley-bovan.co.uk/words/partsofspeech.html

使用 SVM 进行分类,我得到了 9% 的错误,请有人可以指点我相关的论文或结果进行比较?

谢谢!

【问题讨论】:

  • 很好的例子——但 90 % 似乎是一个普遍的常数。你能张贴一些错误分类的词吗?什么是 n,如何对 n 向量进行归一化?

标签: machine-learning classification svm words


【解决方案1】:

您如何使用 SVM 进行分类?哪个公式 - c-svm、nu-svm 等? SVM 对其参数非常敏感。你用的是哪个内核?您使用的内核参数是什么? C/nu的值?

正确的参数会因数据集而异,通常部分数据用于找到内核和参数的最佳组合。错误的组合很容易使您的结果大打折扣。也许您已经这样做了,只是从您所说的内容中不清楚,并且可以产生很大的不同。

【讨论】:

  • 我正在使用 c-svm(在带有 mdp 的 python 中,它基于 libsvm)。内核是线性的,但我并没有真正调整 libsvm 给出的参数,我只是使用默认值(根据 libsvm 文档,c = 1),因为我想做快速测试并知道它离最先进的技术。
  • 不幸的是,SVM 不是一个好的“快速测试”分类器——要获得好的结果,您需要调整参数。我推荐阅读A Practical Guide to Support Vector Classication by Chih-Wei Hsu、Chih-Chung Chang 和 Chih-Jen Lin。它讨论了如何确保您的数据正确缩放并且您已经很好地调整了参数。如果您在没有调整的情况下获得 91% 的准确率,那么您可能会做得更好。
  • 在确定最先进技术方面——我的研究不在那个领域,所以我不知道,但是快速google scholar search 揭示了这篇论文:Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part-of-Speech Tagging,被引用超过 1500 次.他们声称准确率为 99%,尽管我只是略读了一下。从那里开始,查看引用该论文的论文,以查找更多最近的工作。
【解决方案2】:

几年前,我研究了一种算法,该算法使用马尔可夫链将字符串分类为正确的俄语单词或一些随机字符串(不使用任何字典)。这是翻译文章的链接:

http://www.begellhouse.com/journals/2b6239406278e43e,685626ff507e6e58,5232ec7f32b362ef.html

我得到了大约 91% 的结果(非常类似于你为你的问题得到的结果,我觉得这很有趣)。在我的研究过程中,我遇到了另一项研究,其中作者试图将一个短语(至少由三个单词组成的字符串)分类为英语、法语或德语。他们的成功率略低(~80%)。我在互联网上找不到他们工作的链接,但它被称为 - Murray“概率语言建模”

【讨论】:

  • 如果你记得我在哪里可以找到这些数据集进行测试,比较它会很有趣。谢谢!
猜你喜欢
  • 2018-03-05
  • 2011-08-01
  • 2018-09-05
  • 2016-05-17
  • 2013-06-14
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多