陳銳峰,王碩楊
山東大學(xué)
郵件分類
陳銳峰,王碩楊
山東大學(xué)
當(dāng)今社會(huì),郵件是人們交流信息的一個(gè)重要途徑。然而隨著廣告業(yè)的迅猛發(fā)展,垃圾郵件逐漸成為了困擾廣大郵件用戶的最大的問題。本文的核心就是利用機(jī)器學(xué)習(xí)的方法,區(qū)分出垃圾郵件與普通郵件,意在對網(wǎng)絡(luò)凈化做出微薄貢獻(xiàn)。
垃圾郵件;分類;機(jī)器學(xué)習(xí)
在現(xiàn)如今的社會(huì),人們每天都用電子郵件與彼此進(jìn)行交流,無論是業(yè)務(wù)往來還是個(gè)人行為,電子郵件的作用不言而喻。據(jù)報(bào)道,現(xiàn)如今已存在超過四十億的電子郵件賬戶,這個(gè)數(shù)字可占現(xiàn)今存在詞匯數(shù)量的幾乎一半。但與之相伴而來一種現(xiàn)象,那就是越來越多的垃圾郵件出現(xiàn)在我們的電腦屏幕前。據(jù)估計(jì),僅在2009年,超過97%的電子郵件被認(rèn)為是垃圾郵件,這的確是個(gè)大問題。我們這篇文章的主要目的是將我們需要的郵件與垃圾郵件進(jìn)行郵件分類,以挑選出我們所感興趣的郵件。
理論介紹:支持向量機(jī):在機(jī)器學(xué)習(xí)的領(lǐng)域中,支持向量機(jī)是一種與學(xué)習(xí)算法有關(guān)的可以為分類與回歸問題分析數(shù)據(jù)的有監(jiān)督學(xué)習(xí)模型。它的一種很重要的應(yīng)用就是對有標(biāo)簽的數(shù)據(jù)進(jìn)行分類。其目的是通過已知類別的兩種數(shù)據(jù)點(diǎn)來預(yù)測新的數(shù)據(jù)點(diǎn)所屬類別。其動(dòng)機(jī)是將已知k維空間上的數(shù)據(jù)降維,并在k-1維的超平面上對其進(jìn)行分類。
主成分分析:主成分分析是一種統(tǒng)計(jì)方法。通過正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量。它是用來簡化數(shù)據(jù)的重要方法。其目的是用某幾個(gè)主成分代替整個(gè)數(shù)據(jù)及以解釋整個(gè)因變量,從而達(dá)到降維簡化數(shù)據(jù)的目的。
2.1數(shù)據(jù)集
我們的數(shù)據(jù)來自于https://archive.ics.uci.edu/ml/datasets/Spambase.
此數(shù)據(jù)集包含4691個(gè)樣本,58個(gè)變量。最后一個(gè)變量(數(shù)據(jù)的最后一列)代表的是每一封郵件是否被判定為垃圾郵件,它是一個(gè)0-1變量。絕大多數(shù)的變量代表了某個(gè)單詞或字母在電子郵件里出現(xiàn)的頻數(shù)。第55到57三個(gè)變量測量了連續(xù)的大寫字母序列的長度。
2.2核支持向量機(jī)
我們隨機(jī)選擇了全數(shù)據(jù)集的2/3作為訓(xùn)練數(shù)據(jù)集來找到合適的核函數(shù),并且我們將剩余的1/3數(shù)據(jù)集作為檢驗(yàn)數(shù)據(jù)集來進(jìn)行預(yù)測并計(jì)算錯(cuò)誤率。而后我們分別用交叉驗(yàn)證法以及循環(huán)來挑選高斯核,多項(xiàng)式核以及線性核的最優(yōu)參數(shù)(交叉驗(yàn)證法是準(zhǔn)確的,但同時(shí)又是耗時(shí)的)。
我們選擇的最好的核是K(x,y)=0.9xTy(線性核)。
2.3線性主成分分析
為了減少數(shù)據(jù)集的維數(shù)并簡化問題,我們在應(yīng)用支持向量機(jī)之前先應(yīng)用了主成分分析方法降維。我們試圖使錯(cuò)誤率最小化,將0.1作為分界水平,并同時(shí)降低數(shù)據(jù)集的維數(shù)。因此,在權(quán)衡了這其中的交換取舍后,我們最終將數(shù)據(jù)集的維數(shù)減少到13,這是一個(gè)可以接受的維數(shù),并且可以簡化本來維數(shù)很高的原問題。最終我們計(jì)算得到的錯(cuò)誤率是0.099.
2.4核主成分分析
在完成線性主成分分析后,本文考慮在超平面上對數(shù)據(jù)進(jìn)行分類來得到一個(gè)更好的結(jié)果,因?yàn)閿?shù)據(jù)本身并不在線性平面上,因此本文嘗試用核主成分分析對數(shù)據(jù)進(jìn)行轉(zhuǎn)化。本文首先運(yùn)用多項(xiàng)式核函數(shù)來完成核主成分分析。和線性主成分分析的方法一樣,在這里本文確定維數(shù)為15。選擇新的數(shù)據(jù)后,本文重復(fù)高斯、多項(xiàng)式和線性三種核函數(shù)來完成核支持向量機(jī)。
我們選擇的最好的核是K(x,y)=(xTy+10)3(多項(xiàng)式核)。
2.5其他方法
2.5.1logistic回歸QDA LDA。本文嘗試用logistic回歸、QDA、LDA的方法對數(shù)據(jù)進(jìn)行分類,作為與核方法的比較,從而檢驗(yàn)先前所用的核方法是否具有顯著的優(yōu)勢。我們已經(jīng)了解到在支持向量機(jī)的運(yùn)用上,線性核函數(shù)是最佳選擇,所以我們可以推測在logistic回歸部分可以得到相似的結(jié)果。在QDA LDA部分,因?yàn)槲覀兗僭O(shè)數(shù)據(jù)是呈正態(tài)分布的,我們可以推測最終得到的結(jié)果應(yīng)該是不如核支持向量機(jī)得到的結(jié)果精確的。
2.5.2kmeans聚類。最后,本文嘗試采用kmeans聚類的方法對數(shù)據(jù)進(jìn)行分類。kmeans聚類在處理線性空間上的數(shù)據(jù)時(shí)表現(xiàn)非常好,然而在非線性空間上表現(xiàn)一般。通過應(yīng)用kmeans聚類的方法,本文也佐證了我們的數(shù)據(jù)處于非線性空間上面。在kmeans聚類這部分,我們選擇k=2(垃圾郵件和非垃圾郵件),最終本文得到的錯(cuò)誤率是0.341。
從R的輸出結(jié)果我們可以發(fā)現(xiàn),通過運(yùn)用線性支持向量機(jī),我們可以得到最小的預(yù)測錯(cuò)誤率0.06323338.同時(shí)當(dāng)我們運(yùn)用由多項(xiàng)式主成分分析處理過的數(shù)據(jù)(降低維度至15)做支持向量機(jī)時(shí),我們得到預(yù)測錯(cuò)誤率為0.07170795。這些結(jié)果表明當(dāng)我們想要得到最精確的結(jié)果時(shí),我們最好運(yùn)用線性支持向量機(jī)而不是在高維空間上直接運(yùn)用復(fù)雜的數(shù)據(jù)。再有我們還可以先采用多項(xiàng)式主成分分析對數(shù)據(jù)進(jìn)行降維處理,將維數(shù)降至15,這樣一來我們可以降低問題的復(fù)雜性,讓數(shù)據(jù)在一個(gè)較低的維度上呈現(xiàn),這樣我們也可以得到一個(gè)比較好的結(jié)果和可接受的預(yù)測錯(cuò)誤率。
在我們的應(yīng)用中,郵件分類的主要依據(jù)是高頻出現(xiàn)在垃圾郵件中的詞匯和字符,這些詞匯和字符的出現(xiàn)率是有別于普通郵件的。鑒于此,我們還可以考慮更多諸如此類的因素作為郵件分類的依據(jù)。舉個(gè)例子說明,很多垃圾郵件會(huì)在凌晨發(fā)送給用戶(即發(fā)送時(shí)間因素)。
[1]Ron Kohavi;Foster Provost(1998)."Glossary of terms".Machine Learning 30:271-274.
[2]Mannila,Heikki(1996).Data mining:machine learning,statistics,and databases.Int'l Conf.Scientific and Statistical Database Management.IEEE Computer Society.
陳銳峰(1994-),男,漢族,重慶市人,學(xué)生,統(tǒng)計(jì)學(xué)士,單位:山東大學(xué),研究方向:數(shù)理統(tǒng)計(jì)。
王碩楊(1994-),男,漢族,山東省青島市人,數(shù)學(xué)學(xué)士,單位:山東大學(xué),研究方向:數(shù)理統(tǒng)計(jì)。