【发布时间】:2017-05-31 16:03:11
【问题描述】:
我最近开始了解与自然语言处理相关的算法,并且遇到了各种表明朴素贝叶斯无法捕捉 XOR 概念的网站。首先,我不明白 XOR 问题到底是什么。如果可能的话,有人可以用一个简单的分类示例解释异或问题是什么。
【问题讨论】:
标签: nlp naivebayes
我最近开始了解与自然语言处理相关的算法,并且遇到了各种表明朴素贝叶斯无法捕捉 XOR 概念的网站。首先,我不明白 XOR 问题到底是什么。如果可能的话,有人可以用一个简单的分类示例解释异或问题是什么。
【问题讨论】:
标签: nlp naivebayes
XOR 问题是最简单的问题,它不是线性可分的。 假设您有两个布尔变量 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 的状态(反之亦然)不能导致该问题的正确解决方案。因此,朴素贝叶斯分类器也是线性分类器。
【讨论】: