【基礎不牢,地動山搖】樸素貝葉斯

樸素貝葉斯

這是我見過最NB的算法!因爲它叫樸素貝葉斯(Naive Bayes,NB).與之前介紹的算法有所不同,NB是生成式算法,之前的爲判別式算法!

  • 生成式算法:對p(xy)p(x|y)p(y)p(y)進行建模,可以說是對p(x,y)p(x,y)進行建模,求出xyx,y的聯合分佈。

  • 判別式算法:對p(yx)p(y|x)進行建模,相當於一個黑箱,給定一個數據集,直接根據數據集得到決策函數或規則。

NB是典型的生成式模型,利用訓練數據集學習到p(xy)p(x|y)p(y)p(y)得到聯合概率分佈:

P(X,Y)=P(Y)P(XY)P(X,Y)=P(Y)P(X|Y)

大前提

NB的基本假設是條件獨立性
P(X=xY=ck)=P(X(1)=x1,X(2)=x2,...,X(n)=xnY=ck) P(X=x|Y=c_k)=P(X^{(1)}=x^1,X^{(2)}=x^2,...,X^{(n)}=x^n|Y=c_k)

由於這一假設,模型包含的條件概率的數量大爲減少,NB的學習與預測大爲簡化,因而性能上大幅提升。不過也帶來了一定的準確率問題。

表達式

樸素貝葉斯是利用貝葉斯定理與學到的聯合概論進行預測的:

P(YX)=P(X,Y)P(X)=P(Y)P(XY)YP(Y)P(XY) P(Y|X)=\frac{P(X,Y)}{P(X)} = \frac{P(Y)P(X|Y)}{\sum_YP(Y)P(X|Y)}

測試集的結果爲:
y=argmaxckP(Y=CK)j=1nP(Xj=xjY=ck) y=argmax_{c_k}P(Y=C_K)\prod_{j=1}^n P(X_j=x^{j}|Y=c_k)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章