Page 234 - 《软件学报》2024年第6期
P. 234

2810                                                       软件学报  2024  年第  35  卷第  6  期


                 C-SVMXGBoost 相对于其他模型, 精度最高, 处于         90%–95%  之间, 但随着样本数量的增加, 其自身提升程度不明
                 显, 这再一次说明该链式模型在小样本测试数据上即可达到较高精度.
                    利用路径预测模型生成测试用例过程中, 模型精度和模型训练所需时间是影响测试效率的关键因素. 因此, 在
                 上面实验的基础上, 对这几种模型的平均训练时间进行分析, 如图                    6  所示. 这里采用折线图进行展示, 其中横坐标
                 表示样本数量     (与图  5  中的样本量对应, 这里只统计样本量为          3 000, 6 000, 10 000  这  3  种情况), 纵坐标表示各模型
                 5  次实验的平均训练时间.

                         20
                                   C-SVMXGBoost                  200         C-SVMXGBoost
                         18
                                   SVM                           180         SVM
                         16        XGBoost                                   XGBoost
                                   RF                            160         RF
                         14
                                   BP
                                                                             BP
                       平均训练时间 (s)  12 8                        平均训练时间 (s)  120
                                                                 140
                         10
                                                                 100
                                                                 80
                                       时, SVM, XGBoost 和
                          4 6                                    60
                                                                 40
                          2                                      20
                          0                                       0
                            3 000 4 000 5 000 6 000 7 000 8 000 9 00010 000  3 000 4 000 5 000 6 000 7 000 8 000 9 00010 000
                                        样本数量                                     样本数量
                                         (a) PG1                                 (b) PG8
                                         图 6 不同规模程序上的各模型平均训练时间对比

                    由图  6  可知, 对比不同模型在不同程序和不同样本数量上的平均训练时间, 可得到如下几点结论.
                    1) 程序规模和复杂度对模型训练时间具有较大影响. 从不同模型在程序                       PG1  和  PG8  上的结果可看出, 对于
                 规模较小的简单程序       PG1, 在不同样本数量中, 几种模型的平均训练时间主要在                0–8 s 之间, BP  模型在样本数量为
                 10 000  时, 平均训练时间最高可达约      15 s; 对于规模较大的稍微复杂的程序          PG8, 在不同样本数量中, 平均训练时
                 间主要集中在     20–80 s 和  100–120 s 之间, BP  模型在样本数量为  10 000  时, 平均训练时间最高可达约       200 s. 由此
                 可见, 规模较大、较复杂程序训练路径预测模型较为耗时, 其原因是这类程序不仅数据复杂, 且路径节点较多, 需
                 训练较多子模型. 此外, 相对于其他几种子模型, SVM             和  XGBoost 模型所需训练时间最短, BP      模型训练时间最长.
                    2) 链式模型的融合过程需要消耗一定的时间. 我们的                 C-SVMXGBoost 模型由两种较优的子模型           SVM  和
                 XGBoost 融合而成. 对比   SVM, XGBoost 和  C-SVMXGBoost 这  3  种模型, 其中子模型   SVM  在样本量为    3 000  时,
                 平均训练时间略低于        XGBoost, 随着样本数量的增加, 其训练时间逐渐高于             XGBoost. 在程序  PG8  上, 链式模型
                 C-SVMXGBoost 略高于这两个模型, 其原因是为提高链式模型整体精度, 则需花费多一点时间寻找最优子模型.
                    3) 样本数量对模型平均训练时间具有一定影响. 随着样本数量的增加, 不论是基础程序                           PG1  还是工业程序
                 PG8, 模型  SVM, XGBoost, RF  和  C-SVMXGBoost 的平均训练时间增加缓慢, 在程序      PG8  上, BP  模型训练时间急
                 剧增加. 在样本数量为       3 000                C-SVMXGBoost 模型时间花费较少, RF       时间相对较多; BP    模
                 型训练时间与样本数量相关性较大, 且耗时最多. 这再一次验证了样本数量对这几种模型的影响.
                    综合以上几点分析与前面图           5  实验结果可知, 本文构建的链式模型          C-SVMXGBoost 选取了模型精度较高且
                 训练时间较少的子模型进行链式融合, 在模型精度和训练时间上较其他模型而言, 具有较大优势. 为应对不同程序
                 的模型精度与训练时间的需求, 将样本数量设置为定值. 且对于测试数据生成而言, 样本数量不宜过大, 否则消耗
                 过多的样本筛选时间, 根据上面的分析, 将样本量设置为                 3 000. 此外, 程序  PG1  和  PG8  为规模差异较大的两个程
                 序, 且它们的输入数据类型不一致, 单一模型很难满足不同程序上路径节点状态预测准确性的要求, 而链式模型能
                 适应不同程序特点以及测试样本分布等情况, 可根据模型精度选取较优子模型, 提高其综合性能.
   229   230   231   232   233   234   235   236   237   238   239