1. 程式人生 > >貝葉斯方法及改進演算法

貝葉斯方法及改進演算法

下面介紹理論基礎:應用最廣泛的文字分類的學習演算法是在資訊檢索中發展起來的計算相似度的方法,在文字分類中是通過對訓練集學習,構成類別向量 Cj,然後以向量的內積計算待分類向量 d’與類別向量距離, 對每一類都由一個特徵向量 Cj,由帶類別標記訓練集的得到的。用這些向量對待分文字 d’分類,待分文字也表示成向量 d’,然後分別計算與各類特徵向量的餘弦,d’將屬於餘弦值最大的類別。見公式

                         H(d')=argmaxcos(Cj,d'),其中Cj屬於類別集合C

  文字分類中常用的統計方法是利用文字的概率模型,基本思想是利用詞和文字的聯合概率估計文字所屬類別的概率,純粹貝葉斯假設文字是基於詞的 unigram 模型,即文字中詞的出現依賴於文字類別,但不依賴於其他詞及文字的長度也就是說,詞於詞之間是獨立的。具體演算法如下:設集合 X 代表文字的內容,其中元素 x 表示訓練文字 d 包含 x 的概率即為 p(x|d)通過全概率理論和貝葉斯理論,我們可以得到:

為了便於處理假設 X 提供的關於 d 的資訊足夠多,包含 Cj 類別資訊,即 Cj 的資訊是冗餘的,可以認為Pr(d|Cj,x)=Pr(d|x),

故(2)式便可簡化為

對於 X 集 的選擇,元素 x 是通過 n-gram 模型計算的得到的,即 x 的概率是與特徵集 F 前 n個詞的相關的, 從中我們可以看到,n  的大小決定了分類演算法的質量和精確度,在這裡我們採用最簡單的形式 n=1 作為開始,可以想象,若 n=|d|,Pr(Cj|d)=Pr(Cj|x),精確度將很高,
但計算起來將非常複雜,我們採用純粹貝葉斯假設,即詞與詞之間是獨立的,即 n=1 作為研究的起點,則(3)  就被簡化為

其中:Pr(w|d)用訓練文字 d 中 w 出現的次數來表示,,Pr(Cj|w)表示當文字中有詞 w 出現時,文屬於第 j 類的概率。通過訓練集由貝葉斯公式得到後驗概率:

其 中 : 由 訓 練 語 料 的 文 本 數 我 們 可 以 得 到 Cj 先 驗 概 率 和 後 驗 概 率 Pr(w|Cj)的 值 :

 其 中 |Cj| 為  訓  練 集 中  某  一 類 的  文  檔 數 , |D| 訓 練 集  的  總 文 本  數

DF 為 Cj 類中出現 w 的次數,|Cj|為訓練集中該類的文字數,我們可以得到文字類別貝葉斯判別式為:

在對上述方法的實現中,文字特徵均以 DF 來表示,通過我們實驗表明,DF 是特徵表示法中的一個簡單、費用較低的工具,其效果與其它方法相當。獲取 DF 的過程,首先除去停用詞,然後統計詞頻,這裡採用的詞頻即某一個詞 w 出現在該類文字中個數,給定閾值後,詞頻大於閾值的詞作為該類文字的特徵,形成特徵向量 F。在對籃球和足球分類中我們發現,對於不易分別的文字,會在兩類特徵向量中由很多相似的特徵,且在兩類文字中出現的概率均衡,區分性資訊不好,如“得分”,在籃球和足球中都會經常出現,但僅通過這個詞,我們不能文字屬於哪一類,而兩類中出現詞頻差別較大的詞,即使詞頻較低,也具有很強的區分資訊,因此我們提出了一種改進的分類方法,在貝葉斯分
類的基礎上,對區分性好的詞增加權重,對分類性差的詞降低權值,具體方法是:用出現的詞 頻 作  第 一  次 的 排  序 ,  再 用 似  然 比  對 其 分  類 性  能 作 第  二 次  處 理 ,  即 對  每 一 項  加 權Pr(w|cj)/Pr(w|ci),對兩類問題,我們可以用兩類密度函式似然比作因子,提高平均可分資訊,推廣到多類問題,我們可以用某一類的密度函式與各類密度函式的均值進行比較,對於在各類中表現均衡的詞,即出現概率相近的詞,得到權值的很小,對在各類中出現概率差別較大的詞,其權值較大,從而提高了可分性資訊。改進後的文字分類判別公式如下:

  對(2)中變形的解釋:Pr(Cj|x,d)=Pr(Cj,x,d)/Pr(x,d)=Pr(d|Cj,x)*Pr(Cj,x)/(Pr(d|x)*Pr(x))=Pr(d|Cj,x)*Pr(Cj|x)*Pr(x)/(Pr(d|x)*Pr(x)),這樣就得出了(2)中的變形。