如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵

Posted

技术标签:

【中文标题】如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵【英文标题】:How Can I use Naive Bayes Classifier, SVM, and Maximum Entrophy in stanford classifier 【发布时间】:2016-01-24 17:57:15 【问题描述】:

目前,我正在使用朴素贝叶斯算法、SVM 和最大 Enthrophy 制作引文句子分类器,目前我的数据是 110 个非引文句子和 10 个引文句子。我正在使用代码从斯坦福分类器示例中进行分类,结果很好。但是分类器是准牛顿。如何使用朴素贝叶斯分类器、支持向量机和最大熵?我已经尝试编辑道具文件并添加“useNB = true”,但事实证明所有数据都是非引用句类。我已经阅读了http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/classify/ColumnDataClassifier.html 的 javadoc,但我不知道在哪里为朴素贝叶斯算法放置 setClass

【问题讨论】:

【参考方案1】:

默认情况下,分类器将运行最大熵(即逻辑回归)分类器——以编程方式,LinearClassifier.java。 QNMinimizer 是 L-BFGS 最小化器的斯坦福实现,用于优化最大目标。我认为useNB=true 标志对于切换到朴素贝叶斯是正确的。运行 SVM:理论上 CoreNLP 有一个 SVMLight 的包装器,但此时你也可以直接运行 SVMLight。

您的训练数据一开始是不平衡的吗?使用平衡的训练集,将所有句子放在一个类中会很奇怪。

【讨论】:

以上是关于如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵的主要内容,如果未能解决你的问题,请参考以下文章

如何在朴素贝叶斯分类器中使用 k 折交叉验证?

如何在 python 的朴素贝叶斯分类器中对用户输入测试集进行分类?

如何从朴素贝叶斯分类器中的概率密度函数计算概率?

如何训练以 pos-tag 序列为特征的朴素贝叶斯分类器?

文档的朴素贝叶斯分类器中的长度归一化

机器学习系列-朴素贝叶斯分类器