爲什麼要有m-估計?
當我們通過在全部事件的基礎上觀察某事件出現的比例來估計概率時,例如:P=nc/n.,其中nc爲該類別中的樣本數量,n爲總樣本數量。若n=5,當P=0.6時,則nc爲3。多數情況下該比例是對概率的一個良好的估計。但當nc很小時估計會較差,例如:P=0.08,樣本中同樣有5個樣例,那麼對於nc最可能的取值只有0,。這會導致兩個問題:
1、nc/n產生了一個有偏的過低估計概率。
2、當此概率估計爲0時,將來的查詢此概率項將會在貝葉斯分類器中佔統治地位。原因是貝葉斯公式中計算得量其他所有概率項都將乘以此0值。
爲了避免此問題,所以需要採用一種估計概率,即如下定義的m-估計:
其中nc爲該類別中的樣本數量,n爲總樣本數量,p爲將要確定的概率的先驗估計,m爲等效樣本大小的常量。
爲什麼m-估計的公式是這樣的?
首先,請思考問題出現的根本原因,問題出現的根本原因是樣本數量過小。所以爲了避免此問題,最好的方法是等效的擴大樣本的數量,即在爲觀察樣本添加m個等效的樣本,所以要在該類別中增加的等效的類別的數量就是等效樣本數m乘以先驗估計p。
爲什麼在貝葉斯應用(如mahout)中使用的公式如下呢?
其中nk爲單詞W出現的次數,n爲所有單詞出現的次數。
其實,這只是m的取值的關係,當等效樣本數m爲詞彙表中的單詞數時,自然取統一的先驗概率的p的值就是1/|vocabulary|咯。