拉普拉斯平滑(Laplacian smoothing)

每天卷學習發表於2022-01-14

  概念

  • 零概率問題:在計算事件的概率時,如果某個事件在觀察樣本庫(訓練集)中沒有出現過,會導致該事件的概率結果是  $0$ 。這是不合理的,不能因為一個事件沒有觀察到,就被認為該事件一定不可能發生(即該事件的概率為 $0$ )。

  拉普拉斯平滑(Laplacian smoothing) 是為了解決零概率的問題。

  • 法國數學家 拉普拉斯 最早提出用 加 $1$  的方法,估計沒有出現過的現象的概率。
  • 理論假設:假定訓練樣本很大時,每個分量 $x$ 的計數加  $1$  造成的估計概率變化可以忽略不計,但可以方便有效的避免零概率問題

  具體公式
  對於一個隨機變數  $\mathrm{z} $ , 它的取值範圍是   $\{1,2,3 \ldots, \mathrm{k}\} $, 對於   $\mathrm{m} $  次試驗後的觀測 結果  $  \left\{\mathrm{z}^{(1)}, \mathrm{z}^{(2)}, \mathrm{z}^{(3)}, \ldots, \mathrm{z}^{(\mathrm{m})}\right\} $, 極大似然估計按照下式計算:

    $\varphi_{j}=\frac{\sum_{i=1}^{m} I\left\{z^{(i)}=j\right\}}{m}$

  使用 Laplace 平滑後, 計算公式變為:

    $\varphi_{j}=\frac{\sum_{i=1}^{m} I\left\{z^{(i)}=j\right\}+1}{m+\mathrm{k}}$

  即在分母上加上取值範圍的大小, 在分子加  $1$ 。
  總結: 分子加一,分母加  $K$,$K$  代表類別數目。

  應用場景舉例
  假設在文字分類中,有  $3$  個類:$C_1$、$C_2$、$C_3$
  在指定的訓練樣本中,某個詞語  $K_1$ ,在各個類中觀測計數分別為  $0$,$990$,$10$。
  則對應   $K_1$  的概率為 $0,0.99,0.01$。

  顯然  $C_1$  類中概率為  $0$,不符合實際。

  於是對這三個量使用拉普拉斯平滑的計算方法如下:
  $1/1003 = 0.001$,$991/1003=0.988$,$11/1003=0.011$
  在實際的使用中也經常使用加 $λ$($0≤λ≤1$)來代替簡單加  $1$。如果對  $N$個計數都加上  $λ$,這時分母也要記得加上 $N*λ$。

 

相關文章