Page 290 - 《软件学报》2021年第10期
P. 290

3262                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 损失逐渐收敛,但是模型的训练时间呈线性增长,如图 5 所示.

                                     0.64                        80
                                     0.62        测试集损失           70  训练时间
                                     0.60                        60
                                   损失值   0.58                   时间(s)   50
                                                                 40
                                     0.56
                                     0.54                        30
                                     0.52                        20
                                     0.50                        10
                                        0   20     60    100    140  0   20     60    100    140

                                          随机森林树的个数                    随机森林树的个数
                                            Fig.5    Loss of test set and the training time
                                                图 5   测试集损失和训练时间
                 6.4   结果对比

                    表 4 显示了 RF-GBDT 与 K-NN、AdaBoost、LR 在训练集十折交叉验证的性能表现,以及与其他文献的对
                 比.其中,N/A 表示结果不存在或者评价方法不同,无法进行对比.RF-GBDT 的检测率是 83.78%,误报率是 1.8%,
                 F1 分数值是 83.78%,三者都是最高的.RF-GBDT 作为多分类模型,在每个类别上的检测率也有不错的表现,表 5
                 显示了 RF-GBDT 与 K-NN、AdaBoost、LR 这 4 种算法在每种类别上的检测表现,其中,“Worns”“Reconnaissance”
                 “Shellcode”和“Generic”样本数量都很少,但是检测率都在 84%以上.
                    Table 4    Comparison of 10-fold cross-validation results of training set and compared with other algorithms
                                     表 4   训练集十折交叉验证结果比较以及与其他算法比较
                           算法                 检测率(%)               误报率(%)               F1 分数(%)
                           K-NN               64.351.05            3.960.12           64.351.05
                          AdaBoost            73.850.82            2.910.09           73.850.82
                            LR                63.160.84            4.090.84           63.160.84
                      深度神经网络算法    [23]           80                   N/A                  76
                       RICSA-KELM [24]          N/A                  2.12                  N/A
                          RF-GBDT             83.780.91            1.800.91           83.780.91
                                Table 5    Comparison of detection rates of four algorithms in each category
                                            表 5  4 种算法在每个类别的检测率对比
                                                                      检测率(%)
                          类别          比例(%)
                                                    K-NN        AdaBoost       LR         RF-GBDT
                         Analysis       1.85        52.71        52.43        25.74        70.52
                         Backdoor       1.84        14.23        53.65         3.66        72.65
                           DoS          3.88         7.78        21.98         1.39        35.47
                         Exploits      12.53        60.50        62.71        60.29        76.31
                         Fuzzers        9.33        39.02        54.00        33.12        63.50
                         Generic        9.73        56.31        67.90        40.51        84.27
                          Normal       43.79        85.57        86.34        87.58        92.38
                         Reconn.        8.69        56.19        81.68        71.71        92.89
                         Shellcode      7.51        48.49        83.72        45.36        91.23
                          Worms         0.87        14.62        41.54         0.00        82.31

                    另外,在测试集上对比了受试者工作特征曲线(receiver operating characteristic curve,简称 ROC 曲线)和精确
                 率-召回率曲线(precison-recall curve,简称 PR 曲线),如图 6 所示.
                    图 6 显示了 ROC 曲线下的面积(area under curve,简称 ROC AUC)和 PR 曲线下的面积(area under curve,简
                 称 PR AUC).
                       RF-GBDT 的 ROC AUC 达到 98.57%,位列第一;AdaBoost 的 ROC AUC 是 97.31%,排在第 2 位;
                       PR AUC 也是 RF-GBDT 的最高,可达 91.48%;第 2 名是 AdaBoost,是 83.48%.
   285   286   287   288   289   290   291   292   293   294   295