2017-01-16 74 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的狀態(反之亦然)並不能爲此問題找到適當的解決方案。因此,樸素貝葉斯分類器也是一個線性分類器。