朴素贝叶斯(待补充贝叶斯网络)

一、条件概率

公式:
P(AB)=P(AB)P(B)P(A|B)=\frac{P(AB)}{P(B)}
指的是在事件B发生的条件下事件A发生的概率


二、全概率公式

目标是求“最后结果”的概率,由条件概率可得P(AB)=P(AB)P(B)P(AB)=P(A|B)P(B)
公式:
P(A)=i=1nP(ABi)P(Bi)P(A)=\sum_{i=1}^n{P(A|B_i)P(B_i)}
其中B1,B2,...,BnAEB_1,B_2,...,B_n是样本空间的划分,A为E的一个事件


三、贝叶斯公式

SAEB1,B2,...,Bn已知“最后结果”,求“某个事件”的概率, 设样本空间为S。A为E的一个事件,B_1,B_2,...,B_n是S的划分,则公式为:
P(BiA)=P(ABi)P(A)=P(ABi)P(Bi)P(A)P(B_i|A)=\frac{P(AB_i)}{P(A)}=\frac{P(A|B_i)P(B_i)}{P(A)}
若B表示类别,A表示特征则公式为:
P()=P()P()P()P(类别|特征)=\frac{P(特征|类别)P(类别)}{P(特征)}
可解释为在 当前特征下是该类别的概率=×\frac{该类别中存在这一特征的概率\times 该类别的概率}{该特征的概率}


四、朴素贝叶斯 (举例)

在朴素贝叶斯中假定了每一个xix_i都相互独立。具体地条件独立假设是
P(Y=ckX=x)=jP(X(j)=x(j)Y=ck)P(Y=c_k|X=x)=\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)
将该公式带入贝叶斯公式中结果为:
P(Y=ckX=x)=P(Y=ck)P(X=xY=ck)i=1kP(X=xY=ck)=P(Y=ck)jP(X(j)=x(j)Y=ck)kP(Y=ck)jP(X(j)=x(j)Y=ci)P(Y=c_k|X=x)=\frac{P(Y=c_k)P(X=x|Y=c_k)}{\sum_{i=1}^kP(X=x|Y=c_k)}=\frac{P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_i)}
因为对于所有地ckc_k分母都是相同的,所以
y=argmaxP(Y=ck)jP(X(j)=x(j)Y=ck)y=argmaxP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)

  朴素贝叶斯法地学习与分类算法:

输入:训练集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}其中,xi=(xi(1),xi(2),...,xi(n))Txi(j)ijxi(j){aj1,aj2,...,ajSj}ajlx_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^T,x_i^{(j)}是第i个样本的第j个特征,x_i^{(j)}\in\{a_{j1},a_{j2},...,a_{jS_j}\},a_{jl}是第jj个特征值可能取的第ll个值,实例特征向量xx
输出:实例xx所属的类yy.
(1)计算先验概率及条件概率
P(Y=ck)=i=1NI(yi=ci)NP(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_i)}{N}
P(Xj=ajlY=ck)=i=1NI(xi(j)=aij,yi=ck)i=1NI(yi=ck)P(X^{j}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{ij},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}
j=1,2,...,n;l=1,2,...,S;k=1,2,...,Kj=1,2,...,n;l=1,2,...,S;k=1,2,...,K
(2)对于给定的实例x=(x1,x2,...,xn)Tx=(x^{1},x^{2},...,x^{n})^T,计算
P(Y=ck)jP(X(j)=x(j)Y=ck)k=1,2,...KP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...K
(3)确定x的类:
y=argmaxP(Y=ck)jP(X(j)=x(j)Y=ck)y=argmaxP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)


五、贝叶斯估计

  由于使用最大似然估计时可能会出现估计概率为0的情况。这样会影响到后验概率的计算结果,为解决这一问题的方法是采用贝叶斯估计。具体的,条件概率的贝叶斯估计是:
Pλ(Xj=ajlY=ck)=i=1NI(xi(j)=aij,yi=ck)+λi=1NI(yi=ck)+SjλP_{\lambda}(X^{j}=a_jl|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{ij},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}
其中λ0.\lambda\geq0.等价于在随机变量各个取值的频数上赋予一个正数λ>0.λ=0λ=1\lambda>0.当\lambda=0时就是极大似然估计。常取\lambda=1,这是称为拉普拉斯平滑。显然对任何l=1,2,...,Sjk=1,2,...,Kl=1,2,...,S_j,k=1,2,...,K,有
Pλ(Xj=ajlY=ck)>0P_{\lambda}(X^{j}=a_jl|Y=c_k)>0
l=1SjP(X(j)=ajlY=ck)=1\sum_{l=1}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1
同样的,先验概率的贝叶斯公式为:
P(Y=ck)=i=1NI(yi=ci)+λN+KλP(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_i)+\lambda}{N+K\lambda}

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