基于改進(jìn)平衡Winnow算法的短信過(guò)濾系統
2 構造分類(lèi)器
訓練分類(lèi)器是研究的重點(diǎn),采用Balanced Winnow 算法并對其進(jìn)行改進(jìn)。
2.1 Winnow 分類(lèi)算法
Winnow 算法是二值屬性數據集上的線(xiàn)性分類(lèi)算法。線(xiàn)性分類(lèi)問(wèn)題中表示分類(lèi)界限的超平面等式如下:
w0α0+w1α1+w2α2+…+wkαk=0 , 其中:α0,α1,…,αk分別是屬性的值;w0,w1, …,wk是超平面的權值。如果其值大于0 , 則預測為第一類(lèi)否則為第二類(lèi)。
Winnow 算法是錯誤驅動(dòng)型的分類(lèi)算法, 即當出現錯分的實(shí)例時(shí)才更新權值向量。設定兩個(gè)學(xué)習系數α 和β(其中α>1,β<1) , 通過(guò)將權值乘以參數α( 或β) 來(lái)分別修改權值。
2.2 Balanced Winnow 分類(lèi)算法
標準的Winnow 算法不允許有負的權值, 于是就有了另一個(gè)稱(chēng)為平衡的Winnow 版本, 允許使用負的權值。
對Winnow 算法的基本形式, 權重向量的每一維都是正數。Balanced Winnow 是用w+-w-代替w, 當

(1) 如果

(2) 如果

在實(shí)驗中, 采用文獻[7] 中統一α 和β 為一個(gè)參數的方法, 令β=1/α, 沒(méi)有影響分類(lèi)效果, 但有效簡(jiǎn)化了參數的選擇??梢詾椴煌念?lèi)別確定不同的θ 值, 但實(shí)驗表明: 對于不同的類(lèi)別選擇同樣的θ 值, 結果幾乎是一樣的, 所以在每次獨立的實(shí)驗中都取相同的θ 值, 大小是訓練文本所含的平均特征數, 而初始的w+和w-分別取全2 和全1 向量。
在平衡Winnow 算法中, 一旦參數α、β 和閾值θ 確定下來(lái)后, 將在訓練過(guò)程中不斷更新權重向量w+和w-至最適合這組參數。因此對參數的依賴(lài)較小, 需要手工調整的參數不多。
2.3 去除野點(diǎn)
在短信過(guò)濾中,短信樣本是由手動(dòng)或自動(dòng)方式收集的, 收集的過(guò)程中難免會(huì )出錯, 因此短信樣本集中可能存在一些被人為錯分的樣本點(diǎn), 即野點(diǎn)。這些野點(diǎn)在訓練時(shí), 會(huì )使得分類(lèi)器產(chǎn)生嚴重的抖動(dòng)現象, 降低分類(lèi)器的性能。因此,好的分類(lèi)器應具有識別野點(diǎn)的能力。
對于Winnow 算法,若樣本中存在野點(diǎn), 則野點(diǎn)在訓練時(shí)以較大的概率出現在兩分類(lèi)線(xiàn)之外, 且分類(lèi)錯誤。
這些野點(diǎn)對分類(lèi)器的訓練過(guò)程產(chǎn)生很大的影響, 可能會(huì )造成分類(lèi)器的“ 過(guò)度學(xué)習” 。因此引入損失函數, 按照損失函數的定義, 這些野點(diǎn)損失較大, 因此可以通過(guò)給損失函數設置一個(gè)上界函數來(lái)處理線(xiàn)性分類(lèi)器中的野點(diǎn)問(wèn)題, 如圖1 所示。

圖1 所示為兩類(lèi)線(xiàn)性可分情況, 圖中實(shí)心點(diǎn)和空心點(diǎn)分別表示兩類(lèi)訓練樣本,H 為兩類(lèi)樣本沒(méi)有被錯誤地分開(kāi)的分類(lèi)線(xiàn),H1 和H2 分別為平行于分類(lèi)線(xiàn)H 且與分類(lèi)線(xiàn)H 的距離為單位距離的兩條直線(xiàn)。直線(xiàn)G(t)為平衡Winnow 算法中第t 輪迭代后損失函數的上界線(xiàn)。該上界線(xiàn)是關(guān)于迭代次數t 的函數, 因此可以將該上界線(xiàn)G(t)對應的上界函數記為g(t)。從圖1 可知, 在直線(xiàn)G(t)左下側誤分樣本的損失較少, 可以認為這些誤分樣本是由于當前分類(lèi)器的性能較低而誤分的; 在直線(xiàn)G(t) 右上側誤分的樣本由于在第t 輪迭代后損失仍較大, 則可以認為這些誤分的樣本是野點(diǎn)。根據線(xiàn)性分類(lèi)器和野點(diǎn)的性質(zhì)可知,上界函數g(t)具有以下性質(zhì):
(1) 隨著(zhù)Winnow 算法中迭代次數t 的增加, 上界函數g(t) 單調遞減, 并且遞減的速率也隨著(zhù)t 的增加而遞減, 即上界函數的導數g(t)為單調遞減函數;(2) 上界函數既不能太大, 也不能太小。太大會(huì )降低判斷野點(diǎn)的能力, 太小則會(huì )誤判正常樣本為野點(diǎn)。
根據上界函數的這些特性, 可以考慮一個(gè)平行于分類(lèi)線(xiàn)H 的線(xiàn)性函數作為損失函數的上界函數。即g(t)=

在每一輪訓練中, 若該樣本的G(t) 值大于分類(lèi)線(xiàn)的值, 并且超過(guò)一定的閾值, 且不屬于該類(lèi), 則判定該樣本具有野點(diǎn)的性質(zhì), 應當在訓練集中將該樣本去除, 以便提高下一輪訓練的準確性。這樣不僅有效削弱了分類(lèi)器的抖動(dòng)現象, 而且提高了分類(lèi)器的性能。
評論