專利名稱:一種基于分類器動態(tài)更新的垃圾郵件檢測方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及電子郵件處理技術領域,具體涉及一種基于分類器動態(tài)更新的垃圾郵件檢測方法及系統(tǒng)。
背景技術:
隨著互聯(lián)網(wǎng)的日益普及,電子郵件對于每一個人來說就已經(jīng)成為一種日常通訊的重要媒介和最為便捷的通信手段之一,基本上代替了傳統(tǒng)的紙質信件,人們越來越依賴于它和離不開它。但是,電子垃圾郵件的出現(xiàn)卻引發(fā)了日益嚴重的問題,嚴重威脅著人們的正常電子郵件通信。垃圾郵件的膨脹不僅浪費掉大量的存儲空間和通信帶寬,而且還消耗了大量的用戶時間去處理和刪除它們。因此,研究對這種垃圾郵件的檢測過濾方法就顯得十分必要,具有重要意義。
垃圾郵件分類檢測在本質是一個模式識別問題。垃圾郵件的分類大體上可以分為郵件特征向量提取和分類器分類兩個步驟。分類器具體是由代表郵件分類結果的分類向量組成的,郵件的特征向量輸入后,計算分類器中所有分類向量與郵件特征向量的相似度,基于不同的分類準則,具有不同的相似度計算方法,然后將相似度最高的分類向量所代表的分類結果,作為該郵件的分類。如圖1所示顯示了垃圾郵件檢測的系統(tǒng)框架。對于一封待分類郵件,在經(jīng)過預處理后通過對郵件進行特征向量提取,將郵件表示為分類器可以理解的方式,隨后特征向量提取的結果被作為分類器的輸入。針對輸入分類器會利用預先積累的經(jīng)驗知識(分類向量)對郵件進行一個兩類的判定,即是正常郵件或者是垃圾郵件并將分類結果輸出給用戶。用戶根據(jù)自身的判斷對分類器的分類結果做出反饋。分類器根據(jù)反饋的結果做出自身的動態(tài)調整?,F(xiàn)有技術中的動態(tài)調整過程一般是利用新接收的郵件作為新的訓練集生成新的分類器,以反應接收數(shù)據(jù)的特性變化,該過程中刪除了以前構建的分類器中所有的分類向量。
支持向量機作為一種分類工具已經(jīng)被廣泛的應用于各個領域。支持向量機將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數(shù)據(jù)的超平面的兩邊建有兩個互相平行的超平面。建立方向合適的分隔超平面使兩個與之平行的超平面間的距離最大化。其假定為,平行超平面間的距離或差距越大,分類器的總誤差越小。
當前的歷史信息通過支持向量和與它們關聯(lián)的權重來表示。一般來說,支持向量的數(shù)量要遠小于訓練樣本的總數(shù)。因此,支持向量提供了對數(shù)據(jù)的一種簡潔表示[C.Domeniconi and D.Gunopulos,“Incremental support vector machine construction,”in Proc.IEEEInternational Conference on Data Mining(ICDM’01),San Jose,CA,USA,Dec.2001,pp.589-592]。因此,在每一次增量更新中,描述類邊界信息的支持向量以及新到來的數(shù)據(jù)被作為新的數(shù)據(jù)集對支持向量機進行更新。
對支持向量機進行增量更新的技術包括誤差驅動方法ED(Error-driven technique),固定分割方法FP(Fixed-partitiontechnique),超間隔方法EM(Exceeding-margin technique),超間隔+誤差方法EM+E(Exceeding-margin+error technique)等。文獻[N.A.Syed,H.Liu,and K.K.Sung,“Incremental learning with supportvector machines,”in Proc.International Joint Conference on ArtificialIntelligence(IJCAI’99),Stockholm,Sweden,1999]在Large-noisy-crossed-norm數(shù)據(jù)集和UCI機器學習庫中的Pima數(shù)據(jù)集上的實驗結果表明,超間隔方法EM更新技術在使用較少的支持向量的情況下取得了和上述其他三種方法類似的性能。
在EM更新技術中,給定t時刻的支持向量機分類器模型SVMt,算法檢查郵件特征向量是否位于SVMt定義的分類間隔內。如果,則將該郵件保留,否則將其丟棄。當保留的位于分類間隔內的郵件數(shù)量達到給定的數(shù)量ne(ne為正整數(shù))時,觸發(fā)了SVMt的更新。這時使用SVMt的支持向量連同保留的ne個郵件作為訓練數(shù)據(jù)生成t+1時刻新的分類器模型SVMt+1,該增量更新過程中,同樣也刪除了以前構建的分類器SVMt中所有的分類向量。
上述分析可以得出,現(xiàn)有技術中垃圾郵件的分類器更新方法中,采用新接收的數(shù)據(jù)對分類器進行動態(tài)更新,能夠反映不斷接收的新數(shù)據(jù)流的變化,反映新數(shù)據(jù)流的特點,但是由于該更新過程刪除了所有的歷史分類向量,不能保存一些具有很好分類效果的分類向量,這樣所得分類的準確性往往會受到新數(shù)據(jù)流的局限性的影響。
發(fā)明內容
本發(fā)明的目的是提供的基于分類器動態(tài)更新的垃圾郵件檢測方法及系統(tǒng),將分類效果好的分類向量保留一段時間,在達到生命周期后再刪除掉,保證了分類的準確性不會受到新數(shù)據(jù)流的局限性的影響。
為實現(xiàn)上述目的,本發(fā)明采用如下技術方案 一種基于分類器動態(tài)更新的垃圾郵件檢測方法,包括步驟s101,構建由分類向量構成的分類器;s102,獲取待檢測郵件的特征向量與每個分類向量的相似度,由相似度最高的分類向量作出對所述待檢測郵件的分類;s103,獲取用戶反饋的所述待檢測郵件的分類,統(tǒng)計每個分類向量作出正確分類的次數(shù);s104,重復步驟s102~s103,在步驟s102中,還由正確分類次數(shù)超過設定值的分類向量作出對所述待檢測郵件的分類;s105,達到設定條件時更新所述分類器,正確分類次數(shù)超過設定值的分類向量被保留;s106,重復步驟s102~s105,在步驟s102中,還由被保留的分類向量作出所述對待檢測郵件的分類。
其中,在步驟s102中,所占比例大的分類為所述待檢測郵件的分類,正確分類次數(shù)超過設定值的分類向量在作出設定次數(shù)的分類后被刪除。
其中,獲取用戶反饋的所述待檢測郵件的分類后還包括步驟提高作出正確分類的分類向量與所述待檢測郵件的相似度;降低作出錯誤分類的分類向量與所述待檢測郵件的相似度。
其中,提高作出正確分類的分類向量與所述待檢測郵件的相似度的方法為通過改變作出正確分類的分類向量中的若干個元素,使該若干個元素與待檢測郵件中的對應元素相同;降低作出錯誤分類的分類向量與所述待檢測郵件的相似度與所述待檢測郵件的相似度的方法為通過改變作出正確分類的分類向量中的若干個元素,使該若干個元素與待檢測郵件中的對應元素不同。
其中,在步驟s101中,利用支持向量機構建分類器,所述分類向量為代表郵件分類結果的支持向量,所述分類結果包括正常郵件和垃圾郵件。
其中,達到設定條件時更新所述分類器的方法包括步驟判斷所述待檢測郵件的特征向量是否位于分類器的分類間隔內;若在所述分類間隔內,將所述待檢測郵件暫時存儲;當存儲的待檢測郵件數(shù)目達到設定數(shù)目,將存儲的待檢測郵件的特征向量與分類器的支持向量作為訓練樣本集,對分類器進行更新;刪除暫時存儲的所述待檢測郵件。
其中,在步驟s102,獲取相似度的方法為采用漢明距離分類準則,依據(jù)待檢測郵件的特征向量與所述分類向量之間的漢明距離,由所述漢明距離確定所述相似度,所述漢明距離與所述相似度成反比。
其中,在步驟s102,獲取相似度的方法為采用夾角分類準則,依據(jù)待檢測郵件的特征向量與分類器的分類向量間的夾角,由所述夾角確定所述相似度,所述漢明距離與所述夾角的余弦成正比。
其中,在步驟s102,獲取相似度的方法為采用支持向量分類準則,依據(jù)待檢測郵件的特征向量,判斷所述待檢測郵件與所述分類向量確定的超平面的距離,由所述距離確定所述相似度,所述距離與所述相似度成正比。
其中,在步驟s102,采用不同的分類準則獲取相似度,包括采用漢明距離分類準則獲取第一相似度;采用夾角分類準則獲取第二相似度;采用支持向量分類準則獲取第三相似度;將由漢明距離、夾角和支持向量分類準則所得出的相似度最高的分類向量所給出的三次分類,每次的分類賦予不同的加權值,根據(jù)加權后的分類結果得到待檢測郵件的分類。
其中,在步驟s101,構建的分類器為w個,w為設定值,每個分類器由分類向量組成;在時刻t,w個分類器分別表示為SVM1t,SVM2t,...SVMwt;t+1時刻新的一批待檢測郵件到來時,分類器SVMwt被丟棄,同時,剩余的分類器SVM1t,...SVMw-1t依次成為SVM2t+1,...SVMwt+1,并使用最新的一批待檢測郵件新構建SVM1t+1。
本發(fā)明還提供了一種基于分類器動態(tài)更新的垃圾郵件檢測系統(tǒng),包括分類器構建單元,用于構建由分類向量構成的分類器;分類向量抉擇單元,用于獲取待檢測郵件的特征向量與每個分類向量的相似度,由相似度最高的分類向量作出對待檢測郵件的分類;次數(shù)統(tǒng)計單元,用于獲取用戶反饋的所述待檢測郵件的分類,統(tǒng)計每個分類向量作出正確分類的次數(shù);分類向量增加單元,用于將正確分類次數(shù)超過設定值的分類向量增加,參與以后對所接收待測郵件的分類;分類器更新單元,用于在達到設定條件時更新所述分類器,將正確分類次數(shù)超過設定值的分類向量保留;分類抉擇單元,用于由作出分類的分類向量給出分類結果,并以此確定待檢測郵件的分類。
利用本發(fā)明提供的垃圾郵件動態(tài)檢測方法,具有以下優(yōu)點 (1)保留分類器中分類效果好的分類向量,可以保證了分類的準確性不會受到新數(shù)據(jù)流的局限性的影響; (2)設定了所保留的分類器中分類向量的生命周期,在達到生命周期后被淘汰,保證分類的準確性不會受到陳舊知識的影響; (3)分類器采用不同的分類準則對待檢測郵件進行分類,分類方式靈活; (4)不同的分類向量進行分類投票時,被賦予不同的權重,可以根據(jù)郵件的特性動態(tài)調整,進一步使分類結果準確。
圖1為現(xiàn)有技術中垃圾郵件動態(tài)檢測系統(tǒng)框圖; 圖2為本發(fā)明基于分類器動態(tài)更新的垃圾郵件檢測方法流程圖; 圖3為本發(fā)明實施例在PUL數(shù)據(jù)集上利用八種不同的分類方法得到的正確率,精確率,召回率曲線圖; 圖4為本發(fā)明實施例在PUL數(shù)據(jù)集上利用八種不同的分類方法得到的丟失曲線圖; 圖5為本發(fā)明實施例在PUL數(shù)據(jù)集上利用八種不同的分類方法得到的測試速度曲線圖; 圖6為本發(fā)明實施例在Ling數(shù)據(jù)集上利用八種不同的分類方法得到的正確率,精確率,召回率曲線圖; 圖7為本發(fā)明實施例在Ling數(shù)據(jù)集上利用八種不同的分類方法得到的正確率,精確率,召回率曲線圖; 圖8為本發(fā)明實施例在Ling數(shù)據(jù)集上利用八種不同的分類方法得到的正確率,精確率,召回率曲線圖; 圖9為本發(fā)明實施例在PUL數(shù)據(jù)集上測試集合與記憶細胞集合的變化曲線圖; 圖10為本發(fā)明實施例在PUL數(shù)據(jù)集上支持向量的變化曲線圖。
具體實施例方式 本發(fā)明提出的垃圾郵件動態(tài)檢測方法,結合附圖和實施例詳細說明如下。
實施例1 本發(fā)明提出的垃圾郵件動態(tài)檢測方法是基于免疫系統(tǒng)的檢測器和記憶細胞原理的,所提出的垃圾郵件動態(tài)檢測系統(tǒng)與免疫系統(tǒng)之間在模式識別、動態(tài)變化和噪聲容錯方面具有相似性。
支持向量機是一個具有統(tǒng)計學習理論基礎和出色泛化性能的分類器,它已經(jīng)被成功應用到了眾多領域中。本實施例對現(xiàn)有技術中的增量支持向量機技術進行改進,基于免疫系統(tǒng)中的檢測器和記憶細胞原理來進行分類器的更新。
現(xiàn)有技術中增量支持向量機技術對分類器的更新過程,首先利用分類為正常郵件與垃圾郵件的訓練樣本構建初始分類器,該分類器包括若干個代表郵件分類的分類向量,由于采用支持向量機構建分類器,因此分類向量為支持向量,每個支持向量有自身的標號,代表其是正常郵件的支持向量或垃圾郵件的支持向量;接收待檢測郵件,獲取待檢測郵件的特征向量,利用分類準則獲取待檢測郵件的特征向量與分類器中每個支持向量的相似度;由具有最高相似度最高的支持向量給出分類結果,該分類結果為該支持向量對應的標號。
上述過程中,給定t時刻的支持向量機分類器表示為SVMt,每接收一封待檢測郵件后,檢查待檢測郵件的特征向量是否位于SVMt定義的分類間隔內。如在,則將待檢測郵件暫時存儲,否則將其丟棄。當保留的位于分類間隔內的待檢測郵件達到給定的數(shù)量ne(ne為正整數(shù))時,觸發(fā)了SVMt的更新。這時使用SVMt的支持向量連同保留的ne個待檢測郵件作為訓練數(shù)據(jù)生成t+1時刻新的分類器SVMt+1。然后利用新分類器進行分類,隨著郵件的不斷接收,達到設定條件后對分類器不斷的更新。
本實施例中,初始構建的分類器中的所有支持向量構成檢測器集合,通過獲取用戶反饋的郵件分類結果,可以統(tǒng)計檢測器集合中參與分類的支持向量作出分類正確的次數(shù),當一個檢測器集合中支持向量的正確分類的郵件數(shù)目超過了預先設定的閾值nm(nm為正整數(shù))時,該檢測器便被提升為記憶細胞并添加到記憶細胞集合中,同時將它從原來的檢測器集合中刪除;記憶細胞集合中的支持向量參與以后接收的待檢測郵件的分類,且不參與上述分類器的更新,即上述分類器SVMt的更新過程中,記憶細胞集合中的支持向量被保留,而檢測器集合中的支持向量會隨著分類器的更新而被刪除。新生成的分類器中的支持向量作為新的支持向量,重新被統(tǒng)計作出正確分類的次數(shù),隨著郵件的到來,會不斷有新的支持向量被保留添加到記憶細胞集合中,記憶細胞集合中支持向量參與郵件的分類,且不會受分類器更新的影響。
本實施例中,為每一個記憶細胞集合中的支持向量設定了生命周期lifespan(lifespan為正整數(shù)),該生命周期表示該支持向量(本實施例也稱為記憶細胞)在檢測到達郵件的數(shù)量超過lifespan時就被自動刪除掉。
本實施例中,由于參與分類的支持向量為分類器中與待檢測郵件具有最高相似度的支持向量和記憶細胞集合中的支持向量,因此可以將每個參與分類的支持向量給出分類結果,看作是由一個委員會中成員的投票,取所占比例大的分類結果為待檢測郵件的分類。值得注意的是當兩方的票數(shù)相等時,我們將郵件歸類為正常郵件。采取這種策略的原因是錯誤分類一封正常郵件所造成的危害要遠大于錯誤分類一封垃圾郵件所造成的損失。
本實施例還基于免疫系統(tǒng)的變異原理,對上述委員會中的成員(參與分類的支持向量)進行一個可選的免疫過程,具體為提高作出正確分類的支持向量與待檢測郵件的相似度;降低作出錯誤分類的支持向量與待檢測郵件的相似度。本實施例通過支持向量中某些維和被分類郵件特征向量的對應維變的相同或者不同來實現(xiàn)上述目的。變異維數(shù)的多少依據(jù)預先設定的變異參數(shù)rate來確定。
實施例2 本實施例中采用支持向量機構建分類器,初始構建的分類器不限于一個,而是若干個分類器,即可以利用訓練樣本來構建該若干個分類器,也可以構建一個分類器后利用不斷接收的郵件構建該若干個分類器,本實施例采用后者。
由于本實施例中用到若干個分類器,隨著新接收郵件的到來,會清除時間比較長的分類器,而利用新接收的郵件作為訓練樣本生成新的分類器,因此,可以看作是一個滑動窗口承載了不同的分類器,本實施例中分類器的更新包括以下幾個方面 1)窗口中分類器的滑動更新 本實施例中接收的郵件的流數(shù)據(jù)考慮為分組的批數(shù)據(jù),每組郵件的個數(shù)為b,并使用一個窗口來同時裝載代表先前第1,2,...w批的w個分類器模型。因此,窗口反映了W(=wb)個郵件的數(shù)據(jù)信息。在時刻t,將這w個分類器模型分別表示為SVM1t,SVM2t,...SVMwt。當t+1時刻新的批數(shù)據(jù)到來時,SVMwt被從窗口中丟棄,同時,剩余的SVM1t,...SVMw-1t成為SVM2t+1,...SVMwt+1。并且,使用最新的一批數(shù)據(jù)生成SVM1t+1。這一過程可以被公式化為 其中w是窗口的大小。
窗口中的每一個支持向量機SVM分類器代表了到目前為止的一些批數(shù)據(jù)。其中SVM1t表示最近的一批數(shù)據(jù),而SVMwt表示先前的w批數(shù)據(jù)。當一封新郵件到來時,根據(jù)提取的新郵件的特征向量,窗口中的每一個具有相同權重的支持向量機SVM分類器對該待檢測郵件進行獨立的分類,每個分類器均給出與待檢測郵件具有最高相似度的支持向量,該支持向量對應的標號代表了該分類器對待檢測郵件的分類。窗口中的這些SVM分類器可以看作是具有不同知識的專家,他們協(xié)同工作對新待檢測郵件進行決策。
本實施例還可以采用一種更為復雜的帶權投票的策略。窗口中的SVM分類器可以被賦予不同的初始權值并可在隨后動態(tài)的進行調整。當數(shù)據(jù)流的特性變化劇烈時,我們可以增加窗口中諸如分類器SVM1t,SVM2t;這樣“年輕”的分類器的權重,以便能夠及時反映數(shù)據(jù)流的特性變化。相反,當數(shù)據(jù)流的變化趨勢比較平緩時,我們可以增大“年長”的分類器的權重,因為它們代表了較多的歷史知識。在實際情況中,數(shù)據(jù)特性的變化趨勢是動態(tài)改變的,因此也需要對窗口中的SVM分類器進行動態(tài)的權值更新。
2)增量型EM更新 本實施例中,在開始接收待檢測郵件的數(shù)據(jù)流的同時,利用現(xiàn)有技術中超間隔方法EM(Exceeding-margin)對滑動窗口中已構建的分類器中個支持向量進行增量型更新。
與實施例1相同,具體過程為給定t時刻的支持向量機分類器表示為SVMt,每接收一封待檢測郵件后,檢查待檢測郵件的特征向量是否位于SVMt定義的分類間隔內。如在,則將待檢測郵件暫時存儲,否則將其丟棄。當存儲的位于分類間隔內的待檢測郵件達到給定的數(shù)量ne(ne為正整數(shù))時,觸發(fā)了SVMt的更新。這時使用SVMt的支持向量連同保留的ne個待檢測郵件作為訓練數(shù)據(jù)生成t+1時刻新的分類器SVMt+1。然后利用新分類器進行分類,隨著郵件的不斷接收,達到設定條件后對分類器不斷的更新。區(qū)別就在窗口中每一個分類器都定義了自己的分類間隔,因此,所存儲的位于各個分類間隔內的數(shù)據(jù)是獨立,各個分類器獨立的更新。
3)檢測器集合和記憶細胞集合內的支持向量更新 上述滑動窗口中每個分類器由若干個支持向量構成,上述分類器剛構建時,每個分類器中的支持向量構成一個檢測器集合,通過獲取用戶反饋的郵件分類結果,可以統(tǒng)計每個分類器對應檢測器集合中參與分類的支持向量作出分類正確的次數(shù),當一個檢測器集合中支持向量的正確分類的郵件數(shù)目超過了預先設定的閾值nm(nm為正整數(shù))時,該支持向量便被提升為記憶細胞并添加到記憶細胞集合中,同時將它從原來的檢測器集合中刪除;記憶細胞集合中的支持向量參與以后接收的待檢測郵件的分類,且不參與上述分類器的更新,即上述分類器SVMt的更新過程中,記憶細胞集合中的支持向量被保留,而檢測器集合中的支持向量會隨著分類器的更新而被刪除。新生成的分類器中的支持向量作為新的支持向量,重新被統(tǒng)計作出正確分類的次數(shù),隨著郵件的到來,會不斷有新的支持向量被保留添加到記憶細胞集合中,參與郵件的分類,且不會受分類器更新的影響。
與實施例1相同,每一個記憶細胞集合中的支持向量設定了生命周期lifespan(lifespan為正整數(shù)),該生命周期表示該支持向量(本實施例也稱為記憶細胞)在檢測到達郵件的數(shù)量超過lifespan時就被自動刪除掉。本實施例中該生命周期lifespan等于上述窗口中滑動更新中每批郵件的個數(shù),分類向量作出一次正確分類后被提升為記憶細胞,由于記憶細胞集合中的支持向量每作一次郵件分類,生命周期值減少一,這樣在檢測完一批數(shù)據(jù)后,由上批數(shù)據(jù)構建的分類器中的分類向量提升的記憶細胞,在完成該批郵件數(shù)據(jù)的檢測后,會隨著分類器的移除而被刪除,既保證了分類器可以跟隨數(shù)據(jù)流特性的變化,又不會變化的太快,使分類效果好的分類向量保留一段時間。
本實施例中滑動窗口中的SVM分類器在對待測郵件進行分類時,可以采用不同的分類準則獲取待檢測郵件的特征向量與每個分類向量的相似度,優(yōu)選地可以采用下述四種分類準則中任一種漢明距離;夾角;支持向量;帶權股票。
為了比較不同分類準則所采用不同的分類器更新方法的效果,本發(fā)明具體采用下面的分類準則和該分類準則下的分類器更新方法 ①漢明距離采用漢明距離分類準則,依據(jù)待檢測郵件的特征向量與分類向量(上述檢測器集合和記憶細胞集合中的分類向量)之間的漢明距離,由漢明距離確定相似度,漢明距離與相似度成反比,每個分類器中和待分類郵件具有最小距離的分類向量及記憶細胞集合中的分類向量被添加到委員會集合中。委員會集合中的每一個成員按照自身的標號進行投票。郵件最終的類別以投票票數(shù)較多的類別結果的形式給出。此外,該分類準則中對于委員會集合中的每一個成員還有一個可選的免疫過程。在該過程中,做出正確決策的成員將會在特征空間中向被分類郵件拉近(提高相似度),反之,做出錯誤決策的成員將會在特征空間中向被分類郵件拉遠(降低相似度)。具體為通過使委員會成員的特征向量中某些維和被分類郵件特征向量的對應維變的相同或者不同來實現(xiàn)上述目的。變異維數(shù)的多少依據(jù)預先設定的變異參數(shù)rate來確定。
②夾角在這種分類準則中,本實施例通過計算待分類郵件向量和分類向量(上述檢測器集合和記憶細胞集合中的分類向量)之間的夾角的余弦值,由夾角的余弦值確定相似度,夾角的余弦值與相似度成正比。每個分類器和待分類郵件具有最大余弦值的分類向量及細胞集合中的分類向量被添加到委員會集合中。接下來的分類過程和漢明距離的分類準則一致。本實施例中的夾角分類準則中沒有采用上述變異過程。
③支持向量分類準則依據(jù)待檢測郵件的特征向量,判斷待檢測郵件與分類向量確定的超平面的距離,由所述距離確定相似度,該距離與相似度成正比,該分類準則沒有采用劃分檢測器集合和記憶細胞集合的方法,即沒有采用上述保留分類效果好的分類向量的步驟。
④加權投票這種方式將上述三種方法——漢明距離,夾角,SVM進行加權組合。在漢明距離和夾角的方法中,委員會集合中的投票可以被看作是第一個層次的投票。對于SVM來說,給出的郵件標號則可看作是支持向量的投票結果。加權投票策略使用漢明距離,夾角,SVM三種方法的分類結果在高一級別的第二個層次上再次進行投票,并根據(jù)投票的結果給出最終判定。三種方法的權重可以預先設定,也可以根據(jù)其性能動態(tài)的調整。具體來說,可以對性能較好的方法賦予較高的權重,反之亦然。
本實施例中窗口的大小被設置為奇數(shù)以避免出現(xiàn)分類器投票時票數(shù)相等的情況。當窗口大小超過某一值后,分類器的更新會消耗更多的CPU時間(因為這時窗口裝載了更多的分類器),因而分類速度會下降。而性能卻沒有得到顯著的提高甚至會下降。因此,希望窗口能夠同時具有較好的性能和較快的速度。依據(jù)上述目標,在實驗中采用了較小(窗口大小為3或5)同時性能良好的窗口大小。
本實施例中的訓練樣本集采用標準數(shù)據(jù)集PU1(I.Androutsopoulos,J.Koutsias,K.V.Chandrinos,and C.D.Spyropoulos,“An experimentalcomparison of naive bayesian and keyword-based anti-spam filtering withpersonal e-mail messages,”in Proc.of the 23rd Annual InternationalACM SIGIR Conference on Research and Development in InformationRetrieval,2000,pp.160-167.)和數(shù)據(jù)集Ling(I.Androutsopoulos,J.Koutsias,K.V.Chandrinos,G.Paliouras,and C.D.Spyropoulos,“Anevaluation of naive bayesian anti-spam filtering,”in Proc.EuropeanConference on Machine Learning(ECML’00),2000)。
被分組的批數(shù)據(jù)每組郵件數(shù)據(jù)數(shù)目大小的設置應當依據(jù)數(shù)據(jù)流的特性。當數(shù)據(jù)流變化劇烈時,數(shù)據(jù)塊的應該較小以便能夠及時清除陳舊知識。反之,當數(shù)據(jù)流變化平緩時,可以采用較大的數(shù)據(jù)塊。本實施例在PU1和Ling上數(shù)據(jù)變化趨勢并不十分劇烈,因此在試驗中采用了相對較大的數(shù)據(jù)塊(每塊60封郵件)。
超越支持向量機分類間隔的郵件的數(shù)目ne應當適中。一方面,當ne設置過小時,噪聲點會引起抖動,并且頻繁的分類器更新也是耗時的。另一方面,當ne設置過大時,由于分類器不能夠及時的進行更新,因此無法及時的反映新的數(shù)據(jù)分布。本實施例中優(yōu)選ne=30較好的平衡了分類器的更新頻率和性能。
和ne類似,普通檢測器被提升為記憶細胞的閾值nm既不能設置的太寬松也不能設置的太嚴格。當nm設置過小時,一個普通檢測器很容易超過閾值。因此許多被提升的普通檢測器并不具備很好的代表性,從而會降低記憶細胞的效率。反之,當nm設置過大時,普通檢測器很難被提升為記憶細胞,這時記憶細胞集合可能為空。我們的目標是維持一個小而高效的記憶細胞集合。本實施例中當nm設置為5時較好的滿足了該要求。
記憶細胞的生命周期控制其老化過程。這個值不能設置的過小,否則在記憶細胞進行匹配之前就將被清除出記憶細胞集合,因此不能發(fā)揮任何作用。而當生命周期設置過大時,無用的記憶細胞又不能夠及時的被清除。在我們的實驗中,生命周期被設置為和分組中郵件數(shù)據(jù)大小相同。這表明只要記憶細胞在一批數(shù)據(jù)中發(fā)生了一次正確匹配,那么它就將被保留下來。
對于變異比率來說,過小的變異比率會導致變體的覆蓋范圍幾乎和被變異的檢測器的覆蓋范圍相同。這種情況不會帶來任何性能的提升,反而增大了空間開銷。相反,過大的變異比率使得不能夠確定變體是否和被變異的檢測器具有相同的類別標號,因此會導致錯誤分類。在實驗中我們設置變異比率(變異的大小,用概率表示)為5%。如表1所示為本實施例中的各參數(shù)的取值和對應的范圍。
表1本實施例中的參數(shù)取值和對應的取值范圍 另外,本實施例中,為了比較不同的分類準則,采用了表2所示的八種方法, 表2在本實施例中用于比較的使用不同分類準則的八種方法 其中 僅使用窗口最右側的SVM進行分類(M5)在這種方式下,維持一個窗口并且窗口中的分類器按照EM更新技術獨立的進行更新。但是只使用窗口中最右端的分類器classifierw對郵件的類別進行預測。
在不使用窗口的情況下使用SVM(M6)這種方式可以被看作是窗口大小為一的特例。這時窗口中唯一的分類器連續(xù)的對郵件進行分類并且根據(jù)EM更新技術進行自我更新。
在不使用窗口的情況下使用SVM的90%的支持向量分類(M7)這種方式是在性能和速度之間的一個折衷。在分類過程中,將支持向量按照它們的系數(shù)進行降序排序(系數(shù)表明了支持向量的相對重要程度)。丟棄位于隊尾的10%的支持向量后使用剩余的90%的支持向量來分類。剩余的過程和M6一致。
圖3、4、5顯示了在PU1數(shù)據(jù)集上,當使用等份1和2(共219封郵件)作為訓練集,等份3-10(共880封郵件)作為測試集時,所比較的八種方法在測試集上的正確率,精確率,召回率和丟失率及分類速度,圖3中的帶三角形的虛線表示召回率,帶正方形的虛線表示正確率,帶菱形的虛線表示精確率。圖4中帶菱形的虛線表示分類的丟失率,圖5中的帶菱形的虛線表示分類的速度。窗口大小被設置為5。圖6、7、8顯示了在Ling數(shù)據(jù)集上,當使用等份9和10(共580封郵件)作為訓練集,等份1-8(共2313封郵件)作為測試集時,所比較的八種方法在測試集上的正確率,精確率,召回率和丟失率及分類速度,圖7中帶菱形的虛線表示分類的丟失率,圖8中的帶菱形的虛線表示分類的速度。窗口大小被設置為3。表3到表6列出了在不同等份測試集上的平均性能。
現(xiàn)有技術中常使用正確率,精確率,召回率和丟失率這四項指標對分類器的性能進行評價。正確率被定義為正確分類的郵件的百分率。精確率定義為被正確分類為垃圾郵件的郵件個數(shù)與被判別為垃圾郵件的郵件個數(shù)的比率。召回率定義為被正確分類為垃圾郵件的郵件個數(shù)與自身類別為垃圾郵件的郵件個數(shù)的比率。當過濾垃圾郵件時,錯誤的將一封正常郵件分類為垃圾郵件所造成的損失要遠比未能識別出一封垃圾郵件嚴重。丟失率就是用來表示被錯誤分類的正常郵件的郵件數(shù)目與自身類別為正常郵件的郵件個數(shù)的比率。
圖9顯示了在PU1數(shù)據(jù)集上,當使用夾角作為分類準則并設置窗口的大小為5時,分類器從由第一批數(shù)據(jù)產生到被移出窗口的過程中,其檢測器集合和記憶細胞集合大小的變化,圖中帶有正方形的虛線表示記憶細胞集合,圖中帶有菱形的虛線標表示檢測器集合。圖10顯示了使用SVM作為分類準則時,SVM從由第一批數(shù)據(jù)產生到被移出窗口的過程中,支持向量數(shù)量的變化,圖中帶有菱形的虛線表示支持向量的數(shù)量。橫坐標1表示分類器的產生,其他橫坐標數(shù)值表明了觸發(fā)EM-Update增量更新的時刻。
表3.窗口大小為3時,8種方法在PU1上的性能 表4.窗口大小為5時,8種方法在PU1上的性能 表5.窗口大小為3時,8種方法在Ling上的性能 表6.窗口大小為5時,8種方法在Ling上的性能 以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
1、一種基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,包括步驟
s101,構建由分類向量構成的分類器;
s102,獲取待檢測郵件的特征向量與每個分類向量的相似度,由相似度最高的分類向量作出對所述待檢測郵件的分類;
s103,獲取用戶反饋的所述待檢測郵件的分類,統(tǒng)計每個分類向量作出正確分類的次數(shù);
s104,重復步驟s102~s103,在步驟s102中,還由正確分類次數(shù)超過設定值的分類向量作出對所述待檢測郵件的分類;
s105,達到設定條件時更新所述分類器,正確分類次數(shù)超過設定值的分類向量被保留;
s106,重復步驟s102~s105,在步驟s102中,還由被保留的分類向量作出所述對待檢測郵件的分類。
2、如權利要求1所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s102,所占比例大的分類為所述待檢測郵件的分類,正確分類次數(shù)超過設定值的分類向量在作出設定次數(shù)的分類后被刪除。
3、如權利要求1所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,獲取用戶反饋的所述待檢測郵件的分類后還包括步驟
提高作出正確分類的分類向量與所述待檢測郵件的相似度;
降低作出錯誤分類的分類向量與所述待檢測郵件的相似度。
4、如權利要求3所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,提高作出正確分類的分類向量與所述待檢測郵件的相似度的方法為
通過改變作出正確分類的分類向量中的若干個元素,使該若干個元素與待檢測郵件中的對應元素相同;
降低作出錯誤分類的分類向量與所述待檢測郵件的相似度與所述待檢測郵件的相似度的方法為
通過改變作出正確分類的分類向量中的若干個元素,使該若干個元素與待檢測郵件中的對應元素不同。
5、如權利要求1所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s101中,利用支持向量機構建分類器,所述分類向量為代表郵件分類結果的支持向量,所述分類結果包括正常郵件和垃圾郵件。
6、如權利要求5所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,達到設定條件時更新所述分類器的方法包括步驟
判斷所述待檢測郵件的特征向量是否位于分類器的分類間隔內;
若在所述分類間隔內,將所述待檢測郵件暫時存儲;
當存儲的待檢測郵件數(shù)目達到設定數(shù)目,將存儲的待檢測郵件的特征向量與分類器的支持向量作為訓練樣本集,對分類器進行更新;
刪除暫時存儲的所述待檢測郵件。
7、如權利要求1~6任一所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s102,獲取相似度的方法為采用漢明距離分類準則,依據(jù)待檢測郵件的特征向量與所述分類向量之間的漢明距離,由所述漢明距離確定所述相似度,所述漢明距離與所述相似度成反比。
8、如權利要求1~6任一所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s102,獲取相似度的方法為采用夾角分類準則,依據(jù)待檢測郵件的特征向量與分類器的分類向量間的夾角,由所述夾角確定所述相似度,所述漢明距離與所述夾角的余弦成正比。
9、如權利要求6任一所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s102,獲取相似度的方法為采用支持向量分類準則,依據(jù)待檢測郵件的特征向量,判斷所述待檢測郵件與所述分類向量確定的超平面的距離,由所述距離確定所述相似度,所述距離與所述相似度成正比。
10、如權利要求6所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s102,采用不同的分類準則獲取相似度,包括
采用漢明距離分類準則獲取第一相似度;
采用夾角分類準則獲取第二相似度;
采用支持向量分類準則獲取第三相似度;
將由漢明距離、夾角和支持向量分類準則所得出的相似度最高的分類向量所給出的三次分類,每次的分類賦予不同的加權值,根據(jù)加權后的分類結果得到待檢測郵件的分類。
11、如權利要求6所述的基于分類器動態(tài)更新的垃圾郵件檢測方法,其特征在于,在步驟s101,構建的分類器為w個,w為設定值,每個分類器由分類向量組成;在時刻t,w個分類器分別表示為SVM1t,SVM2t,...SVMwt;t+1時刻新的一批待檢測郵件到來時,分類器SVMwt被丟棄,同時,剩余的分類器SVM1t,...SVMw-1t依次成為SVM2t+1,...SVMwt+1,并使用最新的一批待檢測郵件新構建SVM1t+1。
12、一種基于分類器動態(tài)更新的垃圾郵件檢測系統(tǒng),其特征在于,包括
分類器構建單元,用于構建由分類向量構成的分類器;
分類向量抉擇單元,用于獲取待檢測郵件的特征向量與每個分類向量的相似度,由相似度最高的分類向量作出對待檢測郵件的分類;
次數(shù)統(tǒng)計單元,用于獲取用戶反饋的所述待檢測郵件的分類,統(tǒng)計每個分類向量作出正確分類的次數(shù);
分類向量增加單元,用于將正確分類次數(shù)超過設定值的分類向量增加,參與以后對所接收待測郵件的分類;
分類器更新單元,用于在達到設定條件時更新所述分類器,將正確分類次數(shù)超過設定值的分類向量保留;
分類抉擇單元,用于由作出分類的分類向量給出分類結果,并以此確定待檢測郵件的分類。
全文摘要
本發(fā)明涉及一種基于分類器動態(tài)更新的垃圾郵件檢測方法及系統(tǒng),包括步驟構建由分類向量構成的分類器;獲取待檢測郵件的特征向量與每個分類向量的相似度;由相似度最高的分類向量作出分類;獲取用戶反饋的待檢測郵件的分類;統(tǒng)計每個分類向量作出正確分類的次數(shù);接收新的待測郵件后按上述步驟分類,當達到設定條件時更新分類器,正確分類次數(shù)超過設定值的分類向量被保留,對新接收的待檢測郵件作出分類;該系統(tǒng)包括分類器更新單元,在達到設定條件時更新分類器,將正確分類次數(shù)超過設定值的分類向量保留并用于參與以后的郵件分類。本發(fā)明將分類器中分類效果好的分類向量保留一段時間,保證了分類的準確性,不會受到新數(shù)據(jù)流的局限性的影響。
文檔編號H04L12/26GK101316246SQ20081011691
公開日2008年12月3日 申請日期2008年7月18日 優(yōu)先權日2008年7月18日
發(fā)明者營 譚, 阮光塵 申請人:北京大學