彭革

摘要:樸素貝葉斯算法是理想化的算法模型,且基于條件特征相互獨立的假設,不能滿足實際應用。本文通過探究樸素貝葉斯算法的原理和操作步驟,并介紹基于此類算法的優化和改進,從而規避算法的不足,同時提高算法工作效率和文本過濾準確度。
關鍵詞:樸素貝葉斯;算法優化;文本過濾
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)14-0244-02
1引言
隨著科學技術的飛速發展發展,伴隨5G時代的到來。電子郵件成為人們日常生活和工作交流中不可或缺的方式Z--,但垃圾郵件也一直困擾著我們。根據卡巴斯基實驗室表明,2019年第三季度,全球郵件流量中垃圾郵件的平均比例為56.26%,其中,前5個垃圾郵件來源國:中國排名第一(20.43%),其次是美國(13.37%)和俄羅斯(5.60%)。第四位是巴西(5.14%),第五位是法國(3.35%)。由此可見,我國的垃圾郵件處理形式依然不容樂觀。因此,對于垃圾郵件過濾的需求愈發強烈,對垃圾郵件過濾技術的研究越來越先進。
2研究現狀
垃郵件過濾的手段主要有以下3種。
(1)黑白名單過濾。該方法主要分為黑白2個名單列表,當某個IP地址頻繁發送垃圾郵件,這個lP地址將會被加人黑名單中,此后默認該地址發送的郵件為垃圾郵件。郵件白名單,顧名思義,也就是沒有被標記為發送垃圾郵件的地址名單,此類郵件能夠正常發送與接收。實時黑白名單技術,將黑白名單列表交給第三方的技術部門來維護,通過DNS來動態檢測某個IP地址是否存在列表中。但這種方法存在弊端,當發送者采用動態或隱藏IP地址,那么此方法將受到限制。
(2)基于規則的過濾技術。決策樹模型是基于規則過濾技術的典型代表,早在1966年,在國外學者研究的關于概念學習的系統中就出現了決策樹模型的身影,到1979年,迭代分類器算法的提出,再到后來這類算法在處理連續值屬性數據的缺點上進行了改進。現在基于規則的過濾技術的算法雖然在一定程度上能夠滿足垃圾郵件的過濾需求,但其核心原理都是根據與預設規則進行比較,從而來判定是否為垃圾郵件,并且這些規則一般都是靜態設置的,缺少可信度的學習策略,在規律不明顯的應用領域中過濾效果較差,準確度較低。
(3)基于內容統計的過濾技術。這類方法效率較高、速度較快、耗費較少,在文本過濾方面應用較為廣泛。基于此類過濾技術中,最常用的算法是樸素貝葉斯算法。其中樸素貝葉斯算法實現思想簡單、分類速度快,使用較少的訓練集就能夠獲取一個待檢文本數據的預估值,通常在使用樸素貝葉斯算法的時候,都要先對其樣本特征屬性進行分析。找到一個樣本屬性對樣本數據全局的影響與其他特征屬性是相互獨立的,而這種假設往往是不符合實際應用的。因此,這類算法分類和過濾的準確率存在誤差。
3樸素貝葉斯算法模型
樸素貝葉斯是一種基于貝葉斯決策理論的分類方法,它是貝葉斯分類器的一種拓展與衍生。樸素貝葉斯是在實踐問題中基于“獨立特征”的一種監督學習算法,其核心思想就是:將新數據與已知數據集作比較,選擇高概率的結果來對新數據進行決策的一類學習方法。因此,又稱樸素貝葉斯分類法為基于概率論的分類方法。
樸素貝葉斯模型的一般過程為:收集數據(實際問題的數據集)—>準備數據(對數據類型進行處理)一>分析數據—>訓練算法(根據數據不同特征,計算其條件概率)—>測試算法(計算并分析算法的錯誤率)一>算法的應用(把算法運用到實際問題)。
機器學習的一個重要應用就是實現文檔的自動分類,而基于樸素貝葉斯算法的分類算法在這一方面有著顯著的優勢。下面將介紹樸素貝葉斯算法的具體操作原理:
3.1收集準備數據
因為樸素貝葉斯是根據樣本特征分析的方法,而在機器學習的過程中,算法的假設與決策難免存在風險或失誤。所以找出樣本最優的特征類型數據就是該算法的關鍵。
在實際操作中,為了算法能夠更好地測試和基于條件概率的運算。在實際問題的處理中,首先,需要將文本文檔進行基于詞向量的切分處理,使之轉換為數據向量,并對樣本數據進行特征分類,規定具體的特征標簽,以便于算法的計算和自動檢測。然后,獲取需要效驗和測試的數據,基于python程序對樣本進行檢測并給出結論。
3.2訓練并測試算法模型
公式演變到這一步,再計算條件概率也就簡單明了,算法的分類主旨也就變得清晰了很多。
3.3對算法進行測試以及問題的修復
在機器學習方法中,往往會出現許多缺陷。對于樸素貝葉斯分類方法而言,計算概率值為0和下溢這兩類錯誤導致的問題是尤為常見的。
(1)對于計算概率值出現為0的情況,即這一特征類別在測試樣本中沒有出現過,從而會使計算公式中某一個p(xj ci)的值為0,造成最后總乘積為0。這種情況很常見,我們只需在python程序中將每個屬性特征在向量化的時候將初始值設定為1,并將分母初始化值設定為2,即可避免這種不必要的干擾。
4優化的樸素貝葉斯算法
基于前面對于樸素貝葉斯算法內容的介紹,對于其工作的原理已經有了清晰的認識,但是在應用中往往不能滿足實際需求。所以,基于現階段樸素貝葉斯算法的垃圾郵件的分類技術還需要進行改進和優化。
最突出的優化手段有以下三種。
(1)優化的樸素貝葉斯增量學習算法
樸素貝葉斯算法結合增量學習的方法。待檢樣本數據的分類,是一個動態的過程,在不斷更新的垃圾文檔樣本當中,往往會有新的特征屬性出現,如果待檢樣本出現某一個詞向量不存在于先驗樣本的訓練集中,那么系統對這個詞將無法判斷。結合增量學習的方法,當算法模型檢測到某個詞向量不存在于先驗樣本中,于是,將該詞語添加至屬性列表中,然后重新計算相關概率。基于此,添加了增量學習方法進行改進和優化的樸素貝葉斯算法在垃圾郵件分類過程中將是一個動態學習的過程,根據不斷變更的網絡語言以及層出不窮的垃圾信息,實時更新,這樣才能具有更好的適應能力和篩查力度,從而提高文檔過濾的準確率,達到更好的機器學習效果。
(2)利用支持向量機改進的樸素貝葉斯算法
首先利用樸素貝葉斯算法對樣本集進行初次訓練,然后利用支持向量機構造一個最優分類超平面,每個樣本根據與其距離最近樣本的類型是否相同進行取舍,這樣既降低樣本空間規模,又提高每個樣本類別的獨立性,最后再次用樸素貝葉斯算法訓練樣本集從而生成分類模型。仿真實驗結果表明,該算法在樣本空間進行取舍過程當中消除了冗余屬性,可以快速得到分類特征子集,提高了垃圾郵件過濾的分類速度、召回率和正確率。
(3)改進EM算法的樸素貝葉斯分類算法
EM算法因其操作簡單,結構穩定的特點被廣泛運用于數據處理問題當中,該算法的核心思想是通過數據迭代的方式,通過期望值最大化不完整數據的概率和預估值。該算法也存在弊端,那就是對于初始值的設定嘲。一個不恰當的初始值,會使EM算法無法恰好滿足局部最優也使得算法模型全局最優,于是就有了基于EM算法的樸素貝葉斯分類方法。首先,計算缺損數據與完整數據的相關度,將其相關度最大的數據項所對應的特征屬性選定為初始值,并求出極大似然估計,然后通過EM算法進行迭代,從而完成缺失數據的預測和填補,最后再利用樸素貝葉斯分類算法對已經處理過的完整數據進行分類和過濾。該方法有扎實的理論基礎,同時也提高了算法分類的準確率。
5結束語
本文基于現今垃圾郵件問題日益嚴峻的大背景下,根據樸素貝葉斯分類模型為基礎展開。首先談到了目前比較主流的垃圾郵件過濾的三種方法一黑白名單過濾、基于規則的過濾技術、基于內容統計的過濾技術。每種方法都有各自的優勢,同時也存在弊端。于是就基于內容統計的過濾技術中的樸素貝葉斯算法為出發點,深人認識了樸素貝葉斯算法模型的內容與其工作原理。該算法是一種理想化的貝葉斯衍生模型,依賴于條件獨立,特征互不影響的假設。在算法模型的構建過程中會出現下溢和計算概率值為0的情況,樸素貝葉斯算法要想在垃圾郵件過濾實踐當中還不能夠獨當一面。文章最后探究了通過改進和優化樸素貝葉斯算法的三種方法一優化的樸素貝葉斯增量學習算法、利用支持向量機改進的樸素貝葉斯算法、改進EM算法的樸素貝葉斯分類算法,這三類優化算法都能提高過濾效率和準確率。現今,垃圾郵件將不再僅僅只局限于文本的形式,還會以圖片、視頻、音頻等各種形式出現,本文也只對文本形式的垃圾郵件過濾進行概述,所以,要想徹底過濾掉垃圾郵件,還需要不斷的探索和研究。