貝葉斯分類

假設有N種可能的類別標記,即$y=\{c_{1},c_{2}...c_{N}\}$,$\lambda_{ij}$是將一個真實標記爲$c_{j}$的樣本誤分類爲$c_{i}$所產生的損失,指望損失爲:ide

  $R(c_{i}|x)=\sum_{j=1}^{N}\lambda_{ij}p(c_{j}|x)$函數

咱們是但願找到一個斷定準則 h ,一最小化整體風險:優化

  $R(h)=E_{x}[R(h(x)|x)]$lambda

顯然只要每個樣本都選擇那個能使條件風險$R(c|x)$最小類別標記,即im

  $h^{*}(x)=\underset{c \in y}{arg \ min}R(c|x)$數據

 

若是目標是最小化分類錯誤率,則誤判損失$\lambda_{ij}$可寫成:集合

  $\lambda_{ij}=\left\{\begin{matrix}0,if\ i = j\\ 1,otherwise\end{matrix}\right.$錯誤

此時的風險爲:參數

  $R(c|x)=1-P(c|x)$

最小化分類錯誤率的貝葉斯最優化分類器:

  $h^{*}(x)=\underset{c \in y}{arg \ max}P(c|x)$

因此要求後驗機率:

  $P(c|x)=\frac{P(x,c)}{P(x)}$

  $=\frac{P(c)P(x|c)}{P(x)}$

其中,$P(c)$是類的先驗機率,$P(x|c)$是樣本x相對於類標記c的類條件機率,$P(x)$是歸一化的證據因子,給定樣本x,證據因子與類別標記無關,所以估計$P(c|x)$的問題轉化爲如何基於訓練數據D來估計先驗$P(x)$和似然$P(x|c)$

對於$P(x)$,根據大數定律,當數據集包含充足的獨立同分布樣本時,可經過各種樣本出現的頻率來估計。

對於$P(x|c)$,它因爲涉及關於x的全部屬性的聯合機率,直接根據樣本出現的頻率來估計將會遇到嚴重的困難,例如假設樣本的d個屬性都是二值的,則樣本空間都有$2^{d}$種可能的取值,在現實應用中,這個值每每遠大於訓練樣本數m,也就是說有不少取值在訓練集中根本就沒有出現過,「未觀測到」和「出現機率爲0」是不一樣的。

 

極大似然估計:

  假定$P(x|c)$具備某種肯定的機率分佈形式,再基於訓練樣本對機率分佈的參數進行估計。假設$P(x|c)$具備肯定的形式而且被參數向量$\theta_{c}$惟一肯定,則咱們的任務是利用訓練集D估計參數$\theta_{c}$,記$P(x|c)$爲$P(x|\theta_{c})$(要已知整體分佈,是n個屬性的聯合機率分佈,計算量大,難以從有限的樣本中得出)

令$D_{c}$表示訓練集D中第c類樣本組合的集合,假設這些樣本是獨立同分布的,則參數$\theta_{c}$對於數據集$D_{c}$的似然是(估計每個類別的參數,即類別的分佈是不一樣的):

  $P(D_{c}|\theta_{c})=\prod_{x\in D_{c}}P(x|\theta_{c})$

在$\theta_{c}$全部的取值中,找到一個能使數據出現的可能性最大,即:

  $LL(\theta_{c})=logP(D_{c}|\theta_{c})=\sum_{x\in D_{c}}logP(x|\theta_{c})$

極大似然估計$\widehat{\theta_{c}}$爲:

  $\widehat{\theta_{c}}=\underset{\theta_{c}}{arg \ max}LL(\theta_{c})$

假設機率密度函數$P(x|c) \sim N(\mu_{c},\sigma_{c}^{2})$,則:

  $\widehat{\mu_{c}}=\frac{1}{|D_{c}|}\sum_{x\in D_{c}}x$

  $\widehat{\sigma_{c}}^{2}=\frac{1}{|D_{c}|}\sum_{x\in D_{c}}(x-\widehat{\mu_{c}})(x-\widehat{\mu_{c}})^{T}$

 

樸素貝葉斯:

利用極大似然估計來估計後驗機率的主要困難是$P(x|c)$是全部屬性上的聯合機率,難以從有限的樣本中得出,全部樸素貝葉斯假設每個屬性相互獨立,則每個屬性都有本身的機率分佈:

  $P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod_{i=1}^{d}p(x_{i}|c)$

其中$d$爲屬性數目,$x_{i}$爲$x$在第$i$個屬性上的取值。

即樸素貝葉斯表達式:

  $h_{nb}(x)=\underset{c\in y}{arg\ max}P(c)\prod_{i=1}^{d}p(x_{i}|c)$

令$D_{c}$表示訓練集$D$中第$c$類樣本組成的集合。

  $P(c)=\frac{|D_{c}|}{|D|}$

對於離散型屬性,令$D_{c_{i}x_{i}}$表示$D_{c}$中在第$i$個屬性上的取值爲$x_{i}$的樣本組成的集合:

  $p(x_{i}|c)=\frac{|D_{c_{i}x_{i}}|}{|D_{c}|}$

對於連續型屬性,假設$P(x_{i}|c) \sim N(\mu_{c,i},\sigma_{c,i}^{2})$,其中$\mu_{c,i}$和$\sigma_{c,i}^{2}$分別是第$c$類樣本在第$i$個屬性上取值的均值和方差,則:

  $P(x_{i}|c)=\frac{1}{\sqrt{2\pi }\sigma_{c,i}}exp(-\frac{(x_{i}-\mu_{c,i})^{2}}{2\sigma_{c,i}^{2}})$

爲避免因訓練集樣本不充分而致使機率值爲0的狀況(某一個屬性的機率爲0),所以加入拉普拉斯修正:

  $\widehat{P}(c)=\frac{|D_{c}|+1}{|D|+N}$

  $\widehat{P}(x_{i}|c)=\frac{|D_{c_{i}x_{i}}|+1}{|D_{c}|+N_{i}}$

其中$N$表示訓練集$D$中可能的類別數,$N_{i}$表示第$i$個屬性可能的取值數

相關文章
相關標籤/搜索