樸素貝葉斯

Loading [MathJax]/jax/output/HTML-CSS/fonts/STIX/fontdata.js
​+ 樸素貝葉斯法是基於貝葉斯定理特徵條件獨立假設的分類方法。學習

  • 對於給定的訓練集,首先假設學習輸入/輸出的聯合機率分佈;而後基於次模型,利用貝葉斯定理求出喉炎機率最大的輸出y。

樸素貝葉斯方法的學習與分類

基本方法

  • 名詞公式:
  • 輸入空間:\(X\subseteq R^n\)
  • 輸出空間:\(Y = {c_1, c_2, ..., c_K}\)
  • 訓練數據集合:\(T={(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)}\)
  • 先驗機率分佈:\(P(Y=c_k), k=1,2,...,K\)
  • 條件機率分佈:\(P(X=x|Y=c_k) = P(X^1=x^1, X^2=x^2, ..., X^n=x^n|Y=c_k)\)
  • 後驗機率(貝葉斯定理):\(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)}\)

計算過程

  • 計算後驗機率(樸素貝葉斯分類器的基本公式):
    \[P(Y=c_k|X=x) = \frac{P(Y=c_k) \prod_j P(X^j=x^j|Y=c_k) } {\sum_k P(Y=c_k) \prod_j P(X^j=x^j|Y=c_k)}\]spa

  • 樸素貝葉斯分類器可表示爲:
    \[ y=f(x) =\underset{c_k}{argmax} \frac{P(Y=c_k) \prod_j P(X^j=x^j|Y=c_k) } {\sum_k P(Y=c_k) \prod_j P(X^j=x^j|Y=c_k)}\]class

  • 上式中因爲墳墓都相同,因此上式能夠簡化爲:
    \[y=f(x) =\underset{c_k}{argmax} P(Y=c_k) \prod_j P(X^j=x^j|Y=c_k) \]lambda


樸素貝葉斯法的參數估計

極大似然估計

  • 輸入:訓練數據\(T\),其中\(x_i=(x^1_i, x^2_i, ..., x^n_i)\)方法

  • 輸出:實例的分類。數據

學習過程

  1. 計算先驗機率以及條件機率
    \[P(Y=c_k) = \frac{\sum_{i=1}^{N} I(y_i=c_k) } {N}, k=1, 2, ..., K\]
    \[P(X^j=a_{jl}|Y=c_k) = \frac{I(x^j_i=a_{jl}, y_i=c_k)} {\sum_{i=1}^N I(y_i=c_k)}, j=1, 2, ..., n; l=1, 2, ..., S_j; k=1, 2, ..., K\]集合

  2. 對於給定的實例\(x=(x^1, x^2, ..., x^n)\),計算後驗機率
    \[P(Y=c_k) \prod_{j=1}^{n} P(X^j=x^j|Y=c_k)\]di

  3. 去定實例的分類
    \[y=\underset{c_k} {arg max} P(Y=c_k) \prod_{j=1}^{n} P(X^j=x^j|Y=c_k)\]display

貝葉斯估計

  • 因爲極大似然估計可能出現索要估計的機率爲0的狀況,這時會影響到後驗機率的計算結果,使分類出現誤差。所以能夠採用貝葉斯估計。block

  • 條件機率的貝葉斯估計是:
    \[P_{\lambda}(X^j=x_{jl}|Y=c_k) = \frac {\sum_{i=1}^N I(x^j_i = a_{jl}, y=c_k) + \lambda} {\sum_{i=1}^N I(y_i=c_k) + S_j \lambda}, \lambda \geq 0\]
    等價於在各個取值的頻數上賦予一個正數\(\lambda\)

    \(\lambda=0\)爲極大似然估計;\(\lambda=1\)時,稱爲拉普拉斯平滑

相關文章
相關標籤/搜索