貝葉斯公式:
\[P(A|B)=\frac{P(B|A)P(A)}{P(B)}\]算法
假設事件\(A\)自己包含多種可能性,集\(A=\{A_1,A_2,\cdots,A_n\}\),那麼對於集合中任意的\(A_i\),貝葉斯定理表示爲:
\[P(A_i|B)=\frac{P(B|A_i)P(A_i)}{\sum_{j}P(B|A_j)P(A_j)}\]函數
- 某 AI 公司招聘工程師,來了8名應聘者,這8我的裏,有5我的是985院校畢業的,另外3人不是。
- 面試官拿出一道算法題準備考察他們。根據之前的面試經驗,面試官知道:985畢業生作對這道題的機率是80%,非985畢業生作對率只有30%。
- 如今,面試管從8我的裏隨手指了一我的——小甲,讓 TA 出來作題。結果小甲作對了,那麼請問,小甲是985院校畢業的機率是多大?
\[\frac{0.8*5/8}{0.8*5/8+0.3*3/8}\]
樸素貝葉斯法假設條件機率分佈是條件獨立的。即:
\[P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)}|Y=c_k)\\ = \prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k)\]學習
條件獨立假設等因而說用於分類的特徵在類肯定的條件下都是條件獨立的。spa
樸素貝葉斯法分類時,對給定的輸入\(x\),經過學習到的模型計算後驗機率分佈\(P(Y=c_k|X=x)\),將後驗機率最大的類做爲\(x\)的類輸出。事件
\[P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_{k}^{ }P(X=x|Y=c_k)P(Y=c_k)}\]it
樸素貝葉斯分類器可表示爲:
\[y=f(x)=arg\ \underset{c_k}{max}\ P(Y=c_k)\prod_{j}^{ }P(X^{(j)}=x^{(j)}|Y=c_k)\]class
後驗機率最大化,等價於指望風險最小化。lambda
上式,基於訓練集\(D\)來估計類先驗機率\(P(Y=c_k)\),併爲每一個屬性估計條件機率\(P(X^{(j)}=x^{(j)}|Y=c_k)\)。統計
令\(D_k\)表示訓練集\(D\)中第\(k\)類樣本組成的集合,如有充分的獨立同分布樣本,則可估計出類先驗機率爲:
\[P(Y=c_k)=\frac{|D_k|}{|D|}\]
令\(D_k^{(j)}\)表示\(D_k\)中的第\(j\)個屬性上取值爲\(x^{(j)}\)的樣本組成的集合,則條件機率爲:
\[P(X^{(j)}=x^{(j)}|Y=c_k)=\frac{|D_k^{(j)}|}{|D_k|}\]
\[P(Y=c_k)=\frac{\sum_{i=1}^{N} I(y_i=c_k)}{N}, k=1,2,\cdots,K\]
\[P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^{N}I(y_i=c_k)}\]
\(x_i^{(j)}\):是第\(i\)個樣本的第\(j\)個特徵。
\(a_{jl}\):第\(j\)個特徵可能取的第\(l\)個值。
缺點:用極大似然估計可能會出現所要估計的機率值爲0的狀況,而影響到後驗機率的計算,使分類產生偏差。
\[P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^{N}I(y_i=c_k)+S_j \lambda}\]
其中,\(\lambda \geqslant 0\),常取\(\lambda = 1\),此時稱爲拉普拉斯平滑。\(S_j\)可取第\(j\)個屬性可能的取值數。
\[P(Y=c_k)=\frac{\sum_{i=1}^{N} I(y_i=c_k)+\lambda}{N+K \lambda}\]
其中,\(K\)可取訓練集\(D\)中可能的類別數。
拉普拉斯平滑避免了因訓練集樣本不充分而致使機率估值爲零的問題,而且在訓練集變大時,平滑過程所引入的先驗的影響也會逐漸變得可忽略,使得估值漸趨向於實際機率值。
實際中,每每影響一件事的因素有多個。假設,影響\(B\)的因素有\(n\)個,分別是\(b_1,b_2,\cdots, b_n\),則\(P(A|B\))可寫爲:
\[P(C|b_1,b_2,\cdots,b_n)=\frac{P(C)P(b_1,b_2,\cdots,b_n|C)}{P(b_1,b_2,\cdots,b_n)}\]
根據鏈式法則,可得:
\[P(b_1,b_2,\cdots,b_n|C)=P(b_1|C)P(b_2|C,b_1)\cdots P(b_n|C,b_1,b_2,\cdots,b_{n-1})\]
若是從\(b_1\)到\(b_n\)這些特徵之間,在機率分佈上是條件獨立的,即每一個特徵\(b_i\)與其餘特徵都不相關。則有:
\[P(C|b_1,b_2,\cdots,b_n)=\frac{1}{Z}P(C)\prod_{i=1}^{n}P(b_i|C)\]
其中,\(Z=P(b_1,b_2,\cdots,b_n)\)。\(C\)是最終的類別(class)。
上式即爲樸素貝葉斯分類器的模型函數。
先驗機率和條件機率經過在訓練樣本中間作統計,便可直接得到。
若是簡單地將頻率當成了機率,實際上默認了「未被觀測到」地就是出現機率未0的。這樣作顯然不合理。
解決思路1:拉普拉斯平滑。