2017-01-16 45 views
2

我最近开始理解与自然语言处理相关的算法,并且遇到了各种网站,这些网站指出Naive Bayes无法捕获XOR概念。首先,我不明白XOR问题究竟是什么。有人可以请解释一下,如果可能的话,XOR问题与简单分类示例有什么关系。为什么Naive Bayes无法解决异或问题

+0

[贝叶斯网络vs贝叶斯分类器]的可能副本(http://stackoverflow.com/questions/12298150/bayesian-network-vs-bayes-classifier) – teppic

+0

相关:http://www.aclweb.org/anthology /S/S16/S16-1148.pdf – alvas

回答

4

异或问题是不是线性可分的最简单的问题。 想象一下,您有两个布尔变量X和Y,并且您要“预测”的目标值是异或这两个变量的结果。也就是说,只有当其中一个(而不是另一个)为1时,您才会预测1为结果,否则为0。有点更生动:

Y^
1 | XOR(x=0,y=1)=1 XOR(x=1,y=1)=0 
    | 
0 | XOR(x=0,y=0)=0 XOR(x=1,y=0)=1 
    +-------------------------------> 
      0    1  X 

正如你所看到的,对于我的“暗算”的四个“点”上(X水平,Y垂直;想象中的逗号是“点”,如果你喜欢)你无法画出一条直线来区分两个结果(左上角和右下角的两个1,以及对角的两个0)。所以线性分类器,它使用直线建模分类,不能解决这种性质的问题。

现在,对于朴素贝叶斯,它模型独立事件。只给定X和Y,它可以模拟xs的分布,它可以模拟ys,但它不能模拟两个变量之间的任何关系。也就是说,为了对XOR函数建模,分类器必须同时观察这两个变量。只根据X的状态进行预测而不考虑Y的状态(反之亦然)并不能为此问题找到适当的解决方案。因此,朴素贝叶斯分类器也是一个线性分类器。

相关问题