第二週分享 樸素貝葉斯

目錄

 

1.貝葉斯定理

2.貝葉斯分類的含義

3.樸素貝葉斯假設特徵相互獨立

4.樸素貝葉斯算法過程

5.什麼是似然函數

6.極大似然估計(MLE)

7.最大後驗概率(MAP)

8.MAP與MLE的區別和總結

9.貝葉斯估計

10.拉普拉斯平滑(Laplaction smoothing)

11.貝葉斯估計算法實現

12.使用樸素貝葉斯實現XXX例子

13.貝葉斯的提出


1.貝葉斯定理

我們爲了看得更清楚些,可以這樣表示

2.貝葉斯分類的含義

長久以來,人們認爲一個事件發生的概率是固定不變的。例如,袋子中有5個白球,5個黑球,不論你取了多少次,取得白球的概率θ始終都是1/2,即不隨觀察結果X 的變化而變化。

直到貝葉斯定理的出現,貝葉斯定理不把概率θ看做一個固定的值(比如上面取白球的概率一直都是1/2),而看做一個隨機變量,他會隨着觀察結果變化。

貝葉斯及貝葉斯派提出了一個思考問題的固定模式:

        先驗分佈 + 樣本信息 =後驗分佈

上述思考模式意味着,新觀察到的樣本信息將修正人們以前對事物的認知。換言之,在得到新的樣本信息之前,人們對的認知是先驗分佈,在得到新的樣本信息後,人們對的認知爲後驗概率。

條件概率公式進行變形,可以得到如下形式:

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

我們把P(A)稱爲"先驗概率",即在事件B發生之前,事件A發生的概率,在事件B發生之前,它是一個無條件分佈,因爲A還沒有與事件B關聯上,他是先驗分佈。

P(A|B)稱爲"後驗概率"(Posterior probability),即在B事件發生之後,我們對A事件概率的重新評估。

P(B|A)/P(B)稱爲"可能性函數"(Likelyhood),這是一個調整因子,使得預估概率更接近真實概率。它的分佈就是後驗分佈

所以,條件概率可以理解成下面的式子:

後驗概率=先驗概率 x 調整因子

這就是貝葉斯推斷的含義。我們先預估一個"先驗概率",然後加入實驗結果,看這個實驗到底是增強還是削弱了"先驗概率",由此得到更接近事實的"後驗概率"。

在這裏,如果"可能性函數"P(B|A)/P(B)>1,意味着"先驗概率"被增強,事件A的發生的可能性變大;如果"可能性函數"=1,意味着B事件無助於判斷事件A的可能性;如果"可能性函數"<1,意味着"先驗概率"被削弱,事件A的可能性變小。

3.樸素貝葉斯假設特徵相互獨立

樸素貝葉斯基於貝葉斯定理&特徵條件獨立假設

爲什麼要求假設特徵是相互獨立的呢?

  • 1.特徵太多,特徵的取值太多,不可能通過統計學的方法估計概率。

(李航60頁:這裏計算的是所有的參數和分類結果進行笛卡爾積。例如4個參數,分類結果有2個,那使用條件概率分佈就需要在4*4*2的空間裏統計。) 

  • 2.假如我們沒有假設特徵之間相互獨立,那麼我們統計的時候,就需要在整個特徵空間中去找,這樣的話,由於數據的稀疏性,很容易統計到0的情況。這樣是不合適的。
  • 樸素貝葉斯要求假設特徵相互獨立,由此得名,算法會變得簡單(優點),但是會犧牲一些準確率,只適合於屬性特徵關聯不緊密的模型。(缺點)

4.樸素貝葉斯算法過程

1.x=(x1,x2,...xD)表示含有D維屬性的數據對象。訓練集S含有K個類別,表示爲y=(y1,y2,...yK)。 

2.已知待分類數據對象x,預測x所屬類別,計算方式如下:

已知待分類數據對象x的情況下,分別計算x屬於y1、y2、...、yK的概率,選取其中概率的最大值,此時所對應的yk,即爲x所屬類別。

