模型公式的推导

假设A和B是两个事件,根据贝叶斯公式:

P(AB)P(B)=P(A,B)=P(BA)P(A)P(A|B) * P(B) = P(A, B) = P(B|A)P(A)

又假如在这两个事件中,我们关注的是事件A,那么称: P(A)为先验概率,即A发生的概率 P(B|A)为条件概率 P(A|B)为后验概率 根据先验概率和条件概率求后验概率:

P(AB)=P(BA)P(A)P(B)P(A|B) = \frac {P(B|A)P(A)}{P(B)}

在朴素贝叶斯模型中,将Y=CkY=C_k看作是事件A,将X=xX=x看作事件B,根据给定的输入x求Y得到不同值的概率:

P(Y=CkX=x)=P(X=xY=Ck)P(Y=Ck)P(X=x)1\begin{aligned} P(Y=C_k|X=x) = \frac{P(X=x|Y=C_k)P(Y=C_k)}{P(X=x)} && {1} \end{aligned}

公式(1)中P(Y=Ck)P(Y=C_k)是先验概率,可以直接根据样本计算出来。 公式(1)中的P(X=xY=Ck)P(X=x|Y=C_k)不能由样本直接计算。 将x展开为

x=(x(1),x(2),,x(n))2\begin{aligned} x=(x^{(1)},x^{(2)},\cdots,x^{(n)}) && {2} \end{aligned}

根据朴素贝叶斯模型中对数据的假设:用于分类的特征在类确定的条件下都是条件独立的。公式(2)中的x(1),x(2),,x(n)x^{(1)},x^{(2)},\cdots,x^{(n)}就是这些条件独立的特征,得到:

P(X=xY=Ck)=P(X=(x(1),x(2),,x(n))Y=Ck)=P(x(1)y=Ck)P(x(2)y=Ck)P(x(n)y=Ck)3\begin{aligned} P(X=x|Y=C_k) \\ = P(X=(x^{(1)},x^{(2)},\cdots,x^{(n)})|Y=C_k) \\ = P(x^{(1)}|y=C_k)*P(x^{(2)}|y=C_k)*\cdots*P(x^{(n)}|y=C_k) && {3} \end{aligned}

公式(3)中的每个P(x|y)都能根据样本计算出来,最终计算出总的P(X=xY=Ck)P(X=x|Y=C_k) 公式(1)中的P(X=x)可根据概率论公式得出:

P(X=x)=kP(Y=Ck)jP(X(j)=x(j)y=Ck)4\begin{aligned} P(X=x) = \sum_k P(Y=C_k)\prod_jP(X^{(j)}=x^{(j)}|y=C_k) && {4} \end{aligned}

把公式(3)、(4)代入公式(1)得:

P(Y=CkX=x)=P(Y=Ck)jP(X(j)=x(j)y=Ck)kP(Y=Ck)jP(X(j)=x(j)y=Ck),k=1,2,,KP(Y=C_k|X=x) = \frac {P(Y=C_k)\prod_jP(X^{(j)}=x^{(j)}|y=C_k)}{\sum_k P(Y=C_k)\prod_jP(X^{(j)}=x^{(j)}|y=C_k)}, k=1,2,\cdots,K

Last updated