馬睿



摘要:樸素貝葉斯算法是一種簡單而高效的分類算法,但是其分類能力卻受到條件獨立性的假設所影響。文章針對樸素貝葉斯算法的這一弊端,提出以互信息量為加權的樸素貝葉斯算法。通過計算條件屬性和決策屬性之間的互信息量,對不同的條件屬性賦予不同的權重,從而在保持樸素貝葉斯算法簡潔的基礎上有效地提高了其分類性能。首先提出了以互信息量為屬性權值的求解方法,然后論證了相應的算法理論,最后對所提算法進行了實際驗證,并得到很好的效果。
關鍵詞:加權;樸素貝葉斯算法;互信息量
分類問題一直以來都是數據挖掘和機器學習研究的熱點問題,主要是通過對樣本數據或訓練集的分析和學習來構造分類器,然后把待分類的樣本映射到對應的類別中。目前已有很多成熟的分類算法,比如決策樹分類算法、貝葉斯分類算法、基于規則的分類算法和支持向量機的分類算法等。在眾多分類方法和理論中,樸素貝葉斯(NaiveBayes,NB)由于計算高效、精確度高,并具有堅實的理論基礎而得到了廣泛應用[1]。在文獻[2]中針對加權貝葉斯分類模型提出了基于相關系數的權重求解方法。文獻[3]中基于Rough Set的屬性重要性理論,提出了基于Rough Set的加權樸素貝葉斯分類方法,并分別從代數觀、信息觀及綜合代數觀和信息觀的角度給出了屬性權值的求解方法。文獻[4]中在挖掘出來的規則和置信度的基礎上,對樸素貝葉斯分類算法進行改進,根據挖掘出來的關聯規則和置信度對條件屬性進行加權。
就分類而言,條件屬性和決策屬性之間的相關程度越高,條件屬性對分類的影響會相應變大。針對這一分類模型本文提出了基于互信息量的樸素貝葉斯權重求解方法。
1 算法理論
1.1樸素貝葉斯分類
樸素貝葉斯分類是基于貝葉斯定理,即:其中,P(B|A)為條件A下B的后驗概率,P(B)為B的先驗概率,P(A|B)為條件B下A的后驗概率,尸(A)表示爿的先驗概率。那么樸素貝葉斯分類思想就是:刑個樣本S={S1,S2,…,Sn}(訓練數據集),每個樣本Si都表示為一個n維向量{X1,X2,…,Xn。},xi為Si的特征屬性。還有k個類C={C1,C2,…,Ck}(,每個樣本就屬于一個類別。此外給出一個待檢測樣本X(未知類),可以用最高條件概率尸(Ci|X)來預測未知類的類別。即:
對于所有的類別來說尸(X)是一個定數,最大化先驗概率尸(X Ic,/)尸(Q可通過最大化后驗概率尸(Ci|X)轉化得到。先驗概率尸(xi|Ci),P(x2|Ci》…,P(xn|ci)可以從訓練數據集中獲取。據此理論就可以求出檢測驗本X的類。
那么樸素貝葉斯分類模型就可以定義為
1.2加權貝葉斯分類
在實際操作中很難讓樸素貝葉斯條件獨立性的這個假設成立,可以給不同的屬性賦不同的權值使樸素貝葉斯得以擴展,這就是加權樸素貝葉斯[5]: 其中,Wi代表屬性xi的權值,屬性的權值越大,該屬性對分類的影響就越大。加權樸素貝葉斯的關鍵問題就在于如何確定不同屬性的權值。
1.3互信息量
互信息表示I(x;y)表示某一事件y所給出的關于另一事件x的信息[6]。定義事件y口事件x之間的互信息量為: 當后驗概率p(yIx)等于先驗概率p(y)時,互信息量I(x;y)等于零,表示兩個事件獨立:當后驗概率p(y|x)大于先驗概率p(y)時,互信息量J(5‘;y)大于零,為正值,意味著x的出現有助于減小y出現的不確定性,即一個出現會增加另一個出現的可能性:當后驗概率p(y|x)小于先驗概率p(y)時,互信息量J(x;y)小于零,意味著x的出現增加了y出現的不確定性,即一個出現會減少另一個出現的可能性。所以利用互信息量作為衡量屬性相關性分析的指標是可行的。
2 基于互信息量的加權樸素貝葉斯分類
在現實的世界中,條件屬性之間完全獨立幾乎是不存在的,屬性之間都存在著或多或少不同程度的聯系,并且每個條件屬性和決策屬性之間的相關程度也是不一樣的,所以要對每個條件屬性進行加權[7]。本文通過計算條件屬性和決策屬性之間的互信息量,對條件屬性進行加權。即
W=I(X,Y)
基于互信息量的樸素貝葉斯分類模型首先要根據分類樣本(訓練數據集),計算條件屬性的權值,即計算條件屬性和決策屬性的互信息量。然后進行樸素貝葉斯分類做出預測。其基本分類模型如圖1所示。 具體步驟:(1)數據預處理。對訓練數據集和待分類數據進行缺失值補充和離散化。(2)根據訓練數據集,根據每個條件屬性的屬性值xi和類別值yi,計算類別值下屬性值出現的概率p(xi|yi)和類別概率P(yi)。由此計算互信息量/(x;y),并作為條件屬性的權重系數。(3)生成加權樸素貝葉斯權重系數表。(4)分類。調用權重系數表,對樣本數據進行加權樸素貝葉斯計算分類。
3 應用舉例
如表1所示,一個訓練數據集有條件屬性和決策屬性。條件屬性包括Outlook,Tem (Temperature),Hum(humidity),Windy,決策屬性D(條件屬性代表的天氣情況,決策屬性代表是否外出打網球)。
根據表1,按照條件屬性和決策屬性的互信息量,求解每一個條件屬性的權重系數。由此可得到一個權重系數表,如表2所示。
假設待分類檢測樣本為:X= (Sunny Hot HighStrong),那么通過本文所提的算法可以算得樣本的分類為:No。
4 結語
在現實世界中,樸素貝葉斯假設的先決條件很難得到滿足?;诨バ畔⒘康募訖鄻闼刎惾~斯算法,很好地解釋了條件屬性和決策屬性的關系,為分類做了先決判斷,并能最終得到準確的分類結果。
[參考文獻]
[1]HAN J M,KAMBER M.數據挖掘:概念與技術[M].范明,孟小峰,譯北京:機械工業出版社,2005.
[2]張明衛,王波,張斌,等基于相關系數的加權樸素貝葉斯分類算法[J].東北大學學報,2008 (7):952-955.
[3]鄧維斌,王國胤,王燕.基于RoughSet的加權樸素貝葉斯分類算法[J].計算機學報:2007(2):204-206.
[4]張春,郭明亮大數據環境下樸素貝葉斯分類算法的改進與實現J].北京交通大學學報,2015 (4):35-41
[5]HARRY Z, SHENG S.Learning weighted naive bayes with accurate ranking[C].Brighton: Fourth IEEE International Conference onData Mining,2004
[6]張龍飛基于互信息的樸素貝葉斯改進模型研究[D].長春:吉林大學,2010
[7]張震,胡學鋼基于互信息量的分類模型[J].計算機應用,2011(6):1678-1680.