程煒東,王洪亞,郭開彥
(東華大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,上海201620)
分類是一個非常重要的數(shù)據(jù)挖掘問題,簡單來說就是確定對象屬于哪個預(yù)設(shè)目標(biāo)類的過程。分類通過分析訓(xùn)練樣本數(shù)據(jù),產(chǎn)生關(guān)于類別信息的精確描述,然后去預(yù)測類標(biāo)未知的對象所屬的類別[1]。如今,分類技術(shù)是數(shù)據(jù)挖掘中應(yīng)用價值較高的技術(shù)之一,且這項(xiàng)技術(shù)已經(jīng)發(fā)展到相對成熟的地步,在許多行業(yè)中都起著決策支持的作用。
貝葉斯分類器是一種常見的概率分類器,具有堅實(shí)、完善的理論體系,并且在現(xiàn)實(shí)生活中被廣泛應(yīng)用[2]。在很多領(lǐng)域中,貝葉斯分類器的分類效果并不遜色于其它分類算法,例如決策樹、SVM、以及神經(jīng)網(wǎng)絡(luò),某些時候貝葉斯分類器的性能還會超過這些分類算法。貝葉斯分類器的算法并不復(fù)雜,而且當(dāng)數(shù)據(jù)集的規(guī)模較大或很大時,分類的準(zhǔn)確率也有一定的保證。此外,貝葉斯分類器可以用數(shù)學(xué)公式進(jìn)行定量描述。因此,貝葉斯分類器一直都是機(jī)器學(xué)習(xí)領(lǐng)域研究人員致力于探討的熱門內(nèi)容。
貝葉斯分類器可以處理離散的和連續(xù)的數(shù)據(jù)類型。同時,貝葉斯分類器在某種程度上可以看作是一種動態(tài)分類模型,換句話說就是當(dāng)把新數(shù)據(jù)逐漸加入到原始數(shù)據(jù)集中,訓(xùn)練過程可以增量進(jìn)行[3]。貝葉斯分類器的目的就是預(yù)測待檢測數(shù)據(jù)所屬的類別,為了達(dá)到這個目的,貝葉斯分類器會首先計算這些待檢測數(shù)據(jù)屬于每一個類別的概率,然后根據(jù)最大后驗(yàn)假設(shè),把待檢測數(shù)據(jù)分類到具有最大后驗(yàn)概率的類別中。在上述計算后驗(yàn)概率的過程中,數(shù)據(jù)集中的所有特征屬性都會參與決策,而不是只由某幾個特征屬性決定著分類結(jié)果,所以最后得到的結(jié)果是較為準(zhǔn)確的[4]。樸素貝葉斯分類器是一種比較簡單的貝葉斯分類器,且基于一個樸素的假設(shè),即屬性獨(dú)立假設(shè):當(dāng)給定一個分類屬性中的類別,各個特征屬性之間是相互獨(dú)立的。由于屬性獨(dú)立假設(shè),樸素貝葉斯分類器具有計算高效、精確度高等特點(diǎn)。然而,現(xiàn)實(shí)中屬性獨(dú)立假設(shè)在大多數(shù)時候都無法成立,這樣就會對樸素貝葉斯分類器的分類性能造成一定的影響。因此,半樸素貝葉斯分類器以及其它對樸素貝葉斯分類器的改進(jìn)方法就成為了目前科研的熱點(diǎn)問題[5]。下面擬對此展開研究論述如下。
在貝葉斯建模中使用臟數(shù)據(jù)會導(dǎo)致很多問題,比如使統(tǒng)計得到的概率不準(zhǔn)確。一般來說,不同比例的錯誤對貝葉斯分類器的分類準(zhǔn)確度有不同的影響。下面通過一個例子來具體說明臟數(shù)據(jù)對貝葉斯分類器分類準(zhǔn)確度的影響。
表1是通過蘋果的重量(Weight)、顏色(Color)、以及形狀(Shape),對蘋果質(zhì)量好壞(Good Apple)進(jìn)行分類的一個二分類例子,其中括號內(nèi)的值代表數(shù)據(jù)清洗后的正確值。在特征屬性中,Weight是連續(xù)屬性,Color和Shape是離散屬性。分類屬性Good Apple是離散屬性。
表1 臟數(shù)據(jù)的清洗結(jié)果Tab.1 The cleaning result for dirty data
本文利用表1中的臟數(shù)據(jù)進(jìn)行一次貝葉斯建模,同時再利用表1中括號內(nèi)數(shù)據(jù)清洗后的正確值進(jìn)行一次貝葉斯建模。2次貝葉斯建模均使用樸素貝葉斯分類器,并假設(shè)測試數(shù)據(jù)為{126,red,circle}。當(dāng)事先不進(jìn)行數(shù)據(jù)清洗,直接使用臟數(shù)據(jù)進(jìn)行貝葉斯建模時,可以計算出后驗(yàn)概率P(No|126,red,circle)=0.004 0,P(Yes|126,red,circle)=0.001 9, 測試數(shù)據(jù){126,red,circle}分類為 No。 當(dāng)事先進(jìn)行數(shù)據(jù)清洗,并使用數(shù)據(jù)清洗后的正確值進(jìn)行貝葉斯建模時,可以計算出后驗(yàn)概率P(No|126,red,circle)=0.001 2,P(Yes|126,red,circle)=0.004 2, 測試數(shù)據(jù){126,red,circle}分類為 Yes。 通過以上計算可以看出,臟數(shù)據(jù)會導(dǎo)致每個類別的后驗(yàn)概率發(fā)生變化,從而影響到貝葉斯分類器的分類結(jié)果,尤其是臟數(shù)據(jù)所占的比例較大時,很有可能使分類結(jié)果出錯。
為了處理貝葉斯建模中的臟數(shù)據(jù),通常會有2種解決方法,這里對其表述如下。
(1)在貝葉斯建模前對整個數(shù)據(jù)集進(jìn)行清洗,但這種方法的代價很高,且對中型或大型的數(shù)據(jù)集可行性較低。
(2)使用點(diǎn)估計,即從包含臟數(shù)據(jù)的數(shù)據(jù)集中采樣,再對樣本進(jìn)行清洗,而后用清洗過的樣本來訓(xùn)練貝葉斯模型。這種點(diǎn)估計方法雖然能有效減少清洗的代價,但是對訓(xùn)練出來貝葉斯模型的可信程度卻未能做出基礎(chǔ)保證。綜合前述臟數(shù)據(jù)對貝葉斯建模的影響,本文提出了區(qū)間貝葉斯建模方法,這種方法只要求用戶清洗小部分?jǐn)?shù)據(jù),然后利用清洗過的樣本來訓(xùn)練貝葉斯模型,并且可以保證真實(shí)的后驗(yàn)概率會以一定的概率落在估計的后驗(yàn)概率區(qū)間內(nèi)。
本文先研究沒有數(shù)據(jù)錯誤的情況,并得出一些關(guān)于抽樣數(shù)據(jù)區(qū)間估計的結(jié)論。令有N個元組組成的數(shù)據(jù)集為D,從D中均勻采樣(每個元組被采樣到的概率是相同的),獲得一個樣本S,假設(shè)樣本S中有K個元組。下面通過區(qū)間估計的相關(guān)理論和中心極限定理,給出連續(xù)屬性均值mean(D)的區(qū)間估計,以及離散屬性某一特定屬性值所占比例m的區(qū)間估計。
首先,本文考慮D中的連續(xù)屬性。令D中連續(xù)屬性的均值為mean(D),方差為var(D);令S中連續(xù)屬性的均值為mean(S),方差為var(S)。 根據(jù)中心極限定理,樣本S中連續(xù)屬性的均值近似服從如下正態(tài)分布,即因此,通過區(qū)間估計的相關(guān)理論,可以定義mean(D)的置信區(qū)間,這個置信區(qū)間是關(guān)于參數(shù)α的(95%置信度表示對此可表示為:
其次,本文考慮D中的離散屬性。令D中離散屬性某一特定屬性值所占比例為m;令S中離散屬性某一特定屬性值所占比例為m'。由中心極限定理可知,樣本S中離散屬性某一特定屬性值所占比例m'近似服從如下正態(tài)分布,即:N(m,因此,通過區(qū)間估計的相關(guān)理論,可以定義m的置信區(qū)間,這個置信區(qū)間是關(guān)于參數(shù)α的(95%置信度表示對此可表示為:
總之,以上2個置信區(qū)間(連續(xù)屬性均值的區(qū)間和離散屬性某一特定屬性值所占比例的區(qū)間)可解析為2層含義,將其探討論述如下。
(1)如果重新計算另一個隨機(jī)樣本連續(xù)屬性的均值或離散屬性某一特定屬性值所占比例,其結(jié)果將以一定的概率落在各自的置信區(qū)間內(nèi)。
(2)真實(shí)值mean(D)和m將以一定的概率落在各自的置信區(qū)間內(nèi)。另外,對mean(D)和m的估計可以認(rèn)為是無偏的,因?yàn)楣烙嫷钠谕档扔谡鎸?shí)的值。
本文假設(shè)Dclean是數(shù)據(jù)集D相對應(yīng)的干凈數(shù)據(jù)集,并且想要估計Dclean中屬性的分布情況。然而,干凈的數(shù)據(jù)集Dclean是無法預(yù)先得知的,所以直接從Dclean中采樣是不現(xiàn)實(shí)的。于是,本文先從含有臟數(shù)據(jù)的數(shù)據(jù)集D中采樣,接著再清洗采集到的樣本。鑒于數(shù)據(jù)錯誤的類型較多,本文研究中僅涉及了2類數(shù)據(jù)錯誤:值錯誤和重復(fù)錯誤。文獻(xiàn)[6]中討論了對這2種錯誤的處理方法。具體研究詳見如下。
(1)值錯誤。是由于數(shù)據(jù)集中不正確的屬性值引起的,這類錯誤不會影響數(shù)據(jù)集大小,即|D|=|Dclean|。 而且,糾正一個值錯誤只會影響一個元組。因此,如果糾正一個元組中的屬性值,仍然可以保留均勻采樣的特性。換句話說,某一個元組被采樣到的概率不會因?yàn)閷χ靛e誤的糾正而發(fā)生改變。
(2)重復(fù)錯誤。在處理上比起值錯誤的處理就要復(fù)雜許多。由于重復(fù)錯誤會影響多個元組,而且清洗了重復(fù)錯誤后的Dclean大小和D的大小不同,因此重復(fù)錯誤會影響均勻采樣的特性。另外,重復(fù)的數(shù)據(jù)更有可能被采樣到,從而影響對樣本中屬性分布情況的估計。重復(fù)錯誤的處理要分2種情況,即對連續(xù)屬性重復(fù)錯誤的處理和對離散屬性重復(fù)錯誤的處理。假設(shè)D中只含有重復(fù)錯誤,令S是D中均勻采樣得到的大小為K的樣本,對于每一個元組ti∈S,mi代表ti在D中出現(xiàn)的次數(shù)。對于連續(xù)屬性,其結(jié)果受到重復(fù)率d的影響,重復(fù)率為:
此時,ti的正確值就等于而對于離散屬性,因?yàn)槠浣Y(jié)果不受重復(fù)率d的影響,所以計算方式相對簡單,ti的正確值就等于
真實(shí)的后驗(yàn)概率將以大于等于0.95n的概率落在估計的后驗(yàn)概率區(qū)間內(nèi),這里的n表示有多少個概率區(qū)間相乘(在計算連續(xù)屬性和離散屬性的置信區(qū)間時,置信度都取95%)。對其證明過程可闡釋為:由貝葉斯定理可知,在計算后驗(yàn)概率時,分母對于所有類別都是相同的,所以只需要計算類條件概率和先驗(yàn)概率的乘積。為了表述方便,令P(B)表示后驗(yàn)概率,P(R1),P(R2),…,P(Rn) 表示類條件概率和先驗(yàn)概率。 現(xiàn)在已知P(R1),P(R2),…,P(Rn)都是概率區(qū)間,且真實(shí)的類條件概率或先驗(yàn)概率都有95%概率落在其各自的區(qū)間內(nèi)。根據(jù)貝葉斯定理,則有P(B)=P(R1)P(R2)…P(Rn)。 由于不在概率區(qū)間P(R1),P(R2),…,P(Rn) 內(nèi)的概率相乘之后也有可能落在最后的后驗(yàn)概率區(qū)間P(B)內(nèi),研究推得最差的情況就是真實(shí)的后驗(yàn)概率將以0.95n的概率落在估計的后驗(yàn)概率區(qū)間內(nèi)。
本文使用了來自UCI機(jī)器學(xué)習(xí)庫中的Adult數(shù)據(jù)集,這個數(shù)據(jù)集中包含了人口普查的信息。Adult數(shù)據(jù)集大約有48 000行,包含14列特征屬性,以及1列分類屬性。在Adult數(shù)據(jù)集的14列特征屬性中,有6列特征屬性是連續(xù)的,還有8列特征屬性是離散的。另外,對于分類屬性,在本次研究中就是把分類屬性當(dāng)成離散屬性來處理。
本文還使用了OPENDATA KC上的Business License Holders(簡稱 Business)數(shù)據(jù)集。 Business數(shù)據(jù)集大約有30 000行,包含4列特征屬性,以及1列分類屬性。在Business數(shù)據(jù)集中,所有的列都是離散型的。實(shí)驗(yàn)中,IBSM(Interval-based Bayesian Statistical Modeling)對應(yīng)區(qū)間貝葉斯建模方法,Dirty Training Set表示臟的訓(xùn)練集,也就是直接使用臟數(shù)據(jù)來訓(xùn)練貝葉斯模型。本文擬從2個方面來評價區(qū)間貝葉斯建模方法的效果。研究設(shè)計過程可剖析詳述如下。
首先,本文固定采樣比例(10%),然后比較區(qū)間貝葉斯建模方法的效果和直接使用臟數(shù)據(jù)來訓(xùn)練貝葉斯模型的效果。對于Business數(shù)據(jù)集,區(qū)間貝葉斯建模方法在不同錯誤比例下的運(yùn)行效果如圖1所示。從圖1中可以看出,隨著錯誤比例的增加,直接使用臟數(shù)據(jù)進(jìn)行貝葉斯統(tǒng)計建模的精度和召回率都有所下降。因此,使用臟數(shù)據(jù)進(jìn)行貝葉斯建模會影響最終的分類效果。然而,使用本文提出的區(qū)間貝葉斯建模方法,可以發(fā)現(xiàn)對精度和召回率都有很明顯的提升。同時,區(qū)間貝葉斯建模方法會使得精度和召回率趨于一個穩(wěn)定的值,這個穩(wěn)定的值不會隨著錯誤率的增加而改變。總之,區(qū)間貝葉斯建模方法在不同錯誤比例下都是健壯的,而且可以得到較為準(zhǔn)確的結(jié)果,即精度和召回率比使用臟數(shù)據(jù)的情況有很大的提升。
圖1 對于Business數(shù)據(jù)集,區(qū)間貝葉斯建模方法在不同錯誤比例下的效果Fig.1 The effect of IBSM with different error ratio for Business dataset
其次,本文固定錯誤比例(30%錯誤比例),然后將區(qū)間貝葉斯建模方法、AllDirty、以及AllClean在不同采樣比例下進(jìn)行研究對比。
對于Adult數(shù)據(jù)集,區(qū)間貝葉斯建模方法在不同采樣比例下的運(yùn)行效果如圖2所示。從圖2中可以看出,隨著采樣比例的增加,區(qū)間貝葉斯建模方法、AllDirty、以及AllClean的變化趨勢都非常小,導(dǎo)致這種現(xiàn)象的原因很有可能是當(dāng)樣本的數(shù)量達(dá)到一定規(guī)模時,統(tǒng)計的概率就會趨于一個穩(wěn)定的值。另外,區(qū)間貝葉斯建模方法在精度和召回率上和AllClean的效果非常接近,而且比AllDirty的效果要好很多。本文通過對Adult數(shù)據(jù)集的多次實(shí)驗(yàn)發(fā)現(xiàn),在Adult數(shù)據(jù)集中只需要清洗大約600個元組(600個元組占整個數(shù)據(jù)集總元組數(shù)的1.3%),就能在精度和召回率上比AllDirty的效果好很多??傊?,區(qū)間貝葉斯建模方法只需要清洗一小部分的樣本,就能在精度和召回率上獲得很好的效果。因此,無論數(shù)據(jù)集中臟數(shù)據(jù)的比例是很大、還是很小,區(qū)間貝葉斯建模方法都具有很強(qiáng)的可行性。
本文研究了2種可能影響貝葉斯統(tǒng)計建模準(zhǔn)確度的數(shù)據(jù)錯誤,即值錯誤和重復(fù)錯誤,并提出了區(qū)間貝葉斯建模方法來處理這2種數(shù)據(jù)錯誤。另外,在數(shù)據(jù)清洗后,本文給出了連續(xù)屬性均值和離散屬性某一特定屬性值所占比例的置信區(qū)間,通過對置信區(qū)間的處理,將置信區(qū)間轉(zhuǎn)化為類條件概率區(qū)間或先驗(yàn)概率區(qū)間。