1. 程式人生 > >帶你搞懂樸素貝葉斯演算法原理

帶你搞懂樸素貝葉斯演算法原理

一、樸素貝葉斯是什麼,怎麼用?

貝葉斯定理:樸素貝葉斯定理體現了後驗概率 P(y|x) 、先驗概率 P(y) 、條件概率 P(x|y) 之間的關係:


P(y|x)=P(x,y)P(x)=P(x|y)P(y)P(x)

樸素貝葉斯之所以叫“樸素”就是因為它假設輸入的不同特徵之間是獨立的。假設所有相關概率已知,基於這些概率來選擇最優的類別,是樸素貝葉斯解決的一種典型問題。下面舉一個例子。

歷史資料
X/Y 1 2 3 4 5 6 7 8 9 10
X(1) 1 1 1 1 1 2 2 2 2 2
X(2) S M M S S S M M L L
Y -1 -1 1 1 -1 -1 -1 1 1 1


現在給定一個輸入x = (2, S),求對應的 y
我們注意到這個問題其實就是求後驗概率的問題,讓我們嘗試使用貝葉斯定理來解決


P(y|x)=P(x,y)P(x)=P(x
|y)P(y)P(x)

  • 第一步,求先驗概率 P(y=1)=0.5,P(y=1)=0.5
  • 第二步,求條件概率 P(x|y)


    P(x(1)=2|y=1)=3/5,
    P(x(1)=2|y=1)=2/5,
    P(x(2)=S|y=1)=1/5,
    P(x(2)=S|y=1)=3/5
  • 第三步,求P(x),但是這裡我們不求,為什麼呢,因為我們需要求的是P(y=1|x)

    P(y=1|x)的大小,顯然 P(x)具體值並不會影響結果

  • 第四步,求”後驗概率”