李楚進(jìn),付澤正
(華中科技大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,武漢 430074)
對樸素貝葉斯分類器的改進(jìn)
李楚進(jìn),付澤正
(華中科技大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,武漢 430074)
分類是十分基礎(chǔ)且很關(guān)鍵的數(shù)據(jù)分析技術(shù),而基于貝葉斯理論的樸素貝葉斯分類技術(shù)是當(dāng)前數(shù)據(jù)分析領(lǐng)域的一個研究熱點(diǎn)。文章針對條件獨(dú)立性假設(shè)提出了基于主成分分析的改進(jìn)方法,以期能夠充分體現(xiàn)樸素貝葉斯分類器在分類中的優(yōu)勢,實(shí)現(xiàn)改進(jìn)分類效果的目的。
數(shù)據(jù)分析;樸素貝葉斯分類器;條件獨(dú)立性;主成分分析
隨著信息時代生活中數(shù)據(jù)量的爆炸式增長,大數(shù)據(jù)已經(jīng)融入我們生活的方方面面。在大數(shù)據(jù)環(huán)境下,對數(shù)據(jù)分析與處理要求的提升在理論和實(shí)際應(yīng)用中正引起越來越多學(xué)者和專業(yè)人士的關(guān)注。不僅要關(guān)注數(shù)據(jù)的收集、整理,而且要有效地從大數(shù)據(jù)中學(xué)習(xí)知識、提升能力,并將其轉(zhuǎn)化為現(xiàn)代社會可以利用的高效生產(chǎn)力。
在數(shù)據(jù)分析中,分類起著既基礎(chǔ)又十分關(guān)鍵的作用。利用已知訓(xùn)練樣本集生成需要的模型或函數(shù),在所給類別已知的情況下,通過所獲得的模型或函數(shù)將未知的待分類樣本集通過判斷分類給某個類別。比如,在網(wǎng)絡(luò)技術(shù)中使用分類算法來判斷一個帳號是否為非真實(shí)帳號等。而目前構(gòu)造分類器的方法眾多,常見的有貝葉斯網(wǎng)絡(luò)、決策樹、人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、遺傳算法等。其中,基于貝葉斯理論的樸素貝葉斯分類模型由于計算效率高、精確度高,具有深刻的數(shù)學(xué)統(tǒng)計理論基礎(chǔ),而成為眾多方法中十分流行的方法之一。
樸素貝葉斯分類器其分類性能在分類經(jīng)典算法中屬于較為高效的算法。然而其條件獨(dú)立性假設(shè)在很多情形下并不成立,這使得實(shí)際分類效果受到很大的影響,考慮借助其他算法改進(jìn)其性能效率的討論就顯得很有意義。本文針對獨(dú)立性假設(shè)前提提出了基于主成分分析的改進(jìn)方法,以期能夠充分利用樸素貝葉斯分類器在分類中的優(yōu)勢,將主成分分析和樸素貝葉斯模型結(jié)合,達(dá)到改進(jìn)分類效果的目的。
1.1 樸素貝葉斯分類模型(NBC)
樸素貝葉斯分類算法的分類思路是:對于一個未知的樣本,它在某個類別出現(xiàn)的前提下,出現(xiàn)的概率最大。則該樣本在概率意義下可以認(rèn)為屬于條件概率最大的樣本。其定義為:
(1)設(shè)x={a1,a2…am}為一個測試樣本,a為x的屬性變量。
(2)類別集合C={y1,y2…yn}。
(3)計算P(y1|x),P(y2|x)…P(yn|x)。
(4)如果 P(yk|x)=max{P(y1|x),P(y2|x)…P(yn|x)}則x?yk。
其中第(3)步條件概率的計算方法如下:
①處理訓(xùn)練樣本集,對已知類別的樣本集進(jìn)行統(tǒng)計分析。各個類別的屬性變量的條件概率值的獲取可以通過訓(xùn)練集統(tǒng)計處理得到。即:
②如果每個屬性都是條件獨(dú)立的,則依據(jù)貝葉斯定理有:
通常這里假設(shè)各特征屬性是條件獨(dú)立的,從而有:
1.2 條件獨(dú)立性假設(shè)
樸素貝葉斯分類模型的條件獨(dú)立性假設(shè)使其在實(shí)際分類應(yīng)用時受到較大限制,研究者們通常致力于通過改進(jìn)算法,減弱這種獨(dú)立性假設(shè)帶來的影響。然而,分類模型的復(fù)雜化并不一定帶來更好的結(jié)果。研究表明,如果模型過于復(fù)雜,容易造成過分?jǐn)M合的情形。其次,完全無限制的貝葉斯分類模型會帶來時間復(fù)雜度和空間復(fù)雜度的提高。因此,對樸素貝葉斯分類模型的改進(jìn)研究,大都是考慮具有較寬松條件的貝葉斯網(wǎng)絡(luò)分類器的構(gòu)建。常見有以下若干處理技術(shù):屬性分組技術(shù)、屬性刪除技術(shù)、局部樸素貝葉斯分類器、概率調(diào)整技術(shù)、建立依賴關(guān)系技術(shù)等。
1.3 主成分分析
主成分分析通過降維以達(dá)到分析處理的目的,其主要原理是從數(shù)據(jù)集中提取主成分因子,每一個因子都要與之前的主成分正交,所有的主成分加一起可以解釋所有數(shù)據(jù)的變異性,即代表了數(shù)據(jù)的全部信息。通常在降維時,前面的主成分可以解釋大部分的變異信息,從而可以選取能解釋大部分變異信息的幾個靠前的主成分因子。為了降低數(shù)據(jù)的維度,可以取前q個主成分而忽略剩余的p-q個主成分。選擇q的常用方法有如下幾種:
(1)Kaiser準(zhǔn)則:保留解釋變異信息比例大于平均變異信息比例的主成分因子。(2)前幾個主成分因子已經(jīng)可以解釋大部分的變異信息。(3)有時需要考慮主成分因子在實(shí)際應(yīng)用中的解釋性,以實(shí)際為準(zhǔn)。
(4)使用崖底碎石圖繪出特征值與其順序的關(guān)系,選取較為明顯的一個拐點(diǎn)作為界限。
主成分分析的步驟:
假設(shè)X1…Xp為p個隨機(jī)變量,他們的協(xié)方差矩陣為∑,其對角線上的值表示Xk的方差(k=1,…p)。主成分分析的步驟如下;
(1)尋找第一個主成分。
選擇系數(shù)向量a1=(a11…a1p)T,使得:
②線性組合 a11X1+…+a1pXp的方差最大。令Y1=a11X1+…+a1pXp,它被稱為第一主成分。
(2)尋找第i個主成分(i=2…p)。
選擇系數(shù)向量ai=(ai1…aip)T使得:
②對任意的1≤j
③線性組合 ai1X1+…+aipXp的方差最大。令Yi=ai1X1+…+aipXp,它被稱為第i個主成分。
2.1 基本方案
通過屬性選擇技術(shù)對原數(shù)據(jù)集的屬性進(jìn)行選擇,使近似滿足條件獨(dú)立性假設(shè),然后在新的屬性數(shù)據(jù)集上構(gòu)建樸素貝葉斯分類器。主成分分析以方差貢獻(xiàn)為依據(jù),對數(shù)據(jù)集進(jìn)行主成分分析,構(gòu)造新的屬性,新的屬性數(shù)據(jù)集既能代表原始數(shù)據(jù)所能提供的大部分信息,又能消除屬性間的依賴性。利用主成分分析提取獨(dú)立屬性的性質(zhì),達(dá)到改進(jìn)分類效果的目的。
PCA-NBC算法的步驟:
步驟1:對數(shù)據(jù)集進(jìn)行檢驗(yàn)。原數(shù)據(jù)集中不應(yīng)包含類型變量,對類型變量可以進(jìn)行LOGISTIC變換轉(zhuǎn)化為數(shù)量變量。
步驟2:對數(shù)據(jù)集應(yīng)用主成分分析的方法構(gòu)建包含新屬性的數(shù)據(jù)集,新屬性滿足條件獨(dú)立性假設(shè)。
步驟3:基于新屬性數(shù)據(jù)集構(gòu)建樸素貝葉斯分類器。步驟4:對訓(xùn)練集進(jìn)行模型訓(xùn)練,得到參數(shù)列表。
步驟5:利用含參數(shù)的的樸素貝葉斯分類器對未知類別的樣本進(jìn)行分類。
2.2 實(shí)驗(yàn)數(shù)據(jù)
為了對算法進(jìn)行數(shù)據(jù)仿真實(shí)驗(yàn),驗(yàn)證改進(jìn)算法的分類效率,選取了機(jī)器學(xué)習(xí)數(shù)據(jù)庫(http://archive.ics.uci.edu/datasets)的6個數(shù)據(jù)集利用R軟件進(jìn)行實(shí)驗(yàn)。
數(shù)據(jù)集wine記錄了對意大利某地區(qū)出產(chǎn)的178種葡萄酒進(jìn)行化學(xué)分析所得的酒精度、蘋果酸、灰度、灰分堿度等13種指標(biāo),這些葡萄酒分別釀自三種不同品種的葡萄,數(shù)據(jù)集中的V1變量表示各種葡萄酒所使用的葡萄的品種。獲取方式為:http://archive.ics.uci.edu/ml/datasets/ wine。其他各數(shù)據(jù)集的獲取地址如下:
http://archive.ics.uci.edu/datasets/iris
http://archive.ics.uci.edu/datasets/glass
http://archive.ics.uci.edu/datasets/adult
http://archive.ics.uci.edu/datasets/bank
其中,PimaIndiansDiabetes2是一個北美印第安人糖尿病數(shù)據(jù)集,包含了9個變量,768個樣本。因變量即是對糖尿病的判斷類別,為一個二元類別變量,其他因變量均為數(shù)值變量。
2.3 實(shí)驗(yàn)步驟
以PimaIndiansDiabetes2數(shù)據(jù)集即北美印第安人糖尿病數(shù)據(jù)集為例,做仿真實(shí)驗(yàn)。實(shí)驗(yàn)步驟如下:
(1)加載數(shù)據(jù)集,并對缺失值使用袋裝方法進(jìn)行插補(bǔ),得到完整可使用的數(shù)據(jù)集。
(2)對未進(jìn)行主成分分析處理的數(shù)據(jù)集利用樸素貝葉斯分類算法進(jìn)行分類,得到準(zhǔn)確率和混淆矩陣等結(jié)果。
(3)對數(shù)據(jù)集進(jìn)行主成分分析,并構(gòu)建一個新的屬性數(shù)據(jù)集。
(4)對新的屬性數(shù)據(jù)集再應(yīng)用程序,得到改進(jìn)后的樸素貝葉斯分類算法的預(yù)測準(zhǔn)確率和混淆矩陣結(jié)果。
(5)驗(yàn)證新數(shù)據(jù)集的屬性相關(guān)性,從理論上對樸素貝葉斯分類算法的改進(jìn)進(jìn)行解釋。
2.4 實(shí)驗(yàn)結(jié)果分析
(1)對插補(bǔ)后的數(shù)據(jù)集進(jìn)行樸素貝葉斯分類,得到的準(zhǔn)確率和混淆矩陣如圖1所示:
圖1 總體分類精度和Kappa系數(shù)
表1 相關(guān)系數(shù)
混淆矩陣:
Confusion Matrix and Statistics
Reference
Prediction neg pos
neg 414 102
pos 86 166
Accuracy:0.7552
95%CI:(0.7232,0.7852)
No Information Rate:0.651
P-Value[Acc>NIR]:3.033e-10
Kappa:0.4537
Mcnemar's Test P-Value:0.274
可以看出,對原始數(shù)據(jù)集PimaIndiansDiabetes2應(yīng)用樸素貝葉斯分類模型,768個樣本中有580個正確分類,分類正確率為75.52%。
(2)對經(jīng)過主成分分析后的數(shù)據(jù)集進(jìn)行樸素貝葉斯分類,得到的準(zhǔn)確率如圖2所示:
圖2 總體分類精度和Kappa系數(shù)
混淆矩陣:
Confusion Matrix and Statistics
Reference
Prediction neg pos
neg 435 118
pos 65 150
Accuracy:0.7617
95%CI:(0.73,0.7914)
No Information Rate:0.651
P-Value[Acc>NIR]:2.156e-11
Kappa:0.4504
Mcnemar's Test P-Value:0.0001211
可以看出,分類準(zhǔn)確率為76.17%,經(jīng)過主成分分析對屬性數(shù)據(jù)集進(jìn)行處理后,樸素貝葉斯分類器的分類效率得到提高。
(3)從理論上來看,對新屬性的數(shù)據(jù)集進(jìn)行相關(guān)系數(shù)矩陣分析,得到的結(jié)果如表1所示,從中可見新數(shù)據(jù)集的屬性間是滿足相互獨(dú)立條件假設(shè)的,因而有更好的分類效果。
(4)對各個數(shù)據(jù)集的測試得到的預(yù)測精確度的比較(如表2所示)
表2 分類結(jié)果匯總 (單位:%)
從以上結(jié)果來看,對數(shù)據(jù)進(jìn)行基于主成分分析構(gòu)建的新的數(shù)據(jù)集進(jìn)行樸素貝葉斯分類,得到的分類預(yù)測準(zhǔn)確度在總體上有比較明顯的改善。
本文提出基于主成分分析的樸素貝葉斯分類模型,并通過數(shù)據(jù)集的仿真實(shí)驗(yàn)結(jié)果顯示PCA-NBC模型的分類效果優(yōu)于樸素貝葉斯分類模型。其實(shí),關(guān)于貝葉斯分類,在算法與應(yīng)用等方面都還有很多有意義的問題。比如:對于類型變量的處理,以使其能更好地適應(yīng)主成分分析以及如何處理有確實(shí)數(shù)據(jù)的情形等。
[1]Han J,Kambr M.Data Mining:Concepts and Techniques[M].San Framcisco,CA:Morgan Kaufmann Publishers.2001.
[2]Langley P,Sage S.Induction of Selective Bayesian Classifiers:In Pro?ceedings of the Tenth Conference on Uncertainty in Artificial Intelli?gence[C].San Framcisco,CA:Morgan Kaufmann Publishers,1994.
[3]姜卯生.數(shù)據(jù)挖掘中基于貝葉斯技術(shù)的分類問題的研究[D].合肥:合肥工業(yè)大學(xué),2004.
[4]王斌會.多元統(tǒng)計分析及R語言建模[M].廣州:暨南大學(xué)出版社, 2011.
[5]王雙成.貝葉斯網(wǎng)絡(luò)學(xué)習(xí)、推理與應(yīng)用[M].上海:立信會計出版社,2010.
[6]王星等.大數(shù)據(jù)分析:方法與應(yīng)用[M].北京:清華大學(xué)出版社, 2013.
[7]朱曉丹.樸素貝葉斯分類模型的改進(jìn)研究[D].廈門:廈門大學(xué), 2014.
(責(zé)任編輯/易永生)
0212
A
1002-6487(2016)21-0009-03
華中科技大學(xué)教改基金資助項(xiàng)目(2013070;2015068);華中科技大學(xué)自主創(chuàng)新基金資助項(xiàng)目(2013QN171)
李楚進(jìn)(1977—),男,湖北襄陽人,博士,講師,研究方向:隨機(jī)動力系統(tǒng)與數(shù)理統(tǒng)計。