Naive Bayes 的背景

您可以快速而輕鬆地套用 Naive Bayes 分類演算法,因為它不像大部分演算法那麼複雜。

雖然其分類精確度不像其中一個更複雜演算法那麼精確,但您可以在一小部分的計算時間內得到類似的結果。為了計算屬性值的條件類別機率,Naive Bayes 分類器演算法使用 Bayes 的理論。 這種機率稱為事後類別機率

Naive Bayes 分類演算法如下所示:

分子稱為 Bayes 分子,分母稱為 Bayes 分母。此計算是以事前類別機率為基礎. 根據類別的聯合反轉條件式屬性值機率,可以直接從資料預估這些機率:

您可以有效率地計算聯合反轉條件式屬性,作為每個屬性條件式屬性值機率的乘積. 您可以從資料直接預估這些機率,並假設類別屬性是有條件地獨立。實際上,這項假設可能不真實,這就是為什麼稱此演算法為單純。雖然違反這項假設會導致不正確的機率計算,但這些違規並不影響預測的精確度。即使用於計算的機率不正確,預測也可能正確。在關於獨立性假設並不符合的數個網域中,已觀察到 Naive Bayes 分類器預測成效不錯。

因此,如果某類別內的某個屬性值的估計機率為 0,則此類別的事後機率也計算為 0。如果對於所有類別,此條件皆為 true,則不可能進行預測。若要防止此問題,您可以使用足夠小的正數來取代零機率。如果沒有一個實例的屬性 等於 (在類別 中),則機率 可設為預估的二分之一機率(如果有一個這樣的實例存在的話)。避免此問題的更精確方法是使用已修改的機率預估技術。此技術即所謂的 -estimation。以此預估而言,將針對一些假設性的實例,以先驗假設頻率來擴增每一類別屬性值頻率。在訓練實例方面,也觀察到每一類別屬性值頻率。如果沒有特定網域知識,會假設特定類別內的所有屬性值的這些先驗頻率都相等。此外,也假設所包括的假設性實例數目等於可能的屬性值數目。