11

对于某些文本处理项目,我们需要在支持向量机和快速人工神经网络之间做出决定。用于文本处理的支持向量机或人工神经网络?

它包括上下文拼写纠正,然后将文本标记为某些短语及其同义词。

这将是正确的方法?或者是否有这两种替代方案......比FANN和SVM更合适?

回答

12

我想你会从两种算法中得到一个有竞争力的结果,所以你应该汇总结果......想想集成学习。

更新:
我不知道这是不是不够具体:使用贝叶斯最优分类的预测从每个算法结合起来。您必须训练两种算法,然后您必须训练贝叶斯最优分类器以使用您的算法,并根据算法的输入做出最佳预测。在3

独立训练数据:

  • 第1个数据集将被用来训练(人工)神经网络和支持向量机。
  • 第二个数据集将用于训练贝叶斯最优分类器,通过从ANN和SVM中获取原始预测。
  • 第三个数据集将成为您的资格数据集,您将在其中测试您的训练贝叶斯最优分类器。

更新2.0:
另一种方式来创建的算法的系综是使用10-fold (or more generally, k-fold) cross-validation

  • 分段数据分成10组大小为n/10的。
  • 对9个数据集进行训练并在1上进行测试。
  • 重复10次并取平均准确度。

请记住,您通常可以组合许多分类器和验证方法以产生更好的结果。这只是找到最适合您的域名的问题。

+0

你能帮我多一点吗? – Arc

+0

@Akrid我已经更新了我的评论......这是否有帮助,或者您是否需要更多信息? – Kiril

+0

非常感谢Lirik – Arc

8

您可能还想看看maxent classifiers (/log linear models)

它们非常受NLP问题的欢迎。现代实现使用准牛顿方法进行优化,而不是较慢的迭代缩放算法,训练速度比SVM快。他们似乎也是less sensitive正则化超参数的确切值。如果您想使用内核来免费获取功能连接,您可能应该只选择超过maxent的SVM。

对于支持向量机和神经网络,使用支持向量机可能会比使用人工神经网络更好。像maxent模型一样,训练SVM是一个凸优化问题。这意味着,鉴于数据集和特定的分类器配置,SVM将始终如一地找到相同的解决方案。在训练多层神经网络时,系统可以收敛到各种局部最小值。所以,根据您用来初始化模型的权重,您会得到更好或更差的解决方案。使用人工神经网络,您需要执行多次训练以评估给定模型配置的好坏。

+1

虽然我喜欢Hal的博客,但在MS Paint中制作的绘图并不能真正证明Logistic回归对超参数选择不如SVM更敏感。不过,很好的答案。 – Stompchicken

0

您可以使用卷积神经网络(CNN)或递归神经网络(RNN)来训练NLP。我认为CNN现在已经取得了最新的技术。