機器學習-樸素貝葉斯分類器

  • 2019 年 10 月 7 日
  • 筆記

背景介紹

什麼是分類器?

分類器是一種機器學習模型,用於基於某些特徵來區分不同的對象。

樸素貝葉斯分類器的原理:

樸素貝葉斯分類器是一種概率性機器學習模型,用於分類任務。分類器基於貝葉斯定理。

貝葉斯定理:

使用貝葉斯定理,我們可以找到已知B發生,A發生的可能性。在這裡,B是證據,A是假設。這裡所做的假設是預測變數/特徵是獨立的。也就是說,一個特定功能的存在不會影響其他功能。因此,它被稱為樸素。

例如:

讓我們以一個例子來獲得更好的直覺。考慮打高爾夫球的問題。數據集如下所示。

根據一天的特點,我們對一天是否適合打高爾夫球進行分類。列代表這些功能,行代表各個條目。如果我們取數據集的第一行,則可以觀察到如果前景多雨,溫度高,濕度高且不大風,則不適合打高爾夫球。我們在此做出兩個假設,如上所述,我們認為這些預測變數是獨立的。即,如果溫度高,則不一定表示濕度高。這裡所做的另一個假設是,所有預測變數對結果的影響均等。即,有風的日子在決定是否打高爾夫球方面沒有更多的重要性。

根據此示例,貝葉斯定理可以重寫為:

變數y是類別變數(打高爾夫球),它表示是否適合打高爾夫球或沒有給定條件。變數X代表參數/特徵。

X給出為:

這裡的x_1,x_2….x_n代表這些特徵,即可以將它們映射到外觀,溫度,濕度和大風。通過替換X並使用鏈式規則擴展,我們得到:

現在,您可以通過查看數據集並將其替換為方程式來獲取每個值。對於數據集中的所有條目,分母不會更改,而是保持不變。因此,可以去除分母並且可以引入比例。

在我們的例子中,類變數(y)只有兩個結果,是或否。在某些情況下,分類可能是多元的。因此,我們需要找到概率最大的y類。

使用上面的函數,我們可以得到給定預測變數的類。

樸素貝葉斯分類器的類型: 多項式樸素貝葉斯: 這主要用於文檔分類問題,即文檔是否屬於體育,政治,技術等類別。分類器使用的特徵/預測詞是文檔中出現的單詞的頻率。 伯努利·樸素貝葉斯: 這類似於多項式樸素貝葉斯,但預測變數是布爾變數。 我們用於預測類變數的參數僅採用yes或no值,例如,是否在文本中出現單詞。 高斯樸素貝葉斯: 當預測變數採用連續值並且不是離散值時,我們假定這些值是從高斯分布中取樣的。

高斯分布(正態分布)

由於值在數據集中的顯示方式發生了變化,因此條件概率公式變為:

結論:

樸素貝葉斯演算法主要用於情感分析(NLP問題),垃圾郵件過濾,推薦系統等。它們快速,易於實現,但最大的缺點是預測變數要求獨立。在大多數現實生活中,預測變數是相互依賴的,這會妨礙分類器的性能。

文章來源

翻譯自:https://towardsdatascience.com/naive-bayes-classifier-81d512f50a7c