3.

計算過程中,P(x)對於P(yk|x),相當於常數(先驗概率,可以提前知道)。

因此,若想得到P(yk|x)最大值,只需計算P(x|yk)P(yk)最大值。

(需要擴展一下:李航61頁)

4.假設數據對象x的各屬性之間相互獨立,P(x|yk)計算方式如下(吼吼,獨立計算就很方便了):

5.這個先驗概率的計算方法,分兩種情況:樣本爲離散的、樣本爲連續的。

-----------離散:假設樣本空間爲n,滿足該條件概率的樣本數位m(數數即可)。

-----------連續:如果是連續屬性。通常假設連續屬性均服從均值爲μ、標準差爲σ的高斯分佈,即

因此只要計算出訓練樣本中各個類別中此特徵項劃分的各均值和標準差,代入上述公式即可得到需要的估計值。

舉個例子:

性別分類:

已知某人身高6英尺、體重130磅,腳掌8英寸,請問該人是男是女?

————————————————————————————————————————

根據樸素貝葉斯分類器,計算下面這個式子的值:P(身高|性別) x P(體重|性別) x P(腳掌|性別) x P(性別)

這裏的困難在於,由於身高、體重、腳掌都是連續變量,不能採用離散變量的方法計算概率。而且由於樣本太少,所以也無法分成區間計算。怎麼辦?

這時,可以假設男性和女性的身高、體重、腳掌都是正態分佈,通過樣本計算出均值和方差,也就是得到正態分佈的密度函數。有了密度函數,就可以把值代入,算出某一點的密度函數的值。

比如,男性的身高是均值5.855、方差0.035的正態分佈。所以,男性的身高爲6英尺的概率的相對值等於1.5789(大於1並沒有關係,因爲這裏是密度函數的值,只用來反映各個值的相對可能性。)。

有了這些數據以後,就可以計算性別的分類了。

P(身高=6|男) x P(體重=130|男) x P(腳掌=8|男) x P(男) = 6.1984 x e-9

P(身高=6|女) x P(體重=130|女) x P(腳掌=8|女) x P(女) = 5.3778 x e-4

可以看到,女性的概率比男性要高出將近10000倍,所以判斷該人爲女性。

5.什麼是似然函數

6.極大似然估計(MLE)

例子:假設有一個造幣廠生產某種硬幣,現在我們拿到了一枚這種硬幣,想試試這硬幣是不是均勻的。即想知道拋這枚硬幣,正反面出現的概率(記爲θ θ )各是多少?

這是一個統計問題,回想一下,解決統計問題需要什麼? 數據!

於是我們拿這枚硬幣拋了10次,得到的數據是:反正正正正反正正正反。我們想求的正面概率θ是模型參數,而拋硬幣模型我們可以假設是二項分佈。那麼,出現實驗結果x 0(即反正正正正反正正正反)的似然函數是多少呢? 

注意,這是個只關於θ的函數。而最大似然估計,顧名思義,就是要最大化這個函數。我們可以畫出f(θ)的圖像:

可以看出,在θ=0.7時,似然函數取得最大值。

這樣,我們已經完成了對θ的最大似然估計。即拋10次硬幣,發現7次硬幣正面向上,最大似然估計認爲正面向上的概率是0.7。(ummm..這非常直觀合理,對吧?)

且慢,一些人可能會說,硬幣一般都是均勻的啊! 就算你做實驗發現結果是“反正正正正反正正正反”,我也不信θ=0.7

這裏就包含了貝葉斯學派的思想了——要考慮先驗概率(在數據的基礎上+經驗修正)。 爲此,引入了最大後驗概率估計。
 

7.最大後驗概率(MAP)

最大似然估計是求參數θ, 使似然函數P(x 0 |θ)最大。

最大後驗概率估計則是想求θ使P(x 0 |θ)P(θ)最大。

求得的θ不單單讓似然函數大,θ自己出現的先驗概率也得大。 (這有點像正則化里加懲罰項的思想,不過正則化裏是利用加法,而MAP裏是利用乘法)

