【摘要】對(duì)于貝葉斯算法,應(yīng)該主動(dòng)去了解,包括傳統(tǒng)算法和擴(kuò)展算法。機(jī)器學(xué)習(xí)算法包括主動(dòng)學(xué)習(xí)和被動(dòng)學(xué)習(xí)兩種,樸素貝葉斯算法在樣本學(xué)習(xí)階段,一般采取被動(dòng)學(xué)習(xí),被動(dòng)接受郵件集,這使得過(guò)濾器的過(guò)濾精度極大的依賴樣本的順序性。主動(dòng)學(xué)習(xí)貝葉斯算法采取某種學(xué)習(xí)策略,主動(dòng)從訓(xùn)練集中挑選最合適的樣本加入學(xué)習(xí)模型,使模型參數(shù)更早達(dá)到最佳狀態(tài),郵件過(guò)濾精度有所提高。
【關(guān)鍵詞】貝葉斯算法 被動(dòng)學(xué)習(xí) 主動(dòng)學(xué)習(xí) 郵件過(guò)濾精度
1 主動(dòng)學(xué)習(xí)貝葉斯的原理
傳統(tǒng)的算法學(xué)習(xí)其實(shí)都是一些被動(dòng)學(xué)習(xí),用來(lái)學(xué)習(xí)的樣本材料都是經(jīng)過(guò)處理的,它們的選擇往往是被動(dòng)的,主要表現(xiàn)在所來(lái)學(xué)習(xí)的樣本都會(huì)被做上一些標(biāo)注的,而且并不是所有的樣本都是真正獨(dú)立的,有一些可能并不獨(dú)立,只是被假定了獨(dú)立,雖然這樣也能達(dá)到學(xué)習(xí)的目的,但效果卻不是很好。而相對(duì)于被動(dòng)學(xué)習(xí)來(lái)說(shuō),主動(dòng)學(xué)習(xí)是一種真正的學(xué)習(xí),它有以下幾個(gè)方面的特點(diǎn):首先將使用很少量的帶有標(biāo)注的學(xué)習(xí)樣本來(lái)訓(xùn)練如何使用過(guò)濾器,在這個(gè)過(guò)程中也可以得到一些關(guān)于選擇怎樣的樣本對(duì)實(shí)驗(yàn)結(jié)果更好的策略;然后就可以依照之前所得到的選擇策略從候選的樣本集中選擇出令人滿意的目標(biāo)樣本;最后將這些認(rèn)為最好的樣本放入過(guò)濾器中,如此往復(fù)的測(cè)試,這樣符合標(biāo)準(zhǔn)的樣本就被選出來(lái)了。當(dāng)然最初對(duì)于樣本選擇的多少將決定著學(xué)習(xí)的速度,同時(shí)好樣本當(dāng)然也意味著后來(lái)學(xué)習(xí)的質(zhì)量。
2 基于最大最小熵的主動(dòng)學(xué)習(xí)
熵有一個(gè)很明顯的性質(zhì)就是,要想獲得最大值,就必須含有均勻分布的隨機(jī)變量。取值的均勻分布是參數(shù)無(wú)信息分布的一個(gè)條件,而熵取得最大值也是在這種情之下,也就是先驗(yàn)分布。無(wú)信息意味著不確定性,意味著信息的空白,那是一種一無(wú)所知的感覺(jué),是一種最不確定性情況的出現(xiàn)。而熵恰好就是這樣一種來(lái)表示不確定的方法。在這里,用來(lái)衡量目前過(guò)濾器實(shí)例樣本分類(lèi)確定性的標(biāo)準(zhǔn),就是關(guān)于類(lèi)條件后驗(yàn)熵,公式如1-1所示。
公式(1-1)
由于在選擇學(xué)習(xí)樣本時(shí),總是選擇那些類(lèi)條件概率相近的樣本,達(dá)到了均勻分布的目的,但是這樣的選擇方式也暴露了很明顯的兩個(gè)缺陷,它們對(duì)分類(lèi)效果是有影響的。這兩個(gè)缺陷分別是單一的處理手段對(duì)于眾多問(wèn)題的無(wú)力性和分類(lèi)誤差的累積進(jìn)而進(jìn)行阻止的無(wú)效性。不確定樣本的選擇造成了一定的誤差,而累積的誤差將導(dǎo)致更大的誤差,導(dǎo)致了分類(lèi)的無(wú)效性。這些是不確定性抽樣學(xué)習(xí)中產(chǎn)生的不可克服的問(wèn)題,而要解決誤差問(wèn)題是很難得,但是可以盡量減少誤差的產(chǎn)生,提高分類(lèi)正確性,最大最小熵的處理辦法就是這樣的方法。那就是分別選出類(lèi)條件熵最大和最小的候選樣本并將這兩個(gè)樣本加到數(shù)據(jù)池選出的樣本集中,然后加入過(guò)濾器,找出一些特別信息,同時(shí)可以確定的是類(lèi)條件熵最小是一個(gè)較為確定的樣本集,使分類(lèi)更加準(zhǔn)確同時(shí)阻止誤差蔓延擴(kuò)大。
3實(shí)現(xiàn)流程
最大最小熵主動(dòng)學(xué)習(xí)的實(shí)現(xiàn)流程如下:
(1)從訓(xùn)練集中隨機(jī)選擇一組郵件作為候選樣本集。
(2)對(duì)候選樣本集中的每一個(gè)樣本,利用公式1-1來(lái)計(jì)算樣本熵值的大小。
(3)取熵值最大和最小的兩個(gè)樣本加入到分類(lèi)模型。
(4)從候選集合中刪去這兩個(gè)樣本。
4實(shí)驗(yàn)結(jié)果及分析
對(duì)主動(dòng)學(xué)習(xí)過(guò)濾器本文進(jìn)行在線和離線兩個(gè)模式下的過(guò)濾實(shí)驗(yàn)。首先,在trec07p郵件集上進(jìn)行在線及時(shí)反饋過(guò)濾,其過(guò)濾結(jié)果如表1-1所示。
在sewm 2008公開(kāi)數(shù)據(jù)集上進(jìn)行離線過(guò)濾,且取sewm 2008公開(kāi)數(shù)據(jù)集前30000封進(jìn)行訓(xùn)練,后40000封進(jìn)行測(cè)試,其實(shí)驗(yàn)結(jié)果如表1-2所示:
從實(shí)驗(yàn)結(jié)果可以看到,在在線立即反饋模式下,主動(dòng)學(xué)習(xí)過(guò)濾器在(1-ROCA)%參數(shù),都取得了更小的值。但是在離線模式下,過(guò)濾器是先進(jìn)行過(guò)濾器訓(xùn)練,再進(jìn)行測(cè)試且這個(gè)過(guò)程沒(méi)有反饋學(xué)習(xí),所以主動(dòng)學(xué)習(xí)算法并不能起作用。而且另一方面,加入主動(dòng)學(xué)習(xí)的過(guò)濾器在算法中加入了候選集計(jì)算熵的過(guò)程,使得郵件過(guò)濾效率比未加入主動(dòng)學(xué)習(xí)學(xué)習(xí)的算法要低。加入主動(dòng)學(xué)習(xí)的過(guò)濾器相對(duì)于未加入主動(dòng)學(xué)習(xí)的過(guò)濾器來(lái)說(shuō),ROCA參數(shù)雖然有所降低,但是過(guò)濾速度太慢,每封郵件的處理時(shí)間比未加入主動(dòng)學(xué)習(xí)過(guò)濾器10倍還要大。
【參考文獻(xiàn)】
[1]王輝.基于知識(shí)積累型的樸素貝葉斯垃圾郵件過(guò)濾算法研究 [D].湖南大學(xué),2013
[2]劉建封,呂佳.融合主動(dòng)學(xué)習(xí)的改進(jìn)貝葉斯半監(jiān)督分類(lèi)算法研究[J]. 計(jì)算機(jī)測(cè)量與控制,2014(6)
(課題項(xiàng)目:吉首大學(xué)張家界學(xué)院重點(diǎn)科研課題項(xiàng)目資助。)
作者簡(jiǎn)介:朱強(qiáng),1983.3,男,湖南韶山人,本科學(xué)歷碩士學(xué)位,講師,研究方向軟件工程智能信息處理