对于某些文本处理项目,我们需要在支持向量机和快速人工神经网络之间做出决定.
它包括上下文拼写纠正,然后将文本标记为某些短语及其同义词.
哪种方法是正确的?或者两者都有替代......比FANN和SVM更合适吗?
我认为你会从两种算法中获得竞争结果,所以你应该汇总结果......考虑整体学习.
更新:
我不知道这是否足够具体:使用贝叶斯最优分类器来组合每个算法的预测.您必须训练两种算法,然后必须训练贝叶斯最优分类器以使用您的算法并根据算法的输入进行最佳预测.
将您的训练数据分成3个:
第一组数据将用于训练(人工)神经网络和支持向量机.
第二个数据集将用于通过从ANN和SVM获取原始预测来训练贝叶斯最优分类器.
第3个数据集将是您的资格数据集,您将在其中测试训练有素的贝叶斯最优分类器.
更新2.0:
创建算法集合的另一种方法是使用10倍(或更一般地,k倍)交叉验证:
将数据分成10组大小n/10.
训练9个数据集并测试1.
重复10次并取平均准确度.
请记住,您通常可以组合许多分类器和验证方法,以产生更好的结果.这只是找到最适合您的域名的问题.
您可能还想查看maxent分类器(/ log线性模型).
它们在NLP问题上非常受欢迎.现代实现使用准牛顿方法进行优化而不是较慢的迭代缩放算法,比SVM训练更快.它们似乎对正则化超参数的确切值不太敏感.如果您想使用内核免费获取功能连接,那么您应该只选择SVM而不是maxent.
至于SVM与神经网络,使用SVM可能比使用ANN更好.与maxent模型一样,训练SVM是凸优化问题.这意味着,给定数据集和特定的分类器配置,SVM将始终找到相同的解决方案.当训练多层神经网络时,系统可以收敛到各种局部最小值.因此,根据您用于初始化模型的权重,您将获得更好或更差的解决方案.使用人工神经网络,您需要执行多次训练,以评估给定模型配置的好坏.