999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

機器學習在垃圾郵件過濾中的實現

2021-04-22 16:10:08馮軍軍李力
電腦知識與技術 2021年8期
關鍵詞:特征提取

馮軍軍 李力

摘要:隨著通信技術的發展,垃圾郵件越來越多,對個人和中小企業危害也越來越大。該文介紹垃圾郵件識別使用的數據集以及特征提取方法,包括詞袋模型和詞匯表模型,然后介紹樸素貝葉斯、支持向量機、多層感知機、卷積神經網絡和循環神經網絡在垃圾郵件過濾的實現,經過對比發現多層感知機和卷積神經網絡效果最好。

關鍵詞:垃圾郵件;特征提取;NB;SVM;MLP;CNN;RNN

中圖分類號:TP393? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)08-0154-02

1 引言

垃圾郵件是指收件人拒絕接收或者不同意接收但是仍然收到的郵件[1],主要包含商業類、廣告類、培訓類、推廣類、報價類等郵件。如2020年護網爆出的案例,就是攻擊方通過信息收集獲取防守方用戶的郵箱,通過群發郵件,引誘用戶更新釣魚flash,從而實現權限獲取進而內網滲透獲取關鍵信息。為避免垃圾郵件影響人們的正常工作和生活,垃圾郵件檢測技術隨之產生。傳統的垃圾郵件檢測方法有關鍵詞、黑白名單、校驗碼法等[2]。這些傳統的垃圾郵件檢測方法通常存在檢測效果差、易被逃避等缺陷,為此本文引入機器學習方法解決這一問題。

垃圾郵件檢測的關鍵在于識別哪些郵件是垃圾郵件,可以將該問題歸結于機器學習中的文本分類任務。關于此類任務的數據通常是高維數據,本文選擇常見的機器學習算法來進行垃圾郵件過濾的實現。

2 數據集和工具介紹

數據集采用開源的Enron-Spam[3]數據集,實現過程中,采用python語言。主要采用的模塊為TFLearn,該模塊可以直接在GitHub上面進行下載。它可以快速搭建實驗環境,容易實現深度神經網絡,內置神經網絡層、正則化器、優化器等,支持多輸入、多輸出等模式。

3 特征提取

垃圾郵件的特征提取,樸素貝葉斯算法、支持向量機算法和多層感知機算法,采用的詞袋模型,該模型利用單詞構成的集合,如果一個單詞在文檔中出現不止一次,統計其出現的頻數。郵件的特征提取,采用的sklearn.feature_extraction.text模塊的CountVectorizer函數。利用該函數,將文本進行詞袋處理,獲取對應的特征名稱,從而獲取詞袋數據,完成詞袋化。該數據集在實現過程中,把郵件當成一個字符串處理。然后在字符串處理過程中,過濾掉空白符,例如回車符、換行符等。最后遍歷全部郵件文件,加載數據。在詞袋模型中,把郵件數據進行向量化,將正常郵件標記為0,垃圾郵件標記為1。

垃圾郵件的特征提取,卷積神經網絡算法和循環神經網絡算法采用的是詞匯表模型。詞匯表模型是在詞袋模型的基礎上,根據郵件內容生產的詞匯表對原有句子按照單詞逐個進行編碼。通過VocabularyProcessor()函數,定義文本的最大長度、詞頻的最小值、分詞函數等。在文本的最大長度初始化時,如果文本的長度大于最大長度,那么會截斷文本,反之則用0填充。在詞頻最小值初始化時,如果出現次數小于最小詞頻則不會被收錄到詞表中。本文中,通過VocabularyProcessor函數對獲取的ham和spam數據,進行處理,獲取詞匯表。

4 深度學習實現

本課題采用樸素貝葉斯算法、支持向量機算法、多層感知機算法、卷積神經網絡算法和循環神經網絡算法五種機器學習的算法,對郵件數據集進行識別。實現處理流程,如圖1所示。如圖1所示,在實現過程中,首先將數據樣本根據算法要求進行特征提取(樸素貝葉斯算法、支持向量機算法、多層感知機算法實現用的詞袋模型,卷積神經網絡算法和循環神經網絡算法實現用的詞匯表模型);特征提取后把數據集隨機劃分為訓練集和測試集,測試集的比例為40%;接著根據機器學習算法在訓練集上進行訓練,獲取模型數據;最后根據模型數據,在訓練集上進行預測,從而驗證算法的預測效果。

4.1 樸素貝葉斯算法[4]

