機器學習——貝葉斯分類算法詳解


一、 前言

貝葉斯分類,是機器學習中比較重要並被廣泛使用的一個分類算法,它分類思想主要基於貝葉斯定理。用一句話來描述就是,如果一個事件A發生時,總是伴隨事件B,那么事件B發生時,事件A發生的概率也會很大。

貝葉斯分類一個很常見的用途是用在識別垃圾郵件上。我們給定一個學習集,程序通過學習集發現,在垃圾郵件中經常出現“免費賺錢”這個詞,同時“免費賺錢”這個詞又在垃圾郵件中更容易出現。那么在實際判斷中,我們發現郵件中出現“免費賺錢”,就可以判定郵件是垃圾郵件。

其實我們每個人,我們的大腦每天都會執行分類操作,而且思考的過程和貝葉斯分類很像。我們可以想象一下,我們自己是如何識別垃圾郵件的。我們識別垃圾郵件總會有一定的規則,比如郵件中含有XX關鍵詞,郵件描述信息太離譜了,郵件的發送人不認識,郵件中包含釣魚網站。而這些規則,我們都是通過以往的經驗總結出來的。通過這些規則,我們就可以判定郵件是垃圾郵件的概率更大,還是非垃圾郵件的概率更大。

二、 貝葉斯定理

首先我們要知道,P(A),P(B)分別是事件A,B發生的概率,而P(A|B)是在事件A在事件B發生的前提下發生的概率,P(AB)是事件A,B同時發生的概率。那么我們的有公式:

clip_image002[18]

那么貝葉斯定理是:

clip_image004[8]

注:P(AB)=P(A)P(B)的充分必要條件是事件A和事件B相互獨立。用通俗的語言講就是,事件A是否發生不會影響到事件B發生的概率。

我們舉例說明,比如我們抽取了100封郵件,經過統計如下表:

 

包含“免費賺錢”

不包含“免費賺錢”

總數

垃圾郵件

40

10

50

非垃圾郵件

5

45

50

總數

45

55

 

我們設P(B)是垃圾郵件事件的概率,P(A)是包含“免費賺錢”關鍵詞事件的概率。

那么clip_image006[8]表示非垃圾郵件的概率,clip_image008[8]表示不包含“免費賺錢”的概率。

我們可以知道:

P(B)=50/(50+50)=0.5

P(A)=45/(45+55)=0.45

P(A|B)=40/50=0.8(在是垃圾郵件的前提下,包含“免費賺錢”的概率)

因此可以計算得到,如果郵件中包含“免費賺錢”關鍵字是垃圾郵件的概率是:

clip_image010[8]=0.8*0.5/0.45=88.9%

而是非垃圾郵件的概率是:

clip_image012[8]=1-P(B|A)=11.1%

因此,包含“免費賺錢”關鍵字的郵件是垃圾郵件概率是88.9%,按照貝葉斯分類的理論,我們可以把它判定成垃圾郵件。

三、 朴素貝葉斯分類

現實生活中的情況,通常比我們上面所舉得例子復雜的多。比如我們分類的結果,可能不止有兩個類別(是垃圾郵件,非垃圾郵件),就像我們在做文章分類的時候,可能的類別有社會,軍事,體育,娛樂,財經,科技等很多個類別。還有我們作為分類依據的特征,通常不止1個,可能有幾十個甚至有上千個。

這是我們的表達式是這樣的:

clip_image014[8]

P(Y=Ck)表示Y是第K個分類的概率。P(X=x)表示X的特征組合是x的概率。

比如如果我們有100個特征,每個特征都只包含2種情況(比如是或否,包含或不包含)。那我們可能特征組合就是2的100次方。

這時我們要計算所有特征的組合的P(X=x),就要計算2的100次方次,這個計算量就太龐大了,根本無法完成。

因此朴素貝葉斯為了解決這個計算量龐大的問題,它假設所有的特征都是相互獨立的,這樣大大的簡化了計算的復雜程度,但同時也會降低分類的准確率。在貝葉斯定理一節,我們已經說過,P(AB)=P(A)P(B)的充分必要條件是事件A和事件B相互獨立。因此我們可以得到:

P(X=x)=P(X1=x1)*P(X2=x2)*…*P(X100=x100)

所以我們只需要計算出每個特征單獨發生或不發生(假設每個特征只包含兩種情況)的概率,然后想成根據實際情況組合相乘就好了。

同理:P(X=x|Y=Ck)=P(X1=x1,X2=x2,…,Xn=xn|Y=Ck) (表示Y是第K類的前提下,同時發生X1=x1,..Xn=xn事件的概率)

=clip_image016[8] (表示P(X1=x1|Y=Ck)連乘到P(Xn=xn|Y=Ck))

下面我們先介紹一下全概率公式:

假設A,B事件的關系如下:

clip_image017[8]

那么我們可以得到:clip_image018[8] clip_image019[8]

因此根據上述公式,我們可以得到:

clip_image021[8]

clip_image023[8]

() 及

clip_image025[8]

最終分類器可以表示為:

clip_image027[9]

即在X已知的情況下,計算所有Y的可能值,選擇出概率最大的哪一類,就是我們分類的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM