趙俊生,候 圣,王鑫宇,尹玉潔
(內(nèi)蒙古工業(yè)大學信息工程學院, 內(nèi)蒙古 呼和浩特 010080)
據(jù) The Radicati Group 集團發(fā)布的數(shù)據(jù)分析顯示,2016 年全球電子郵箱用戶人數(shù)已達到 26 億,并且預計至 2020 年,全球電子郵箱用戶人數(shù)將突破 30 億大關。據(jù)華經(jīng)情報網(wǎng)的調(diào)查報告顯示,截止2018年6月,中國網(wǎng)民規(guī)模達到8.02億,2018上半年中國郵件用戶規(guī)模及使用情況的數(shù)據(jù)顯示,中國郵件用戶規(guī)模為3.06億,與2017年末相比增長了2 134萬,在整體網(wǎng)民數(shù)量中郵件用戶數(shù)比例達到38.1%。由于郵件發(fā)送的簡便性,只要有目的郵箱地址就可以進行郵件發(fā)送,如此方便的交流方式也為一些惡意用戶提供了方便。目前中外用戶每日收到的垃圾郵件數(shù)量日益增長。由文獻[1]可知,這些垃圾郵件來源于公司或個人,在接收方未知情時,隨意向郵箱傳播不良信息,這些信息可能是一些接收方并不關心的廣告、詐騙信息或者病毒。垃圾郵件占用了網(wǎng)絡帶寬,也占用了郵箱的存儲空間,這類郵件會影響我們利用郵箱進行交流,同時也隱藏著巨大的安全隱患,極有可能會嚴重侵犯用戶的個人權(quán)益。垃圾郵件不僅會影響個人,也是全球各大企業(yè)和諸國面臨的巨大難題。垃圾郵件給企業(yè)及國家?guī)淼膿p失令人震驚,全球每年因垃圾郵件帶來的損失近4 000億元,其中我國也是垃圾郵件大國,因此造成的損失占據(jù)相當大的比例[2]。
中國權(quán)威的互聯(lián)網(wǎng)協(xié)會給出了垃圾郵件的定義:在收件人不是出于個人要求或是同意情況下接收的各種形式的具備宣傳性的郵件,無法拒收的郵件,含有虛假或是隱藏詐騙信息的郵件,都稱之為垃圾郵件。垃圾郵件的危害有以下幾個方面:其一,耗費了收件人的時間和精力;其二,占據(jù)了有限的空間和帶寬;其三,可能會侵犯人們的個人隱私,存在安全隱患。垃圾郵件可分為2類:文本垃圾郵件和圖像垃圾郵件。把含有不良信息的圖像嵌入郵件中稱為圖像垃圾郵件。圖像垃圾郵件帶來的危害更為嚴重。因為圖像與文字相比,占據(jù)了更大的存儲空間和網(wǎng)絡帶寬,而且圖像中可能含有更多的不良信息[3 - 6]。所以,圖像垃圾郵件更加嚴重危害了網(wǎng)絡安全,反圖像垃圾郵件的研究具有更深遠的社會意義。
國外的垃圾圖像多為肖像、商標商務、卡通動漫、游戲、暴恐和政治等畫面,而國內(nèi)的垃圾圖像以廣告、宣傳和詐騙為主,且圖像多使用醒目的顏色。這2類圖像都是由電腦軟件生成,但圖像的顏色、紋理和形狀特征差別較大。圖像特征是分類的初始依據(jù),目前多數(shù)文獻采用國外20年前的標準圖像垃圾郵件樣本庫Spambase為數(shù)據(jù)源進行實驗[7 - 11],問題一是不適應當前垃圾郵件圖像的變化,二是使國內(nèi)的圖像垃圾郵件過濾針對性不強,削弱了過濾性能。同時,由于目前圖像垃圾郵件過濾的誤報率仍然較高,準確率和召回率仍有待提高[12 - 14],所以對于圖像垃圾郵件過濾技術(shù)的改進研究有著極其重要的意義。
圖像垃圾郵件過濾的本質(zhì)是對垃圾圖像和正常圖像的識別分類。本文針對圖像垃圾郵件的圖像分類問題進行研究,利用適合于圖像分類的色調(diào)/飽和度/亮度HSV(Hue,Saturation,Value)顏色直方圖特征、顏色矩特征、紋理特征和形狀特征;采用K近鄰算法K-NN(K-Nearest Neighbor)等個體分類算法和集成學習(Integrated Learning)算法[15 - 17],對圖像垃圾郵件的圖像分類進行討論;通過實驗選擇最佳的特征,改進圖像的分類方法,并對參數(shù)結(jié)構(gòu)進行優(yōu)化和確定;最終針對國內(nèi)的垃圾郵件圖像集得到了較高的準確率和召回率,降低了誤判率。
(1)HSV顏色空間。
HSV顏色空間也稱為HSV顏色空間模型,該模型從3個角度對圖像的顏色進行統(tǒng)計。H表示色調(diào),取值為[0°,360°],由暖色調(diào)逐漸轉(zhuǎn)向冷色調(diào),再逐漸轉(zhuǎn)變回來。S表示光的飽和度,取值為[0.0,1.0],表示在光譜中接近程度的大小。V表示圖像中的明度,即顏色的明亮程度,取值也為[0.0,1.0]。HSV顏色模型如圖1所示。
Figure 1 HSV color space model圖1 HSV顏色空間模型
在圖1中,利用圓錐底面圓的半徑所在的直線S來表示某一種顏色的飽和程度。由圖1可以看出,直線越靠近圓錐表面,顏色混入的白光就越少。通過底面圓心的垂線表示V值,由圖可見,越接近底面圓的顏色越明亮。
任何一種顏色都可以看作是由光譜中的顏色與白光混合得到的,白光混合得越多,顏色與原光譜的差異也就越大,顏色飽和度越小。如果不混入白光,S值可以達到最高。值得一提的是,在S值為0時,只有灰色,不混雜任何其他顏色。
HSV顏色空間模型中,在考慮光源的V值時,例如電燈這類物體,認為該物體的明度與其原有光的亮度有關。如果考慮的是其他不會發(fā)光物體的明度,那么V值與物體表面的粗糙程度和對光源的吸收能力有關,但是該值與光的強度并沒有直接關系。
(2)HSV顏色直方圖。
HSV顏色空間模型對圖像中顏色的不同方面進行了統(tǒng)計,但一般不直接選擇HSV顏色空間模型的原始值使用。這是因為原始值維度較高,要從3個維度對顏色信息進行說明。再者,即使顏色實際上很接近,顏色模型利用具體的數(shù)值進行表示時也會存在差異,所以本文利用顏色直方圖來表示顏色信息。
顏色直方圖在圖像處理中得到了極為廣泛的應用。顏色直方圖可以描述不同的顏色值在某一幅圖像中顏色信息的比例,但是它無法對圖像中的具體事物進行描述。顏色直方圖不僅可以建立HSV顏色空間,也可以建立其它幾種顏色空間。其中基于LUV(Luminosity表示明度,U,V表示色度)空間和LAB(Luminosity表示明度,A,B為2個色彩通道)空間以及HSV空間的顏色直方圖更符合人們對顏色的直觀感受,由此建立顏色直方圖也就更有意義,而HSV是這幾種空間中最常用的。對于RGB(Red,Green,Blue,紅色,綠色,藍色)顏色空間,同樣可以對其建立顏色直方圖,該顏色空間也是較為常用的。本文研究的大部分圖像都是用RGB的3個顏色通道來表示的,但是該顏色空間與人的主觀判斷并不相符,而且現(xiàn)在已有多種從RGB顏色空間轉(zhuǎn)換到其他顏色空間的轉(zhuǎn)換方法,所以可以直接使用更符合人們直觀感受的顏色空間進行圖像處理。
在由顏色空間生成顏色直方圖時,需要對顏色空間進行劃分,得到若干個子區(qū)間作為直方圖的bin,bin是直方圖中的一個豎條區(qū)域,用這種方法對顏色空間上的數(shù)值進行量化。通過對每一個bin中包含顏色的像素個數(shù)進行統(tǒng)計,得到顏色直方圖。雖然對直方圖進行量化的方式有多種,但是其中最為常見的還是直接對各個通道的數(shù)值進行等分。在建立顏色直方圖時,其中最為重要的,也是唯一需要討論的參數(shù)值就是bin的個數(shù)。選擇合適的直方圖的個數(shù)與具體的應用有關,需要結(jié)合實驗來討論。一般來說,直方圖分得的bin越多,統(tǒng)計就越精確,但是如果bin少的話,可以使統(tǒng)計計算較為方便,同時,如果與其他的特征進行結(jié)合使用,也要考慮到數(shù)據(jù)之間的干擾情況。
(3)HSV應用領域。
HSV顏色空間模型是一種極為符合人們直觀判斷的顏色空間模型,在圖像編輯工具中得到了廣泛的應用。但是,又因為該模型與光照強度之間沒有直接關系,所以在需要進行光強運算或者在某些光照模型應用時不會選取HSV顏色空間模型。由HSV顏色模型建立的直方圖特別適用于難以分割或難以對圖像中的事物進行識別的圖像處理。對于垃圾郵件中的圖像來說,廣告類信息中混雜了大量的商品或是價格標簽,如果對圖像中的具體事物加以識別會浪費大量的時間和存儲空間。但是,多數(shù)廣告類信息會用較多的色彩或較鮮艷的顏色來引起人們的關注,所以在進行基于圖像內(nèi)容的垃圾郵件過濾中使用HSV顏色直方圖是十分必要的。
(4)HSV顏色直方圖特征提取。
初始獲得的郵件圖像一般為RGB真彩色圖像,首先將圖像讀入為RGB真彩色圖像,再利用Matlab中封裝好的RGB顏色空間到HSV顏色空間的轉(zhuǎn)換函數(shù),對已經(jīng)讀到的顏色信息進行轉(zhuǎn)換,得到圖像的HSV顏色特征信息。然后進行顏色直方圖的轉(zhuǎn)化,轉(zhuǎn)化過程如圖2所示。在HSV顏色特征中只選用H通道和S通道來進行描述,V通道描述的是圖像的明度情況,在進行垃圾郵件過濾時,不論是常規(guī)郵件圖像還是垃圾郵件圖像,每幅圖像的明度都可能不同。在建立直方圖時,實驗不選用圖像的明度信息,即V通道的值,只選取H通道和S通道進行信息統(tǒng)計。
Figure 2 Flow chart of color feature conversion to color histogram圖2 顏色特征轉(zhuǎn)換為顏色直方圖流程圖
對于H通道和S通道需要進行不同等級的劃分,這種分級劃分相當于對H與S通道建立給定區(qū)間范圍的直方圖。得到分級表示的顏色直方圖后,對2個通道的直方圖進行合并,最終得到歸一化的N維顏色直方圖表示。
因為H通道是用角度值來進行統(tǒng)計的,所以其值為[0°,360°]。將其區(qū)間劃分為均等的16個子區(qū)間,即16個bin,并對落入每個區(qū)間上的H通道的像素個數(shù)進行統(tǒng)計。又因為S通道是利用比率值進行表示的,所以其取值為[0.0,1.0],也對S通道值在該范圍內(nèi)進行劃分,劃分為4個均等的區(qū)間,并對落在每個區(qū)間上的像素個數(shù)進行統(tǒng)計,至此,HSV顏色直方圖訓練完畢。按照不同的bin的劃分可以得到不同維度的通道直方圖,再按照對應的維度進行合并,可以得到不同維度的HSV顏色直方圖。通過對不同維度的直方圖特征進行實驗,來確定在垃圾郵件過濾中圖像分類的最佳直方圖維度。
(1) 顏色矩特征表示。
顏色矩的根本思想是利用矩陣來表示圖像中各種尺度、類型的顏色分布。根據(jù)實驗以及理論推導,最終得出的結(jié)論就是絕大多數(shù)的顏色分布都集中在階數(shù)非常低的幾階之中。這些結(jié)論都得到了數(shù)學的證明,因此在大多數(shù)的顏色矩的應用場景中,使用顏色矩時只需要計算圖像顏色分布的一階矩(也就是圖像像素的平均值信息)、顏色分布的二階矩(也就是圖像像素的方差信息)以及顏色分布的三階矩(也就是圖像像素的偏斜度信息),就能夠很好地表示出圖像的多個角度的顏色分布。
顏色矩和顏色直方圖相比還有一個優(yōu)勢,就是顏色矩不需要像直方圖那樣在統(tǒng)計之后還要對數(shù)據(jù)進行向量化。利用顏色矩表達圖像信息只需要計算9個分量即可,這在HSV和RGB這2種顏色空間上都適用,因為這2種顏色空間都含有3個顏色分量,每個分量上只需要計算3個低階矩。因此,顏色矩特征是一種輕量級的、計算快速的顏色分布表示特征。
(2) 顏色矩特征提取。
顏色矩特征具有運算量小、提取特征速度快等特點,本文設計了顏色矩的提取方法,并將其提取出的顏色矩特征輸入K-NN分類器來測驗其分類效果能否達到最優(yōu)。實驗對訓練集和測試集的郵件圖像數(shù)據(jù)都提取其三階的顏色矩特征。在顏色結(jié)構(gòu)方面,采用HSV作為基礎,提取其3個通道的顏色矩特征,特征相似度的比較采用的是曼哈頓距離計算方法。圖像在顏色方面的信息主要能夠由低階的顏色矩表示,因此為了高效地提取顏色矩特征,主要對郵件圖像的一階、二階和三階顏色矩進行計算,這三階顏色矩分別代表了圖像的均值、方差和斜度,可以有效地表示圖像中的顏色分布。實驗中提取顏色矩特征主要有如下3個步驟:首先將郵件圖像由RGB顏色空間轉(zhuǎn)換到HSV顏色空間,并對HSV顏色空間的圖像數(shù)據(jù)進行計算,求出其均值、方差和斜度;然后對求出的3類矩信息進行歸一化處理;歸一化后將數(shù)據(jù)拼接成一維的向量。
(1) 紋理特征表示。
紋理特征是一種圖像中的視覺特征,該特征體現(xiàn)了圖像中物體表面的組織結(jié)構(gòu),也能給人帶來直觀的物體粗糙度的感受。紋理特征具備3大標志性特征:(1)存在某種不斷重復的局部性序列;(2)該序列是一種非隨機的排列;(3)具備紋理的部分大多是均勻的。與顏色特征不同的是,對于某一像素的紋理特征是根據(jù)該像素與其相鄰區(qū)域的灰度情況進行表示的,這說明紋理信息可以表示局部性信息,而局部紋理信息在全局的重復構(gòu)成了全局的紋理信息。
紋理特征的表示方法較多,例如基于局部統(tǒng)計特性的特征、基于隨機場模型的特征、基于空間頻率的特征和基于灰度共生矩陣的特征等,其中最為常見的是基于灰度共生矩陣的特征。
灰度共生矩陣紋理特征是利用概率統(tǒng)計方法對圖像上的紋理進行二階數(shù)據(jù)統(tǒng)計得到的。灰度共生矩陣紋理特征對像素灰度的空間情況進行描述,對相隔n個單元像素的每一像素的幾種灰度值出現(xiàn)的概率進行統(tǒng)計。這種紋理特征具備較高的時間復雜性,但是通過研究人員的不斷改進,已經(jīng)可以通過熵、能量等共計8維信息,對一幅圖像中的紋理特征進行描述。本文選用的就是這種改進了的灰度共生矩陣紋理特征。如圖3所示,圖3a為原圖,圖3b為不同尺度下的原圖,圖3c為不同灰度級下提取出的紋理特征。由圖3可知,紋理特征可以直觀地描述人們對圖像的粗糙程度的感受,并且可以對同一圖像、不同尺度下的紋理情況進行區(qū)分。
Figure 3 Texture feature example圖3 紋理特征示例
灰度共生矩陣紋理特征需要在圖像方向上進行定義,并對像素的灰度級進行預劃分,利用矩陣來對2種不同的灰度級出現(xiàn)在一個像素和相隔的另一個像素上的概率進行統(tǒng)計,得到的矩陣被稱作為共生矩陣。該矩陣可以用以描述不同灰度之間的依賴關系,體現(xiàn)了灰度在空間上的分布特性[18]。
(2) 紋理特征提取。
本文選取基于灰度共生矩陣的紋理特征作為圖像垃圾郵件過濾中圖像分類的第2種圖像特征。該特征的提取流程如圖4所示。
Figure 4 Flow chart of texture feature extraction圖4 紋理特征提取流程圖
實驗選用了顏色直方圖來描述圖像中的顏色信息,但在對圖像的紋理信息進行描述時,不需要考慮圖像上的顏色信息,所以在進行紋理特征的處理之前,要先將真彩色圖像轉(zhuǎn)化為灰度圖像。這時將真彩色圖像看作是利用RGB顏色空間進行描述的,將原本的256級顏色通道劃分變化為16級。
灰度共生矩陣是在4個方向上建立的,這4個方向分別是圖像的水平方向、垂直方向、對角線方向和反對角線方向,相應的方向用角度表示為0°,45°,90°和135°。利用以上4個方向可以構(gòu)造出基于灰度共生矩陣的特征向量。特征矩陣中的一列存儲的是一幅圖像的信息,而圖像的特征向量是由每幅圖像的4個共生矩陣計算出來的。
由于紋理特征是利用歐氏距離來進行相似度比較的,所以可以利用K-NN分類器來將紋理特征進行分類。在K-NN分類器中對特征的每一維進行歐氏距離計算。2個特征之間的歐氏距離如果在閾值內(nèi),則認為這2個特征是一類特征。所以,利用紋理特征在K-NN分類器中進行訓練時,也需要對鄰域的閾值進行討論。
在使用紋理特征時,實驗選用基于共生矩陣的紋理特征。因為圖像中的顏色信息已經(jīng)使用HSV顏色直方圖進行了全面的描述,而且紋理特征描述的是圖像的粗糙程度,所以不需要從彩色圖像中提取紋理特征,因此要將真彩色圖像轉(zhuǎn)為灰度圖像。不僅如此,因為紋理特征是一種在圖像全局進行計算的特征,使用原始圖像大小進行計算時,具有相當大的時間復雜度,所以需要對灰度圖像進行壓縮。圖像灰度值為[0,255],采用類似于建立顏色直方圖的方法,將該區(qū)間的值等分為16級,可重新表示灰度圖像。之后,在壓縮后的灰度圖像上計算灰度共生矩陣?;叶裙采仃嚹軓姆较?、距離間隔等角度反映出圖像的灰度信息,計算如式(1)所示。
P(i,j)=size{(x1,x2∈[1,M]),(y1,y2∈
[1,N])|Gray(x1,y1)=i,
Gray(x2,y2)=j}
(1)
其中,灰度圖像Gray一行的像素個數(shù)為M,一列的像素個數(shù)為N;x1、x2、y1、y2分別為像素的坐標值,i,j對應像素點的灰度值。對應方向角取0°,45°,90°,135°時可分別得到4個灰度共生矩陣。
依照式(1),如果設定了4個方向,并將間隔距離設為1,即可求得4個灰度共生矩陣。實驗在求得共生矩陣后,又對4個共生矩陣分別進行了歸一化處理。
利用歸一化之后的共生矩陣,求得其對應的能量、熵、慣性矩和相關性數(shù)值,最后計算以上4個量的平均值和標準差,共計8維數(shù)據(jù)來表示圖像的紋理特征。
(1) 形狀特征表示。
圖像中的形狀主要有2種組成形式,第1種是針對圖像特定目標的整體輪廓的特征,這種形狀特征主要考慮的是形狀的幾何特性、邊緣信息等;第2種形狀特征是圖像的區(qū)域特征,區(qū)域特征主要表現(xiàn)的是圖像特定目標的整個區(qū)域之內(nèi)的信息。這2種特征的關注點不同,因此在某種程度上也可以聯(lián)合這2方面的信息來更全面地表示圖像中的形狀特征。形狀特征表示方法主要有邊界特征法、傅里葉形狀描述符法、幾何參數(shù)法和形狀不變矩法。
(2) 形狀特征提取。
形狀不變矩與顏色矩有相似之處,是通過計算描述形狀分布的矩陣來實現(xiàn)形狀特征的表示。由于不變矩是一種濃縮的圖像特征,具有平移、灰度、尺度和旋轉(zhuǎn)不變性,所以矩和矩函數(shù)可應用于圖像的模式識別、圖像分類、目標識別和場景分析中。
實驗采用HU不變矩來表示郵件圖像的形狀信息。一幅灰度圖像可以用二維灰度密度函數(shù)f(x,y)來表示,則一幅M×N的郵件圖像f(x,y)的p+q階幾何矩mpq和中心矩μpq如式(2)和式(3)所示:
(2)
(3)
(4)
最后根據(jù)二階與三階歸一化后的中心矩構(gòu)造HU的7個不變矩如式(5)~式(11)所示:
I1=z20+z02
(5)
(6)
(7)
(8)
(9)
4z11(z30+z12)(z21+z03)
(10)
(11)
根據(jù)以上公式可編程求出每個圖像的7個不變矩,并將其直接拼接為一維向量后就得到了實驗中應用的圖像形狀特征。
本文使用的K-NN算法是基于粗糙集屬性約簡的。其主要原理和傳統(tǒng)K-NN并沒有很大的不同,但是由于圖像的特征維度較高,需要去除冗余無用的屬性維度,因此引入了粗糙集屬性約簡算法。K-NN算法是數(shù)據(jù)處理中十分常見的算法,該算法實現(xiàn)簡單、計算效率較高,但是在數(shù)據(jù)量較大或樣本的屬性較多時,該算法的效率就會受到極大的影響,計算的時間復雜性會大幅上升。所以,將粗糙集方法與K-NN算法相結(jié)合,在保證粗糙集方法的約簡性能的情況下,利用K-NN算法對樣本集進行分類不失為一種高效的方法[19,20],如圖5所示。
Figure 5 Flow chart of K-NN classification algorithm based on rough set圖5 基于粗糙集的K-NN分類算法流程圖
對于輸入算法的特征,首先要進行基于粗糙集方法的屬性約簡。本文采用的圖像特征,其中一種為HSV顏色直方圖,該特征根據(jù)分級設定的不同可以有多種不同的維度,但是其維度依然較高,如果逐個維度進行計算會浪費大量的時間,且很多屬性值可能是冗余的,沒有必要進行計算,屬性約簡是一個十分重要的步驟。
將通過郵箱收集到的圖像郵件中的圖像進行人工標記分類,分為垃圾郵件圖像和常規(guī)郵件圖像,并利用這2類圖像得到測試樣本集和訓練樣本集。具體的步驟如下所示:
(1)對從圖像中提取的特征進行屬性約簡;
(2)根據(jù)樣本標記值以及樣本預測值的異同來計算分類器準確率和召回率;
(3)通過設置不同的粗糙集屬性約簡方法和分類器內(nèi)部參數(shù)來改變實驗結(jié)果;
(4)重復步驟(3),最終確定最佳的圖像特征屬性約簡方案和K-NN分類參數(shù)。
在圖像垃圾郵件過濾的研究中,由于國外和國內(nèi)的垃圾郵件發(fā)送者的目的不同,垃圾圖像的內(nèi)容和特征就不同,圖像特征數(shù)據(jù)是圖像分類判別的初始條件,特征數(shù)據(jù)不同致使圖像分類的效果不一致。文獻中大都采用國外學者收集的具有一定規(guī)模的垃圾圖像數(shù)據(jù)集作為實驗驗證的基礎數(shù)據(jù),這些數(shù)據(jù)缺乏有效的實時更新,且在進行垃圾圖像過濾時采用的分類算法單一。而我國國內(nèi)的大部分垃圾郵件圖像為商業(yè)廣告類圖像,這與原有的圖像數(shù)據(jù)集不相匹配,那么用國外的圖像數(shù)據(jù)集訓練分類器,來測試國內(nèi)的垃圾郵件圖像,過濾效果必然不佳,且過濾的方法有待改進,過濾的綜合性能仍有待提高。在二元分類問題上,雖然一些個體分類器也具有一定的過濾效果,但過濾的準確率和召回率很難同時提高,且誤報率仍然較高。
本文在建立國內(nèi)垃圾郵件圖像數(shù)據(jù)庫的基礎上,改進了圖像垃圾郵件過濾的框架結(jié)構(gòu),將多種性能較好的個體分類器取長補短進行結(jié)合,通過集成學習算法形成一個強分類器來優(yōu)化圖像垃圾郵件過濾的性能。具體過濾器框架結(jié)構(gòu)如圖6所示。
Figure 6 Framework of integrated learning filter圖6 基于集成學習的過濾器框架結(jié)構(gòu)圖
基于集成學習的過濾器首先從訓練集圖像中提取不同的圖像特征進行優(yōu)選,選擇最適合國內(nèi)郵件圖像集分類的HSV顏色直方圖特征作為輸入各種分類器的數(shù)據(jù)集參數(shù),在構(gòu)造生成的各種個體分類器中進行訓練,訓練好的分類器再通過測試集圖像的HSV顏色直方圖特征數(shù)據(jù)進行測試,并評價各個分類器的性能優(yōu)劣。然后選擇較好的個體分類器結(jié)合構(gòu)成集成學習分類器來進一步提升和優(yōu)化分類性能,最終對待測郵件圖像的類型做出更加準確的判定,得到圖像垃圾郵件的過濾結(jié)果。
為優(yōu)化過濾性能,本文提出將K-NN、Naive Bayes和支持向量機SVM(Support Vector Machine)3種基分類器基于串行迭代提升的方法,改變基分類器分錯樣本的概率分布構(gòu)成新訓練集,即提高前一輪個體分類器錯誤分類的樣本權(quán)重,降低正確分類的樣本權(quán)重,使得錯誤分類的樣本受到更多關注,從而在下一輪學習中可以正確分類,最終訓練一個更強的學習器。對于迭代得到的一系列個體分類器,再調(diào)整相應的權(quán)值合并個體學習模型,構(gòu)造一個強大的集成學習模型,即采用加權(quán)多數(shù)表決的方法,加大分類誤差率小的個體分類器的權(quán)值,減小分類誤差率大的個體分類器的權(quán)值,從而調(diào)整他們在表決中的作用。由于垃圾郵件過濾屬于二元分類問題,所以可以采用AdaBoost算法來實現(xiàn)[15],具體算法流程如下所示:
二元分類數(shù)據(jù)集如式(12)所示:
T={(x1,y1),(x2,y2),…,(xN,yN)}
(12)
其中,(x1,x2,…,xN)為圖像特征向量,yi∈Y={-1,1}。
將數(shù)據(jù)集T輸入個體學習分類器,最終輸出強分類器G(x),x∈X=(x1,x2,…,xN)。
(1)訓練數(shù)據(jù)的權(quán)值分布初始化,如式(13)所示:
D1=(w1,1,w1,2,…,w1,N)
(13)
其中,w1,i=1/N;i=1,2,…,N。
(2)k=1,2,…,M(個體分類器個數(shù)M=3):
①用具有權(quán)值分布Dk的訓練數(shù)據(jù)集學習,得到基本分類器,如式(14)所示:
Gk(x):X→{-1,1}
(14)
②計算Gk(x)在訓練數(shù)據(jù)集上的分類誤差率,如式(15)所示:
(15)
其中,P(Gk(xi)≠yi)是滿足條件的概率,I(Gk(xi)≠yi)是滿足條件的信息量。
③計算Gk(x)的權(quán)重系數(shù),如式(16)所示:
(16)
④更新訓練數(shù)據(jù)集的權(quán)值分布,如式(17)所示:
Dk+1=(wk+1,1,wk+1,2,…,wk+1,N)
(17)
(18)
使Dk+1成為一個概率分布。
(3)構(gòu)建基本分類器的線性組合,如式(19)所示:
(19)
(4)得到最終強分類器,如式(20)所示:
(20)
本文通過收集得到的常規(guī)郵件圖像1 120幅和垃圾郵件圖像1 518幅,進行了基于粗糙集K-NN的垃圾郵件圖像分類算法的實驗,實驗采用隨機抽取的辦法將數(shù)據(jù)分為訓練集和測試集,訓練集和測試集的數(shù)據(jù)比例為3∶1。在本文改進的K-NN分類器K值取3,5,7,9時分別測試不同維度下的HSV顏色直方圖特征、顏色矩特征、紋理特征和形狀特征的分類性能。分類指標為垃圾郵件圖像分類的準確率、召回率、誤判率和綜合平衡指標F值。
準確率評價指標如式(21)所示:
(21)
其中,P是準確率(Precision),反映了過濾系統(tǒng)找對垃圾郵件的能力;Ts表示被正確分類的垃圾郵件圖像數(shù)目;Fn表示非垃圾郵件圖像被誤判為垃圾郵件圖像的數(shù)目。
召回率評價指標如式(22)所示:
(22)
其中,R是召回率(Recall),反映了過濾系統(tǒng)發(fā)現(xiàn)垃圾郵件的能力;Ts表示被正確分類的垃圾郵件圖像數(shù)目;Fs表示垃圾郵件圖像被誤判為非垃圾郵件圖像的數(shù)目。
誤判率評價指標如式(23)所示:
(23)
其中,F(xiàn)R是誤判率(Failure Rate),表示將非垃圾郵件圖像判定為垃圾郵件圖像的概率;Ts表示被正確分類的垃圾郵件圖像數(shù)目;Fn表示非垃圾郵件圖像被誤判為垃圾郵件圖像的數(shù)目。
F值評價指標如式(24)所示。
(24)
其中,F(xiàn)值是準確率與召回率之間的一個綜合平衡指標,它反映垃圾郵件過濾的綜合效果;β是平衡因子。
在測試集上進行實驗驗證,對不同維度HSV顏色直方圖特征、顏色矩特征、紋理特征和形狀特征作用于本文改進的K-NN分類器的分類準確率結(jié)果如表1所示。
Table 1 Precision comparison of different features表1 不同特征準確率的實驗結(jié)果比較
準確率是算法判定的垃圾郵件圖像樣本數(shù)與經(jīng)檢測的圖像實際為垃圾郵件圖像的樣本數(shù)的比例,是對垃圾郵件圖像是否檢測正確進行的評判,這一指標反映了垃圾郵件過濾時圖像分類算法的正確程度。
同樣在測試集上進行實驗驗證,對不同維度HSV顏色直方圖特征、顏色矩特征、紋理特征和形狀特征作用于本文改進的K-NN分類器的分類召回率結(jié)果如表2所示。
Table 2 Recall comparison of different features表2 不同特征召回率的實驗結(jié)果比較
召回率是實際檢測出的垃圾郵件圖像樣本數(shù)與所有垃圾郵件圖像樣本數(shù)的比例。這一評價指標極為直觀地反映了垃圾郵件過濾時圖像分類算法的查全能力。
準確率和召回率能夠很好地說明算法的性能。從表1和表2可以看出,以上4種不同特征的K值實驗,在K值變化時分類準確率和召回率的變化趨勢大致相同,取K=5時的分類準確率和召回率最佳。再從不同維度HSV直方圖特征、顏色矩特征、紋理特征和形狀特征的分類準確率和召回率數(shù)據(jù)可看出,分類效果最好的是選擇HSV顏色直方圖特征,其次是紋理特征,再次是顏色矩特征,最差的是形狀特征,且選擇HSV顏色直方圖維度為16維時分類準確率和召回率最高。由此可以確定采用16維的HSV顏色直方圖特征,在本文改進的K-NN算法的K值取5時,垃圾郵件圖像的分類識別效果最好。
從表1和表2實驗結(jié)果可看出,K-NN算法確實是一個比較有效的識別垃圾郵件圖像的方法,但還有一些常用的分類方法如Naive Bayes算法、SVM算法、判別分析(Discriminant Analysis)算法、隨機森林(Random Forest)算法等是否會有更好的實驗效果呢?
Naive Bayes算法是一種典型的監(jiān)督學習方法,其基本原理是通過某對象的先驗概率,利用貝葉斯公式計算出后驗概率,即該對象屬于某一類的概率,選擇具有最大后驗概率的類作為該對象所屬的類[21]。
SVM利用數(shù)學模型構(gòu)建出一個超平面,這個超平面能夠最大程度地將2類數(shù)據(jù)分割出來,確保很低的分類錯誤率[22,23]。當SVM處理的數(shù)據(jù)線性可分時,即存在一個超平面能夠?qū)?類數(shù)據(jù)分割開的情況下,SVM能夠找到最佳的一個超平面,經(jīng)過這個超平面分割的數(shù)據(jù)能夠保證每一類數(shù)據(jù)距離超平面的平均距離都是最大的。
判別分析主要是利用歷史的數(shù)據(jù)進行建模,根據(jù)預測數(shù)據(jù)和歷史數(shù)據(jù)模型的差別來得出預測的結(jié)果。
隨機森林是從原始訓練樣本集中有放回地重復隨機抽取定量的樣本,生成新的訓練樣本集合,然后根據(jù)新的樣本集生成多棵分類樹組成隨機森林。測試數(shù)據(jù)通過多棵分類樹得到輸出,再將輸出結(jié)果進行組合投票得到最終的分類結(jié)果。
集成學習算法是集成多個不同的相互獨立的學習模型來提高自身決策結(jié)果的適應能力和決策準確率的一種算法。由于能夠集成多種特性各不相同的算法,因而集成學習算法有更強的適應性,可以處理更加復雜的任務。集成學習算法的核心優(yōu)勢在于集成,也就是如何將不同模型返回的結(jié)果集成為最優(yōu)的結(jié)果。
本文在自己收集到的圖像數(shù)據(jù)庫上,選擇不同維度的HSV顏色直方圖特征,應用于以上分類算法進行實驗驗證,實驗結(jié)果如表3所示。
Table 3 Comparison of different dimension color histograms with different classification algorithms表3 不同維度顏色直方圖特征在不同分類算法中的實驗結(jié)果比較
從表3中可以看出,本文改進的K-NN算法、Naive Bayes算法和SVM算法的分類指標相近,具有近似的較好的過濾效果,而判別分析算法、隨機森林算法的過濾效果相對較差。
實驗表明,本文通過集成學習算法得到的強分類器G(x)的分類指標明顯優(yōu)于其他個體分類器,使準確率和召回率同時得到了提升,進一步提高了過濾的綜合性能,因此在實際的圖像垃圾郵件過濾應用中可以廣泛使用。
本文以基于粗糙集的K-NN算法為例證,從HSV顏色直方圖、顏色矩、紋理和形狀特征中,優(yōu)選出最有利于圖像垃圾郵件過濾的圖像分類特征是16維的HSV顏色直方圖,并得出最佳的K值為5。本文提出了將基于粗糙集的K-NN算法、Naive Bayes算法和SVM算法的個體分類器采用AdaBoost集成學習算法結(jié)合的過濾方法,針對國內(nèi)的垃圾郵件圖像數(shù)據(jù)庫,使圖像垃圾郵件過濾的準確率和召回率同時得到了提升,分別為97.3%和96.1%,誤判率降低到了2.7%,達到了更好的圖像垃圾郵件過濾效果。