樸素貝葉斯算法(NB),該算法實現垃圾郵件分類的過程中,將數據集合隨機分配訓練集合和測試集合,實例化樸素貝葉斯算法后,針對訓練集進行訓練,并針對測試集進行預測,最后輸出評估結果的準確度和TP、FP、TN、FN(FN:False Negative,真實郵件判定為垃圾郵件,FP:False Positive,垃圾郵件判定為正常郵件,TN:True Negative,垃圾郵件判定為垃圾郵件,TP:True Positive,正常郵件判定為正常郵件)4個值。該方法中,由于最大特征數對結果有影響,把最大特征數,從1000到20000對評估準確度進行測試。發現最大特征數在13000左右的時候,系統準確率最大。但是隨著特征數越大,耗時越大。根據結果,最終選擇最大特征數為5000的情況下,整個系統準確度為94.33%,結果如表1所示。

測試關鍵代碼如下:

gnb = GaussianNB()

gnb.fit(x_train,y_train)

y_pred=gnb.predict(x_test)

最后調用metrics.accuracy_score函數和metrics.confusion_matrix函數,輸出TP、FP、TN、FN。

4.2 支持向量機算法[5]

支持向量機算法(SVM),該算法實現垃圾郵件分類過程中,數據特征提取、訓練集獲取數據模型、測試方法與樸素貝葉斯算法一致。最終在詞袋最大特征數為5000的情況下,整個系統準確度為90.61%,其驗證結果如表2所示。

測試代碼如下:

clf = svm.SVC()

clf.fit(x_train, y_train)

y_pred = clf.predict(x_test)

最后調用metrics.accuracy_score函數和metrics.confusion_matrix函數,輸出TP、FP、TN、FN。

4.3 多層感知機算法[6]

多層感知機算法(MLP),該算法實現過程中,構造兩層隱藏層,每層節點數分別為5和2。根據詞袋模型,將數據集進行特征提取,按照分配的訓練集和測試集,對于訓練集進行多層感知機算法進行實例化,然后根據數據模型,對測試集進行預測,最后輸出評估結果的準確度和TP、FP、TN、FN4個值。在詞袋最大特征數為5000的情況下,整個系統準確度為98.01%,其驗證結果如表3所示。代碼實現,調用clf.fit(),傳入訓練集數據,然后調用clf.predict(),獲取測試集的結果。最后調用metrics.accuracy_score函數和metrics.confusion_matrix函數,輸出TP、FP、TN、FN。

4.4 卷積神經網絡算法[7]

卷積神經網絡算法(CNN),該算法實現過程中,特征提取采用詞匯表模型,將數據集合隨機分配訓練集合和測試集合。實例化過程中,其中卷積神經網絡模型,使用3個數量為128核,長度分別為3、4、5的一維卷積函數處理數據。使用卷積神經網絡算法在訓練集上訓練,通過對訓練數據進行了5輪訓練,獲取數據模型,使用模型數據在測試集上進行預測,最終實現對測試數據集的準確度為98.30%。代碼實現中,調用tflearn.DNN(),根據網絡,生成model對象。然后調用fit(),設置n_epoch為5,表示5輪訓練,設置batch_size為100,表示一次用100個數據計算參數的更新。

4.5 循環神經網絡算法[8]

循環神經網絡算法(RNN),該算法實現過程中,特征提取及數據處理與循環神經網絡算法一樣。在訓練集實例化循環神經網絡算法過程中,定義循環神經網絡模型,使用最簡單的單層LSTM結構。使用循環神經網絡算法在訓練集上訓練,通過對訓練數據進行了5輪訓練,獲取數據模型,使用模型數據在測試集上進行預測,最終實現對測試數據集的準確度為94.88%。代碼實現中,調用lstm()函數,實現單層LSTM結構。調用tflearn.DNN(),根據網絡,生成model對象。然后調用fit(),設置n_epoch為5,表示5輪訓練,設置batch_size為10,表示一次用10個數據計算參數的更新。

5 結束語

以Enron-Spam數據集為訓練和測試數據集,本文通過詞袋模型和詞匯表模型對數據集進行特征提取,通過NB、SVM、MLP、CNN和RNN,五種機器學習算法實現了垃圾郵件識別。通過比較發現,MLP和CNN的識別率很好,達到了98%以上。同樣,在樸素貝葉斯算法實現的過程中,發現并非是詞袋抽取的單詞個數越多,垃圾郵件的識別率最高,而是有個中間點可以達到最大效果??傊?,隨著機器學習算法的發展,在垃圾郵件識別過程中,機器學習算法的應用會越來越多。

參考文獻:

[1] 羅婧雯.垃圾郵件過濾技術綜述[J].電腦知識與技術,2016,12(14):13-14.

[2] 李敬瑤.反垃圾郵件過濾技術方法的研究[J].福建電腦,2016,32(10):61-62.

[3] Enron-Spam數據集http://www2.aueb.gr/ users/ion/data/enron-spam/(DB/OL).

[4] 彭革.基于樸素貝葉斯算法在垃圾郵件過濾中的研究綜述[J].電腦知識與技術,2020,16(14):244-245,247.

[5] 徐娟,卞良.基于SVM的中文垃圾郵件預測系統研究[J].數字技術與應用,2020,38(1):38-39.

[6] 趙俊生,候圣,王鑫宇,等.基于集成學習的圖像垃圾郵件過濾方法[J].計算機工程與科學,2020,42(6):1049-1059.

[7] 馬義超.基于卷積神經網絡的手寫數字識別算法研究與應用[D].焦作:河南理工大學,2019.

[8] 伍逸凡,朱龍嬌,石俊萍.人工神經網絡在信息過濾中的應用[J].吉首大學學報(自然科學版),2019,40(3):17-22.

【通聯編輯:代影】

猜你喜歡
特征提取
特征提取和最小二乘支持向量機的水下目標識別
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
基于DNN的低資源語音識別特征提取技術
自動化學報(2017年7期)2017-04-18 13:41:09
Bagging RCSP腦電特征提取算法
一種基于LBP 特征提取和稀疏表示的肝病識別算法
基于DSP的直線特征提取算法
基于改進WLD的紋理特征提取方法
計算機工程(2015年4期)2015-07-05 08:28:02
淺析零件圖像的特征提取和識別方法
機電信息(2015年3期)2015-02-27 15:54:46
基于CATIA的橡皮囊成形零件的特征提取
主站蜘蛛池模板: 久久国产拍爱| 香蕉伊思人视频| 国产成人免费| 中文字幕波多野不卡一区| 久久亚洲国产一区二区| 网友自拍视频精品区| av一区二区人妻无码| 国产午夜精品一区二区三| 国产精品第一区在线观看| 四虎永久免费地址在线网站| 精品国产中文一级毛片在线看 | 亚洲成网站| 亚洲美女一区| 欧美性猛交一区二区三区| 亚洲成aⅴ人片在线影院八| 四虎影视国产精品| 亚洲午夜久久久精品电影院| 欧美中日韩在线| 玩两个丰满老熟女久久网| 亚洲熟妇AV日韩熟妇在线| 久久免费精品琪琪| 高清无码手机在线观看| 色网站在线视频| 99精品这里只有精品高清视频 | 国产精品嫩草影院视频| 中文字幕无码制服中字| 久久精品无码一区二区日韩免费| 国产成人毛片| 欧美国产日韩在线播放| 都市激情亚洲综合久久| 国产男女XX00免费观看| 亚洲精品国产成人7777| 欧美a级完整在线观看| 亚洲区一区| 欧美亚洲国产日韩电影在线| 欧美成人日韩| 99精品久久精品| 91精品小视频| 亚洲欧美日韩动漫| 免费国产一级 片内射老| 亚洲欧美另类专区| 亚洲欧美成人在线视频| 久久精品午夜视频| 久久久亚洲色| 亚洲欧美不卡中文字幕| 青草视频在线观看国产| 亚洲网综合| 国产精品一线天| 一级黄色欧美| 国产一区二区网站| 亚洲日韩Av中文字幕无码| 亚洲 欧美 日韩综合一区| 亚洲天堂精品视频| 日韩精品中文字幕一区三区| 中文字幕在线观看日本| 网友自拍视频精品区| 鲁鲁鲁爽爽爽在线视频观看| 国产精品亚洲精品爽爽| 一级一级特黄女人精品毛片| 91精品伊人久久大香线蕉| 国产欧美日韩专区发布| 中文字幕亚洲乱码熟女1区2区| 色综合天天视频在线观看| 国产97色在线| 色婷婷亚洲十月十月色天| 久久精品这里只有国产中文精品| 爆操波多野结衣| 精品国产成人a在线观看| 亚洲人成网址| 天天爽免费视频| 香蕉久久国产超碰青草| 国产黄色片在线看| 激情六月丁香婷婷| 视频二区中文无码| 婷婷亚洲综合五月天在线| 亚洲男女天堂| 71pao成人国产永久免费视频| 国产精品99久久久久久董美香| jizz在线观看| 久久亚洲日本不卡一区二区| 最新国产午夜精品视频成人| 在线观看亚洲精品福利片|