- 相關推薦
堆疊去噪自編碼器在垃圾郵件過濾中的應用
摘要:針對垃圾郵件數量日益攀升的問題,提出了將堆疊去噪自編碼器應用到垃圾郵件分類中。首先,在無標簽數據集上,使用無監督學習方法最小化重構誤差,對堆疊去噪自編碼器進行貪心逐層預訓練,從而獲得原始數據更加抽象和健壯的特征表示; 然后,在堆疊去噪自編碼器的最上層添加一個分類器后,在有標簽數據集上,利用有監督學習方法最小化分類誤差,對預訓練獲得的網絡參數進行微調,獲得最優化的模型; 最后, 利用訓練完成的堆疊去噪編碼器在6個不同的公開數據集上進行測試。將準確率、召回率、更具有平衡性的馬修斯相關系數作為實驗性能評價標準,實驗結果表明,相比支持向量機算法、貝葉斯方法和深度置信網絡的分類效果,基于堆疊去噪自編碼器的垃圾郵件分類器的準確率都高于95%,馬修斯相關系數都大于0.88,在應用中具有更高的準確率和更好的健壯性。
關鍵詞:堆疊去噪自編碼器;分類;支持向量機;貝葉斯方法;垃圾郵件
引言
電子郵件因為易于使用、速度快、溝通方便等原因,已經成為人們重要的聯系方式,但與此同時,垃圾郵件的數量卻急劇地增加:卡巴斯基實驗室的研究發現,2014年第1季度的垃圾郵件數目占總郵件的66.34%;McAfee實驗室2015年2月的威脅報告表明,2014年,垃圾郵件數量大概為31.2萬億,占該年郵件總量的69.02%。其中大部分垃圾郵件帶有商業性質,但有些郵件可能會包含病毒和其他具有危害性質的內容,給用戶帶來精力的損耗和財力上的損失,文獻[1]表明,由于垃圾郵件的原因,美國接近360萬用戶的損失高達32億美元。大量的垃圾郵件同時造成帶寬浪費和郵件系統超載。
垃圾郵件過濾方法用來解決上述問題。垃圾郵件過濾的目的是為了隔離垃圾郵件和合法郵件。一般的過濾方式包括:郵件客戶端擴展和郵件服務終端過濾過程,簡單郵件傳送協議(Simple Mail Transfer Protocol,SMTP)和基于機器學習算法的方法是最常用的垃圾郵件過濾方法。一般來說,基于SMTP的過濾方法通常是指SMTP流量的檢測、電子郵件交換路由驗證和經過身份驗證的SMTP會話。基于啟發式規則的方法、黑名單/白名單的方法、協同垃圾郵件過濾也可以用來過濾垃圾郵件。機器學習方法包括郵件的分析和分類算法的部署。
文獻[2]表明在諸多過濾方法中,機器學習算法獲得更多的應用和更好的性能。貝葉斯過濾器因為計算效率高、過濾性能良好得到了廣泛的應用,文獻[3]比較了7個版本的貝葉斯過濾器,得出布爾樸素貝葉斯(Boolean Naive Bayes)、多項式布爾樸素貝葉斯(Multinomial Boolean Naive Bayes)、基本樸素貝葉斯(Basic Naive Bayes)具有較好的性能;文獻[4]提出了一些方法用來改進樸素貝葉斯過濾器,提高了過濾器的準確率; 文獻[5]將不同種類核函數和數據表示的支持向量機應用到垃圾郵件過濾中;文獻[6]提出了混合Taguchi方法、Staelin方法來優化支持向量機參數的選擇過程,并且提高了準確率。其他的諸如隨機隨林、人工神經網絡、提升方法(boosting)和裝袋(bagging)等方法也被應用到了垃圾郵件過濾。近年來隨著社交網絡、云計算、網格計算、語義網絡等技術的發展,出現了許多基于上述技術的垃圾郵件分類器;隨著垃圾郵件中圖像的增加,出現了基于圖像的垃圾郵件分類器,文獻[7]對新技術和圖像分類應用進行了介紹。文獻[8]比較了不同的特征選擇和降維技術對垃圾郵件過濾的影響。文獻[9]研究表明:相對支持向量機(Support Vector Machine, SVM)、提升方法(boosting)、最大熵方法等“淺層學習”方法而言,深度學習所學得的模型中,非線性操作的層級數更多。 淺層學習依靠人工經驗抽取樣本特征,網絡模型學習后獲得的是沒有層次結構的單層特征;而深度學習通過對原始信號進行逐層特征變換,將樣本在原空間的特征表示變換到新的特征空間,自動地學習得到層次化的特征表示。
去噪自編碼器(Denoising Autoencoder, DA)是深度學習中的變形結構,和受限玻爾茲曼機、自編碼器[9](Autoencoder)一樣作為深度學習架構中的訓練模塊,具有良好的學習數據集特征的能力。通過多個DA的堆疊可形成堆疊去噪自編碼器(Stacked Denoising Autoencoder,SDA) [10]。SDA訓練過程中的無監督學習過程和對數據的破壞過程,能進一步學習到數據集中的特征和數據結構,同時學習得到的隱含表示更適用于有監督分類。文獻[11]的研究表明,在大部分情況下,SDA要優于深度置信網絡[9](Deep Belief Network, DBN),并且因為SDA不需要吉布斯采樣,所以訓練更加容易。
本文將一個5層神經網絡結構的堆疊去噪自編碼器應用到垃圾郵件過濾,在6個公開數據集上進行測試,使用準確率、召回率和馬修斯相關系數作為測量標準,與在垃圾郵件過濾中應用最為廣泛的支持向量機算法、3種貝葉斯算法和DBN進行比較。結果表明,相對于其他幾種算法:堆疊去噪自編碼具有最好的平均性能和較好的預測能力。
一、堆疊去噪自編碼器
1.1去噪自編碼器
自編碼器 (Autoencoder) [9]的學習只是簡單地保留原始輸入數據的信息,并不能確保獲得一種有用的特征表示。因為自編碼器可能僅僅簡單地拷貝原始輸入,或者簡單地選取能夠稍微改變重構誤差,卻不包含特別有用信息的特征。為了避免上述情況,并且能夠學習更好的特征表示,需要給數據表示一定的約束。去噪自編碼器可以通過重構含有噪聲的輸入數據來解決該問題。
去噪自編碼器所要實現的功能就是學習疊加噪聲的原始數據,而它學習到的特征與從未疊加噪聲的數據學到的特征幾乎一樣, 但去噪自編碼器從疊加噪聲的輸入中學習得到的特征更具魯棒性,并且可以避免自編碼器遇到的上述問題,簡單地學習相同的特征值。
去噪自編碼器通過一個隨機的映射變換x~qD(x′|x),對原始輸入數據x進行“破壞”,從而得到一個有部分損壞的數據x′, 其中D表示數據集。
去噪自編碼器由編碼器(encoder)、解碼器(decoder)和隱含層組成。編碼器是輸入x∈[0,1]d 的”破壞”版本x′到隱含表示 y∈[0,1]d′的映射,表示為:
y=fθ(x)=s(Wx′+b)(1
這個映射的參數集合是θ={W,b},s是一個非線性的函數,例如sigmoid,W是一個的d×d′權值矩陣, b是一個偏置向量。
解碼器函數gθ′(y)將隱含表示映射回重構表示z∈[0,1]d,表示為:
z=gθ′(y)=s(W′y+b′)(2
這個映射的參數集合是θ′={W′,b′},逆映射的權值矩陣W′可被約束為權值矩陣W的轉置:即W′=WT,被稱為去噪自編碼器捆綁權重。b′是一個偏置向量。
這樣每個訓練樣例x(i)被映射成一個y(i)和一個重構表示z(i),然后通過不斷地調準優化這個模型的所有參數,從而獲得最小平均重構誤差:
L(x,z)=‖x-z‖2(3)
使z盡可能地接近初始輸入x,并且z是x′的函數。 定義聯合分布函數為:
q0(X,X′,Y)=q0(X)qD(X′X)δfθ(X′)(Y)(4)
其中:X,X′,Y是隨機變量,Y是X′的映射函數, q0(X,X′,Y)以θ為參數。這時就可以通過梯度下降算法最小化目標函數:
arg minθ,θ′ Eq0(X,X′)[L(X,gθ′(fθ(X′)))](5
去噪自編碼器的結構圖如圖1所示。
圖片
圖1去噪自編碼器結構
1.2堆疊去噪自編碼器
深度神經網絡可以分為3類:1)生成性深度結構,描述數據和相應類別的聯合概率分布,如DBN; 2)區分性深度結構,提供對模式分類的區分性能力,通常描述數據的后驗分布,如卷積網絡和堆疊去噪自編碼器; 3)混合型結構,目標是區分性的,但通常利用生成型結構的輸出會更易優化。
通常情況下,由于網絡權值的隨機初始化,基于梯度的優化容易陷入局部最小值。文獻[12]提出了一種新的貪婪逐層非監督算法來初始化深度學習網絡,文獻[10]使用此算法來初始化基于降噪自編碼器的堆疊去噪自編碼器。訓練整個網絡的參數后,在使用基于梯度的算法如梯度下降法來微調網絡參數。SDA初始化方法的有效性[13]在多個數據集中得到驗證。正如受限玻爾茲曼機的堆疊形成深度置信網絡,去噪自編碼器的堆疊可形成堆疊去噪自編碼器。用疊加噪聲輸入訓練每層網絡的去噪能力,這樣訓練出來的每層編碼器可作為一個具有容錯性能的特征提取器,同時學習得到的特征表示具有更好的健壯性。
SDA 的網絡結構如圖2 所示。通過圖1中的步驟首先破壞原始數據,然后最小化重構誤差,訓練第1層去噪自編碼器,從而學習得到了編碼器函數fθ。接下來使用此函數學習原始的數據(如圖2(a)所示),得到的結果作為第2層去噪自編碼器的輸入,用來訓練第2層的去噪自編碼器(如圖2(b)所示),從而學習到第2層的編碼器函數f(2)θ。然后重復這一過程(如圖2(c)所示),直至所有的去噪編碼器層都已經訓練完成為止。
圖片
圖2堆疊去噪自編碼器的結構
為了讓堆疊去噪編碼器具有分類識別的功能,需要在堆疊自編碼器神經網絡的最后一個隱藏層之后加個sigmoid分類器,將整個神經網絡訓練成能完成分層特征提取和數據分類任務的多重感知器。然后利用有監督學習規則,在監督學習損失函數上使用梯度下降算法,實施微調,最小化預測目標的誤差,不斷調整整個網絡的參數。微調結構如圖3所示。
圖片
圖3分類深度網絡的微調結構
二、堆疊去噪自編碼器實現
2.1堆疊去噪自編碼器的參數更新
去噪自編碼器的最終目的是找出模型最合適的參數,可以按照如下步驟更新參數。
初始化模型參數:輸入數據、可視節點個數、隱層節點個數、輸入數據破壞比例和更新的學習率(learning rate),權值矩陣和偏置向量;根據數據破壞比例,隨機選取原始數據,將其值設置為0,達到破壞數據的目的;使用sigmoid函數計算輸入數據的隱藏表示和重構表示;計算輸入數據的重構誤差;對重構誤差使用梯度下降算法,更新參數。具體過程如算法1。
算法1Denoising AutoEncoder。
程序前
輸入: X, n_vis, n_hid, c_r, l_r;
輸出: W, b, b′。
X′=get_corrupted_input(X, c_r)
1
for iter from 1 to iteration
2)
Y=get_hidden_units(X′, W, b)
3)
Z=get_reconstruction_units(Y, W, b′)
4)
cost=get_cost(X, Z)
5)
for param in parameters(W, b, b′)
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r * gparam
8)
end for
9)
end for
程序后
2.2堆疊去噪自編碼器的預訓練
在堆疊去噪自編碼器的預訓練步驟中,首先應該確定隱藏層的數目,一般情況下,使用3層的去噪自編碼器構成深度學習網絡來訓練堆疊去噪自編碼器;每一層都訓練成去噪自編碼器,并且通過最小化重構誤差,更新參數10次以上。第i-1層的輸出即為第i層的輸入,這樣通過自底向上的方式訓練堆疊去噪自編碼器。每一層的數據破壞比例和隱藏節點個數可以互不相同;最后獲取整個網絡的參數。訓練步驟如算法2。
算法2Pretrain Step。
程序前
輸入:X,n_layers, n_vis, n_hid[n_layers],c_r[n_layers], l_r[n_layers];
輸出:dA_layers[n_layers], Y_out=X。
1
for i from 1 to n_layers
2)
X′=get_corrupted_input(Y_out,c_r[i])
3)
for iter from 1 to iteration
4)
Y=get_hidden_units(X′,W[i],b[i])
5)
Z=get_reconstruction_units(Y,W[i], b′[i])
6)
cost=get_cost(Y_out, Z)
7)
for param in parameters(W[i], b[i], b′[i])
8)
gparam=get_gradient(cost,param)
9)
param=param-l_r[i] * gparam
10)
end for
11)
end for
12)
Y_out=Y
13)
end for
程序后
2.3堆疊去噪自編碼器的微調
在堆疊去噪自編碼器的微調過程中,使用有監督學習方法優化從預訓練步驟中獲得的模型參數。由于最后一個隱含層只能輸出原始數據的重構,因而不具有分類識別功能。為了讓堆疊去噪編碼器具有分類識別的功能,需要在完成微調的神經網絡的輸出層之后加入sigmoid分類器,將整個神經網絡訓練成能完成分層特征提取和數據分類任務的多重感知器。多重感知器的sigmoid層的參數和預訓練步驟中去噪自編碼器的sigmoid函數具有相同的參數,因此可以通過最小化多重感知器的預測錯誤來不斷微調模型的參數。微調步驟作用在整個堆疊去噪自編碼器過程。微調的過程如算法3。
算法3Fine Tuning Step。
程序前
input: train_batches, test_batches, iteration, l_r
1
while iter < iteration do
2)
for batch in train_batches
3)
cost=get_finetuning_cost(X)
4)
for i from 1 to n_layers
5)
for param in parameters(W[i], b[i], b′[i])
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r[i]*gparam
8)
end for
9)
end for
10)
valid_error=get_valid_error(batch)
11)
if valid_error 12)
update best_valid_error
13)
test_error=get_test_error(test_batches)
14)
if test_error 15)
update best_test_error
16)
end if
17)
end if
18)
end for
19)
end while
程序后
三、實驗與分析
3.1數據集
3.1.1數據集描述
實驗中使用了6個著名的、數據量比較大的、公開的數據集Enron[14]。其中Enron1、Enron2和Enron3的合法郵件占多數,而Enron4、Enron5和Enron6的垃圾郵件占多數。Enron數據集中正常郵件是從Enron公司的前員工的郵箱中收集的,垃圾郵件則有不同的來源。6個數據集的具體組成如表1。
3.1.2數據集預處理
1)分別從垃圾郵件文件夾和合法郵件文件夾,按照30%的比例隨機選取文件,然后合起來作為測試集,剩余的70%合起來作為訓練集。
2)分別對訓練集和測試集進行分詞處理,字母小寫化和去除停用詞。
3)將訓練集和測試集表示為詞頻逆文檔(Term FrequencyInverse Document Frequency, TFIDF)的向量形式。
4)使用特征值提取技術對特征值進行提取,選取3000個特征值作為實驗特征。
3.2實驗性能測量標準
比較出名的性能指標有垃圾郵件準確率(Spamming precision, Spr),垃圾郵件召回率(Spamming recall, Sre),合法郵件準確率(Legitimate email precision, Lpr),合法郵件召回率(Legitimate email recall, Lre),準確率(Accuracy, Acc)。在分類時,垃圾郵件的類標設置為1(正例),合法郵件的類標設置為0(負例)。其中分類的混淆矩陣(confusion matrix)如表2所示,真正例(True Positive, TP),假負例(False Negtive, FN),假正例(False Positive, FP),真負例(True Negtive, TN)。
表格(有表名)
文獻[15]的研究表明,在機器學習的分類問題中,馬修斯相關系數(Matthews Correlation Coefficient,MCC)是最好的性能測試指標之一。相比其他的指標,MCC對于準確率提供了更為平衡的測量。MCC值的返回值介于-1和+1之間:+1,表明是完美的預測;0,表明是隨機的預測;-1,則表明是一個相反的預測。MCC的計算式如下:
MCC=TP*TN-FP*FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)(6
MCC同時提供了相對合理的評價:現實情況下,垃圾郵件的數目要比合法郵件的數目更高,因此MCC可以自動調整一個假正例(即合法郵件分類為垃圾郵件)錯誤相對于一個假負例錯誤的嚴重程度,隨著垃圾郵件相對于合法郵件的比例的上升,一個假正例錯誤會比一個假負例錯誤更加嚴重,即MCC值會降低。
3.3實驗結果與分析
3.3.1隱藏層節點數目選擇對實驗的影響
由文獻[10-11]中一系列的參數實驗可以總結出,在大部分數據集上,SDA一般使用三層隱藏層就可以達到較優的效果,因此本文中使用三層的隱藏層。
首先指出,圖4和圖5中的最低點Acc值是0.7101。這種情況是SDA把所有的郵件都分類為垃圾郵件。圖4中,350,650,950是第一層隱藏層的節點數目,30表示第三層隱藏層的節點數目;圖5中,350,650,950是第一層隱藏層的節點數目,500表示第二層隱藏層的節點數目。
圖4中,固定第一、三隱藏層的節點數目,SDA在數據集Enron 5上的Acc值隨著第二層隱藏層節點數目的改變而變化。從圖4中可看出,固定第一、三隱藏層節點數目時,當第二層節點個數過小或者過大時,Acc值會達到最低點0.7101,而第二層節點個數處于兩者之間時,Acc值正常波動。第二、三隱藏層節點固定時,可以看出,當第一層的節點數目越大時,第二層隱藏層節點的數目受到的限制更大。
對于圖4中出現的隨著第二層隱藏層節點數目的增加,Acc值會降至最低,可以通過改變第三層隱藏層節點數目來改變。圖5中,固定第一、二隱藏層節點的數目,SDA在數據集Enron 5上的Acc值隨著第三層節點數目的改變而變化。可以看出,為了取得較優的結果,第一層隱藏層的節點數越多,第三隱藏層需要的節點數也越多。
3.3.2在6個數據集上的實驗結果
為了書寫方便,下面描述中,Basic表示基本樸素貝葉斯方法、Bool表示布爾樸素貝葉斯方法、MN Bool表示多項式布爾樸素貝葉斯方法。
在6個Enron 數據集上的實驗結果如表3~8所示,其中加下劃線的數據表示該實驗中最大的MCC值。
表格(有表名)
表3Enron1上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic91.3385.0993.4896.3692.860.831
Bool96.0051.6163.3297.4972.780.540
MN Bool82.6762.0079.3591.8280.310.578
SVM83.3387.4195.1193.7091.700.796
DBN91.5690.7596.1996.5494.850.875
SDA90.2292.9197.1896.0595.160.882
表格(有表名)
表4Enron2上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic80.0097.5799.3193.5394.380.850
Bool95.3381.2592.4598.3093.190.836
MN Bool74.0098.2399.5491.7793.020.814
SVM90.6790.6796.8096.8095.230.875
DBN95.9891.6897.0298.6096.750.916
SDA95.9895.5698.4798.6297.830.943
表格(有表名)
表5Enron3上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic57.33100.00100.0086.2788.410.703
Bool99.3399.3399.7599.7599.640.991
MN Bool62.00100.00100.0087.5889.670.737
SVM91.3396.4898.7696.8396.740.917
DBN96.4489.6795.8498.6396.000.903
SDA92.6799.2999.7597.3297.820.945
表格(有表名)
表6Enron4上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic94.67100.00100.0086.2196.000.903
Bool98.00100.00100.0094.3498.500.962
MN Bool96.89100.00100.0091.4697.670.941
SVM98.89100.00100.0096.7799.170.978
DBN96.9697.9894.0091.1696.220.901
SDA99.9397.2691.5699.7697.840.942
表格(有表名)
表7Enron5上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic89.6798.8097.3379.3591.890.825
Bool87.23100.00100.0076.1490.930.815
MN Bool94.29100.00100.0087.7295.950.909
SVM89.4099.7099.3379.2692.280.837
DBN96.3799.4498.6791.7497.040.931
SDA98.7399.4598.6796.9498.710.969
表格(有表名)
表8Enron6上各個分類器的實驗結果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic86.0098.9897.3369.8688.330.757
Bool66.8999.6799.3350.0075.000.574
MN Bool92.8997.2192.0081.1892.670.816
SVM89.7895.2886.6773.8690.050.727
DBN96.3798.5695.7589.7996.210.902
SDA99.0498.4595.3397.0698.110.949
通過觀察6個數據集6種分類器的實驗數據可以分析:在實驗的大部分數據集上,SDA垃圾郵件過濾器的性能超過了其他幾種分類器。同時在有些情況下SDA的過濾效果遠遠地優于SVM和NB分類器:比如在Enron6數據集上的結果表明,SDA的垃圾郵件召回率達到了99.04%,而SVM卻只達到了89.78%。這意味著在Enron6數據集上,SDA要比SVM多識別9.26%的垃圾郵件,同時因為具有比SVM更好的合法郵件召回率,所以相對于SVM,SDA垃圾郵件過濾的總體性能提升要大于9%。在實際的應用中,這些差異將會非常重要。這種對比現象在數據集Enron1、Enron2、Enron3和Enron5也可以得到。在數據集Enron4上,SDA過濾效果稍遜于SVM,但是相差不大。
對于實驗中所有樸素貝葉斯過濾器,實驗數據表明它們之間達到了相似的結果,并且不具有太大的差異性。相對堆疊去噪自編碼器過濾器和支持向量機過濾器在所有的數據集上的準確率(Acc)達到90%以上,而基于樸素貝葉斯方法的過濾效果要差些。
實驗中的DBN的分類效果,總體上要優于其他4幾種分類器,但是SDA的分類效果要稍微優于DBN。
表中的實驗數據表明堆疊去噪自編碼器在垃圾郵件過濾中具有更好的效果:在實驗的所有數據集上,堆疊去噪自編碼器的準確率(Acc)都高于95%;在實驗的所有數據集上,堆疊去噪自編碼器的MCC值都高于0.88,這表明堆疊去噪自編碼器應用于垃圾郵件過濾中取得相對完美的預測。上述結果表明將堆疊去噪自編碼器應用到垃圾郵件過濾中是可行的。
四、結語
本文提出了一種新的基于堆疊去噪自編碼器的垃圾郵件分類器。在6個著名的、數據量較大的、公開的數據集上進行測試,將實驗結果同基于支持向量機和貝葉斯方法的垃圾郵件過濾器的結果進行比較。對比分析表明,本文所提出的垃圾郵件過濾器表現出更好的性能。特別是基于堆疊去噪自編碼器的垃圾郵件分類器在6個數據集上具有最好的平均性能并且準確率(Acc)都高于95%。這些表明將堆疊去噪自編碼器應用到垃圾郵件過濾中是可行的。
未來的工作將會集中在以下3個方面:1)如何更好地選擇深度置信網絡隱藏層數以及每層的單元個數,如何選擇學習率等參數來提高算法的性能。2)在諸如TRE05、TRE06、TRE07等更大的數據集上進行更多的實驗來驗證實驗結果,同時也希望同一些諸如Bogo filter、Spam Assassin等開源和商業垃圾郵件過濾器進行比較。3)應把垃圾郵件過濾看作是共同進化問題,因為垃圾郵件過濾器努力提高預測能力的同時,垃圾郵件遞送者也不斷地改變垃圾郵件內容的表現形式以達到欺騙過濾器的目的,因此一個有效的垃圾郵件過濾器應該能夠有效地檢測垃圾郵件特征的變化,從而不斷地調整自身的規則。
參考文獻:
[1]GARTNER. Gartner survey shows phishing attacks escalated in 2007; more than $3 billion lost to these attacks[EB/OL].[20150220].http://www.gartner.com/it/page.jsp?id=565125.
[2]CORMACK G V. Email spam filtering: a systematic review[J]. Foundations and Trends in Information Retrieval, 2007, 1(4): 335-455.
[3]ALMEIDA T A, YAMAKAMI A. Advances in spam filtering techniques[M]. Berlin: Springer, 2012: 199-214.
【堆疊去噪自編碼器在垃圾郵件過濾中的應用】相關文章:
小波去噪在光纖甲烷傳感器檢測中的應用03-07
基于提升小波構造在圖像去噪的應用研究03-07
紅外遙控在汽車中的應用03-19
淺析力學在機械中的應用05-19
竹子在設計中的應用價值12-02
RPMS在煉化企業中的應用12-09