1. 程式人生 > >Python與機器學習之模型結構(生成學習演算法二)

Python與機器學習之模型結構(生成學習演算法二)

多項式事件模型(multinomial event model)

回顧

上述文章討論了基於樸素貝葉斯的文字分類,即多變數伯努利事件模型(multi-variate Bernoulli event model)

本章繼續討論多項式事件模型(multinomial event model)

概念初步

專為文字分類而生。(後驗估計)
ps:最大後驗估計補習

模型

  • 我們首先假設,郵件是隨機發送過來的(垃圾與非垃圾),所以有先驗概率p(y)
  • 然後我們假定(強假設),郵件裡每個單詞是獨立的,p(xi=1|y)=φ(i|y)

總概率

這裡寫圖片描述

綜述

設xi為email裡第i個詞,且xi=(dict裡對應單詞的位置)

顯然xi在{1, ... ,|V|}裡取值,其中|V|是特徵字典(dict)的長度

所以:

  • 一個長度為n的email就被描述成一個長度為n的向量x(i):
    這裡寫圖片描述
  • 假定給定訓練集:
    這裡寫圖片描述
  • 根據模型概率,新樣本的似然函式為:
    這裡寫圖片描述
  • 極大似然估計為:
    這裡寫圖片描述
  • 加入拉普拉斯平滑:
    這裡寫圖片描述

總結

筆者在幾次實戰後,發現絕大部分文字分類運用該模型效果良好。
接下來我會舉例實戰,不懂的或者需要原始碼的可以聯絡我。

如果您看到這篇文章有收穫或者有不同的意見,歡迎點贊或者評論。
python:190341254
丁。