溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從貝葉斯公式到垃圾郵件的識別

發(fā)布時間:2020-07-05 05:39:14 來源:網(wǎng)絡 閱讀:1572 作者:sbp810050504 欄目:大數(shù)據(jù)

看《***與畫家》講到"防止垃圾郵件的一種方法",覺得很適合用來表述數(shù)學公式與機器學習之間的關系。涉及到機器學習的數(shù)學公式比較簡單,概率論基礎教程都會講到。解決的問題也很典型: 垃圾郵件的識別。

防止垃圾郵件有很多種方法,最直觀的一種就是“規(guī)則”, 各種if-else的條件。這種方法能夠解決一個問題,但是解決不了一類問題。而且,這個規(guī)則的制定需要非常熟悉業(yè)務,好在通常我們面臨的業(yè)務問題是很垂直的, 通過規(guī)則, 也能夠解決問題。畢竟解決問題才是業(yè)務的核心訴求。

接下來, 業(yè)務隨著業(yè)務的發(fā)展, 規(guī)則越來越復雜, 我們維護起來也越來越吃力。 而且使用規(guī)則,是被動式的解決問題,用戶體驗也不好。 這個時候,新的方法該上場了,這個方法就是 “統(tǒng)計學方法”。 因為接觸的規(guī)則越多, 我們會慢慢發(fā)現(xiàn)郵件中出現(xiàn)某個關鍵詞, 只能表示郵件有可能是垃圾郵件。 這個可能性如何度量呢? 用貝葉斯方法。

貝葉斯方法的思路屬于逆向思維。 通常概率論解決的問題是“已知郵件是垃圾郵件,問各個單詞出現(xiàn)在垃圾郵件中的概率”, 貝葉斯方法解決的問題是“已知郵件內(nèi)容, 問當前郵件屬于垃圾郵件的概率".

理解貝葉斯公式不難,其基礎點有"條件概率", "聯(lián)合概率"。 貝葉斯公式的推導也很簡單:

P(AB) = P(B)*P(A|B)

P(AB) = P(A)*P(B|A)

有:

P(B)*P(A|B)=P(A)*P(B|A)

所以

P(A|B) = P(A)*P(B|A) / P(B)

雖然機器學習最忌諱的就是套公式,但是為了方便理解, 我們先套個公式:

P(垃圾郵件|郵件內(nèi)容) 表示 ”在已知郵件內(nèi)容,郵件屬于垃圾郵件的概率“

P(垃圾郵件|郵件內(nèi)容) = P(垃圾郵件) * P(郵件內(nèi)容|垃圾郵件) / P(郵件內(nèi)容)

等式右邊的概率是可以通過樣本計算出來的。

現(xiàn)在解決問題的方法有了,數(shù)學公式也有了, 是不是問題就解決了呢? 顯然不是。我們只是完成了模型選擇而已。通過《***與畫家》看這個模型是如何落地的。

  1. 選擇樣本: 作者選取了4000封正常郵件和4000封垃圾郵件。

  2. 選擇特征:字母、阿拉伯數(shù)字、破折號、撇號、美元符號作為“實義標識”

  3. 統(tǒng)計次數(shù): 計算了每個實義標識在兩個郵件組出現(xiàn)的次數(shù)

  4. 確定計算公式。 這里其實就是整篇文章的精華了。a. 作者沒有完完全全套用貝葉斯公式; b. 作者分別在token和郵件兩個維度用了貝葉斯思想。這才是難能可貴的。

  5. 特征選擇: 作者選取了top15的特征, 而非郵件全部的token.

  6. 結果選取: 通常我們選取結果是以0.5為界,而作者以0.9為界。

如果說通常意義上的編程是一維的,那么機器學習的編程就是二維的。通常的工程問題是非黑即白,要么可用,要么是有Bug不可用。而機器學習在工程上的落地,更核心的關注點在于算法效果好不好和算法效果能不能更好。算法效果好不好,核心點在于數(shù)學模型, 其次在于怎么用好數(shù)學模型。 《***與畫家》用簡明的例子說明他是怎么用數(shù)學模型解決業(yè)務問題的。

引申一下:這個問題屬于典型的二分類問題。像垃圾郵件,垃圾評論, 評論的情感判斷, 是否目標用戶,是否推薦用戶... 很多問題都可以歸類到二分類問題。如果把"垃圾郵件的識別"抽象到分類問題,整個解決問題的思路就又開闊了很多。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI