我有一个朴素的贝叶斯分类器(用WEKA实现),用于查找大写字母。

contains_A
contains_B
...
contains_Z


对于某个班级,LCD字样几乎出现在训练数据的每个实例中。当我获得“ LCD”属于该类别的概率时,它约为0.988。赢得。

当我获得“ L”的概率时,我得到一个普通的0,而对于“ LC”的概率则得到0.002。由于特征太幼稚,L,C和D是否不应该独立地对总体概率作出贡献,结果“ L”有一定概率,“ LC”有更多概率,“ LCD”有更多概率?

同时,使用MLP进行的同一实验没有给出上述行为,而是给出了0.006、0.5和0.8的百分比

因此,MLP做到了我期望的朴素贝叶斯所做的,反之亦然。我错过了什么吗,有人可以解释这些结果吗?

最佳答案

我查看了weka文档,但没有看到支持提取字母作为功能的支持。这意味着weka函数可能需要空格或标点符号来将每个特征与相邻的特征区分开。如果是这样,那么对“ L”,“ C”和“ D”的搜索将被解释为三个单独的单字母词,并解释了为什么找不到它们。

如果您认为是这样,则可以在提取之前尝试将文本拆分为由\n或空格分隔的单个字符。

关于machine-learning - 天真的贝叶斯,不是那么天真吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13818278/

10-12 21:09