對於投硬幣的例子來看,我們認爲(”先驗地知道“)θ取0.5的概率很大,取其他值的概率小一些。我們用一個高斯分佈來具體描述我們掌握的這個先驗知識,例如假設P(θ)爲均值0.5,方差0.1的高斯函數,如下圖:

則P(x 0 |θ)P(θ)的函數圖像爲:

注意,此時函數取最大值時,θ取值已向左偏移,不再是0.7。實際上,在θ=0.558時函數取得了最大值。即,用最大後驗概率估計,得到θ=0.558

最後,那要怎樣才能說服一個貝葉斯派相信θ=0.7 θ=0.7 呢?你得多做點實驗。。

如果做了1000次實驗,其中700次都是正面向上,這時似然函數爲:

如果仍然假設P(θ) P(θ) 爲均值0.5,方差0.1的高斯函數,P(x 0 |θ)P(θ)的函數圖像爲:

在θ=0.696處,P(x 0 |θ)P(θ)取得最大值。

這樣,就算一個考慮了先驗概率的貝葉斯派,也不得不承認得把θ 估計在0.7附近了。

PS. 要是遇上了頑固的貝葉斯派,認爲P(θ=0.5)=1,那就沒得玩了。。 無論怎麼做實驗,使用MAP估計出來都是θ=0.5。這也說明,一個合理的先驗概率假設是很重要的。(通常,先驗概率能從數據中直接分析得到)

8.MAP與MLE的區別和總結

放一個知乎的例子:

https://zhuanlan.zhihu.com/p/72370235?utm_source=wechat_session&utm_medium=social&utm_oi=712002785519861760

總的來說,

最大似然估計是求參數θ , 使似然函數P(x 0 |θ)最大。

最大後驗概率估計則是想求θ 使P(x 0 |θ)P(θ)最大。

Q: 隨着我們觀測到越來越多的數據,MAP估計逐步逼近MLE,這句話怎麼理解?

當數據量小時,最大後驗概率乘以一個先驗概率P(θ),相當於加入一個修正/經驗。

當我們觀測到的數據越來越多的時候,我們從數據中獲取的信息的置信度是越高的,相反先驗的重要性就會逐漸降低(先驗也不一定準確啊!)理想情況下,當我們擁有無窮多的數據樣本時,MAP會逼近MLE估計,道理都是一樣的。

9.貝葉斯估計

MLE、MAP是選擇相對最好的一個模型(point estimation),貝葉斯方法則是通過觀測數據來估計後驗分佈(posterior distribution),並通過後驗分佈做羣體決策,所以後者的目標並不是在去選擇某一個最好的模型;(李航64頁,分母認爲是一個常數,那麼分子不就是MAP估計嗎?)

10.拉普拉斯平滑(Laplaction smoothing)

用極大似然估計可能會出現所要估計的概率值爲0的情況。這時會影響到概率的計算結果,使分類產生偏差。解決這一問題的方法是採用貝葉斯估計。

等價於在隨機變量各個取值的頻數上賦予一個正數λ>0。當λ=0時就是極大似然估計。常取λ=1,這時稱爲拉普拉斯平滑。

同樣,先驗概率的貝葉斯估計爲

例子:李航p64頁例4.2.計算一下。

11.貝葉斯估計算法實現

12.使用樸素貝葉斯實現XXX例子


2019.11.6更新

13.貝葉斯的提出

托馬斯·貝葉斯Thomas Bayes(1702-1763)在世時,並不爲當時的人們所熟知,很少發表論文或出版著作,與當時學術界的人溝通交流也很少,用現在的話來說,貝葉斯就是活生生一民間學術“屌絲”,可這個“屌絲”最終發表了一篇名爲“An essay towards solving a problem in the doctrine of chances”,翻譯過來則是:機遇理論中一個問題的解。你可能覺得我要說:這篇論文的發表隨機產生轟動效應,從而奠定貝葉斯在學術史上的地位。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章