【正文】
,這是很重要的。scale對提高算法預測準確性十分重要。grid網格搜索,用來對CSVC中的兩個可變參數C和γ進行篩選,挑選出對訓練樣本最佳的組合,然后再來訓練模型。,因此需要先安裝python軟件包。網格搜索中的交叉驗證默認分為5份,另外訓練模型時也可采用交叉驗證的方法,份數是作為參數的(v),可靈活設置。網格搜索的方法在上面介紹gamma參數時已說明。另外LIBSVM在做網格搜索時調用gnuplot來畫出lg(C)和lg(gamma)的輪廓。train利用grid過程確定的c和gamma參數的值以及其他相關參數來訓練己有樣本集,建立已有訓練樣本的模型。predict利用以上建立的模型,對未知數據進行預測。如果待測樣本集中每個樣本有分類號,則可測出模型的預測準確率,如果沒有分類號,就是真的預測值了。支持向量機的一般實驗過程:(1)將樣本分為訓練樣本和測試樣本,將訓練樣本的數據按照軟件包的格式要求,進行輸入。(2)將數據進行規(guī)格化處理,調用scale過程。利用稀疏矩陣的特點,減少存儲空間和運算次數。(3)選擇核函數RBF,則利用grid過程,進行交叉驗證,得出核函數中需要確的兩個參數C和gamma的最佳組合,用于下一步模型訓練。(4)調用train過程,用grid出來的C和gamma,建立己有樣本的模型。因為訓練樣本中,樣本所屬類別分布不均,給小樣本加了權重。(5)將測試樣本的數據送到上一步建立的模型中測試,給出模型準確率。首先需要再次說明的是,因為是二分類,因此實驗中選擇C-SVC,其次,在LIBSVM中,只有RBF核函數才可以進行交叉驗證,求最優(yōu)C與gamma,因此只選擇了RBF核函數作為實驗之選。本實驗中只是用LIBSVM作為分類器,并以predict出來的值作為評價標準,沒有對參數做詳細的配置,使用的均是默認參數。程序中使用到的LIBSVM工具的代碼如下:對全部屬性進行歸一化,并訓練全部樣本的模型。void CAaDlg::fufeatutrain(){ char mand[256]。 sprintf(mand,\\ %%,0,0)。 system(mand)。 sprintf(mand,\\ % %,0,0)。 system(mand)。}對選擇的屬性進行歸一,并用訓練的樣本模式測試選擇的屬性,給出準確率。void CAaDlg::2(int i){ char mand[256]。 sprintf(mand,\\ %%,i,i)。 system(mand)。 sprintf(mand,\\ % %%,i,i,i)。 system(mand)。}圖42 應用libsvm工具流程圖系統采用基于Windows平臺的單對話框界面,建立了一個標準的、直觀的用戶界面。主要包括樣本文件的內容預覽、選擇kdd屬性特征、更改屬性的選擇、單步執(zhí)行特征選擇過程、一步執(zhí)行完特征選擇的過程、重新選擇屬性進行操作等功能。系統主界面如下圖所示。圖43 系統主界面選擇待處理的kdd數據文件,主窗口顯示了kdd特征屬性的內容并且每行添加了行號便于直觀顯示。進行選擇之前,選擇“瀏覽”按鈕給程序指定輸入。“預覽數據”按鈕獲取“預覽樣本的數量”,顯示在“預覽樣本內容”中?!斑x定”按鈕執(zhí)行兩步,保存“選擇的特征屬性”中的內容到數組中,清空內容,然后在“選定特征組”中顯示選擇的屬性組。“手動”“自動”按鈕執(zhí)行特征選擇算法,并在“執(zhí)行步驟”中顯示每步執(zhí)行的結果和所做的操作?!爸刈觥卑粹o重置所有變量到初始狀態(tài),清空所有顯示和計算過程中產生的txt文件。首先需要加載libsvm-、。我們通過系統界面按鈕“瀏覽”,程序的預覽數據的起始2行顯示出來,結果如下所示。0 1:0 2:2 3:7 4:6 5:181 6:5450 7:0 8:0 9:0 10:0 11:0 12:1 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:8 24:8 25: 26: 27: 28: 29: 30: 31: 32:9 33:9 34: 35: 36: 37: 38: 39: 40: 41:0 1:0 2:2 3:7 4:6 5:239 6:486 7:0 8:0 9:0 10:0 11:0 12:1 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:8 24:8 25: 26: 27: 28: 29: 30: 31: 32:19 33:19 34: 35: 36: 37: 38: 39: 40: 41:我們選擇一些屬性組,在文本框中就會顯示選定的特征組。效果如下所示。選定特征組:第1組選擇的特征:{2,3,5,11,15}第2組選擇的特征:{23,32,34,1,4}第3組選擇的特征:{10,13,17,25,27,35}第4組選擇的特征:{6,19,22,29,37,41}第5組選擇的特征:{8,16,26,30,12,24}第6組選擇的特征:{9,14,31,7,38}然后我們執(zhí)行“自動”按鈕后的效果如下所示:第1步:訓練樣本第2步:%,%,%,%,%,%,在剩余特征組中選出使準確率最大的第2組特征組,%.第3步:%,%,%,%,%,在剩余特征組中選出使準確率最大的第1組特征組,%.第4步:%,%,%,%,沒有比當前最好的,SFS算法結束.第5步:%,%,剔除第1組的屬性,%.最終特征為:23,32,34,1,4, seconds. 結束語計算機網絡的應用和普及給人們的工作和生活帶來了極大的便利,但隨著網絡技術的發(fā)展,各種專門針對計算機網絡的攻擊和入侵也層出不窮,傳統的入侵檢測方法在檢測精度及實時性等方面存在著不足,本文通過對支持向量機分類算法、啟發(fā)式特征選擇算法,將支持向量機分類方法應用于網絡入侵檢測這一領域中,利用LIBSVM軟件包對kdd99數據集進行訓練和分類,把分類預測結果用作本文提出的改進的特征選擇算法的評價函數,對支持向量機應用于網絡入侵檢測精確度和可行性作了有益的嘗試和探索。支持向量機作為一種新的機器學習方法,具有堅實的理論基礎,其優(yōu)點突出表現在:一是在有限樣本,尤其是小樣本情況下仍然保持很好的分類推廣能力。二是采用核函數,把線性不可分的樣本通過一個非線性映射變換到高維特征空間使之線性可分。這是其算法優(yōu)秀之處的基礎。此次畢業(yè)設計,LIBSVM只是用它的默認參數,沒有做深入的研究,預測的精度可能受影響,此外訓練集的選取對預測的精度也有影響,對最終選出的特征可能有影響,各個實際方面,還有很多很多的工作需要進一步完善。這些,既是不足,又是動力,不但指明了今后研究的發(fā)展方向,同時也是需要扎扎實實做工作的地方。對于此次畢業(yè)設計完成數據預處理和特征算法的實現,但對我的編程和實踐能力也有很大的幫助。致 謝本次畢業(yè)設計,是大學最后一次軟件設計,是檢驗我們四年學習成果的標尺。首先要感謝我的畢設指導老師張偉老師,他對我的畢設給予了很大的幫助與支持。張偉老師給我介紹的參考資料和案例對我的畢設有很大幫助,要是沒有張偉老師的支持和鼓勵我很難完成畢設。在軟件開發(fā)地過程中張偉老師給予我很多地意見和建議,使我少走了不少彎路。同時,我要感謝計算機網絡教研室和實驗室的老師們,他們對我的畢設也幫助挺大。在次,還感謝姜波同學,他認真的學習態(tài)度很讓我欽佩。他在外文翻譯中給了我莫大的幫助。參考文獻[1] Jiawei Han Micheline Kamber 編著. ,2005年8月[2] 張云濤 :電子工業(yè)出版社,2004年5月[3] Richard ,2003年9月[4] de Sa編著..模式識別 原理、,2002年11月[5] Guyon and A. Elisseeff. An introduction to variable and feature selection. JMLR, 2003(3), 11571182.[6] C. Sima et al. Impact of Error Estimation on FeatureSelection Algorithms. Pattern Recognition, 2005,38(12),24722482.[7] J. Hua et Number of Features as a Function of Sample Size for Various Classification Rules. Bioinformatics, 2005, 21(8),15091515.[8] T. Cover and J. Van Campenhout. On the Possible Orderings in the Measurement Selection Problem. IEEE Trans. Systems, Man, and Cybernetics, 1977,7(9),657–661.[9] 毛勇 周曉波 夏錚 尹征 [J].模式識別與人工智能,2007,20(2):211218.[10] 楊長春,倪彤光,薛恒新,. 一種基于數據挖掘的DDoS攻擊入侵檢測系統[J]. 計算機工程,2007,(23).[11] Chen You , Cheng Xue2Qi , Li Yang , Dai Lei. Lightweight intrusion detection systems based on feature selection. Jour2nal of Software , 2007 , 18 (7) : 163921651 (in Chinese)(陳友,程學旗,李洋,戴磊. 基于特征選擇的輕量級入侵檢測系統. 軟件學報, 2007 , 18 (7) : 163921651)[12] Chen S, Tang Y. Stateful DDoS Attacks and Targeted Filtering[J].Journal of Network and Computer Applications, 2007, 30(3).[13] Brugger S. T. . Data mining methods for network intrusion detection. Technique Report , UC davis , 2004[14] Ertoz L. , Eilert son E. , Lazarevic A. , Tan P. , Dokas P. ,Srivastava J . , Kumar . Detection and summarization of novel network attacks using data mining. Technical Report , 2003[15] Li-Chiou Chen, Longstaff TA , Carley K. M. Characterization of defense mechanisms against distributed denial of service attacks. Computers amp。 Security, 2004。 23 (8) : 665—678[16] Honig A, Howard A. Adaptive Model Generation: An Architecture for the Deployment of Dataminingbased Intrusion Detection Systems [C]//Proc. of Data Mining for Security Applications, Kluwer. 2002.[17] Chris . Burges, Beruhard Scholkopf. Improving the Accuracy and Speed of Support Vector Machines. Neural Information Processing Systems, , M. Mozer, M. Jordan, amp。 T. Petsche, eds. MIT Press, Cambridge, MA, 1997. [18] . A Tutorial on Support Vector Machines for Pattern Recognition. Bell Laboratories, Lucent Technologies. 1997. [19] The 1999 DARPA Int rusion Detection Evaluation Data set , Information Systems Technology Group of MIT Lincoln Laboratory , ht tp :/ / . ll . mit . edu/ IST/ ideval/ data/ data _ [20] Kohavi R, John GH. Wrappers for feature subset selection. Artificial Intelligence Journal, 1997,97(12):27