Rya*_*yan 14 theory machine-learning scikit-learn supervised-learning
我正在研究一个涉及对大型文本数据库进行分类的问题.文本很短(每个3-8个单词),有10-12个类别,我希望对它们进行排序.对于这些功能,我只是使用每个单词的tf-idf频率.因此,特征的数量大致等于文本中整体出现的单词的数量(我正在删除停用词和其他一些词).
在尝试使用模型时,我有以下两个想法:
我已经建立了两个模型,目前正在比较结果.
每种模型的理论优缺点是什么?为什么其中一个可以更好地解决这类问题?我是机器学习的新手,所以我想了解的是为什么人们会做得更好.
非常感谢!
Hor*_*man 22
您从"特征"观点构建的模型之间的最大区别在于Naive Bayes将它们视为独立的,而SVM在一定程度上考虑它们之间的相互作用,只要您使用非线性核(Gaussian,rbf,poly等).因此,如果您有交互,并且,鉴于您的问题,您很可能会这样做,SVM将更好地捕获这些,因此更好地完成您想要的分类任务.
ML研究人员和从业者的共识是,几乎在所有情况下,SVM都优于朴素贝叶斯.
从理论的角度来看,比较这两种方法有点困难.一个是概率性的,而第二个是几何的.然而,很容易想出一个函数,其中一个函数在Naive Bayes(y(a,b)= ab)没有捕获的变量之间存在依赖关系,因此我们知道它不是一个通用逼近器.具有适当选择内核的SVM(虽然是2/3层神经网络),但从这个角度来看,该理论与实践相符.
但最终它归结为你的问题的性能- 你基本上想要选择最简单的方法,它将为你的问题提供足够好的结果,并具有足够好的性能.例如,只有Naive Bayes可以解决垃圾邮件检测问题.通过增强等增强的类似方法在图像中进行人脸识别.
MNB 对于片段比对于较长的文档更强大。虽然 (Ng and Jordan, 2002) 表明 NB 在训练案例很少的情况下优于 SVM/逻辑回归 (LR),但 MNB 在短文档方面也更好。SVM 通常在超过 30-50 个训练案例时胜过 NB,我们表明,即使训练集相对较大(9k 案例),MNB 在片段上仍然更好。
简而言之,对于复杂的分类文本数据,NBSVM 似乎是一个合适且非常强大的基线。
源代码:https : //github.com/prakhar-agarwal/Naive-Bayes-SVM
参考:http : //nlp.stanford.edu/pubs/sidaw12_simple_sentiment.pdf
引用:Wang、Sida 和 Christopher D. Manning。“基线和二元组:简单、良好的情绪和主题分类。” 计算语言学协会第 50 届年会论文集:短论文-第 2 卷。计算语言学协会,2012 年。
| 归档时间: |
|
| 查看次数: |
16208 次 |
| 最近记录: |