樸素貝葉斯(待補充貝葉斯網絡)

一、條件概率

公式:
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}

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