Page 139 - 《软件学报》2025年第9期
P. 139
4050 软件学报 2025 年第 36 卷第 9 期
低算法对初始值的敏感性, 这里选用 K-means++算法初始化簇中心. 图 5 显示了在不同质心数 k 下, 使用 CBT-MF
方法的所有变体在 GC、MC 及 MF 数据集的测试集上获得的 Recall@K 和 Hit@K 两类共 10 个评估指标的实验
结果.
GC GC GC 0.025 GC GC
0.015 MC 0.020 MC 0.020 MC MC 0.020 MC
MF 0.016 MF 0.015 MF 0.020 MF 0.015 MF
Recall@5 0.010 Recall@10 0.012 Recall@15 0.010 Recall@20 0.015 Recall@25 0.010
0.010
0.008
0.005
0 0.004 0 0.005 0 0.005 0 0.005 0
CBT-MF_40
CBT-MF_20
CBT-MF_20
CBT-MF_40
CBT-MF_40
CBT-MF_20
CBT-MF_40
CBT-MF_20
CBT-MF_40
CBT-MF_20
CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50
(a) (b) (c) (d) (e)
0.08 0.12 0.16
GC 0.09 GC 0.10 GC GC GC
0.06 MC MC 0.08 MC 0.10 MC 0.12 MC
MF
MF
MF
MF
MF
0.08
Hit@5 0.04 Hit@10 0.06 Hit@15 0.06 Hit@20 0.06 Hit@25 0.08
0.02 0.03 0.04 0.04 0.04
0.02 0.02
0 0 0 0 0
CBT-MF_20
CBT-MF_20
CBT-MF_40
CBT-MF_20
CBT-MF_40
CBT-MF_40
CBT-MF_20
CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50 CBT-MF_10 CBT-MF_30 CBT-MF_50
CBT-MF_20
CBT-MF_40
CBT-MF_40
(f) (g) (h) (i) (j)
图 5 不同聚类质心对 Recall@5–Recall@25 和 Hit@5–Hit@25 的影响
从图 5(a)–(e) 显示的 Recall@K 实验结果可以看出, 在不同聚类质心数 k 下, 对于每个 Recall@K 的指标, 3 种
数据集的表现趋势基本一致, 即随着聚类质心数 k 的增加, Recall@K 值逐渐提高. 其中, 在 MF 数据集上的表现最
佳. 然而, 过大的聚类质心数 k 并没有使 Recall@K 指标继续增大, 反而出现了减小的现象. 例如, k=50 时的指标反
而低于 k=40. 这是因为当聚类质心数较大时, CBT-MF 会更加关注 bug 和开发者之间的细节, 因此分派结果容易
受到噪声干扰, 从而对性能指标产生了负面影响. 同时还可以看出, 相比于 GC 和 MC 数据集, CBT-MF 能够更好
地捕捉 MF 数据集 bug 和开发者之间的相关性, 说明 CBT-MF 在数据不均衡性弱时性能表现更好. 此外, 不难发
现, 对于任意一个 Recall@K 来讲, 聚类质心数为 k=30 时, 在 3 个数据集上均获得了最佳的性能表现, 其他过大或
过小的聚类质心数会对 Recall@K 指标产生一定的负面影响. 因此, 在实际应用中, 需要根据具体情况选择合适的
聚类质心数, 以达到最佳的分派效果.
从图 5(f)–(j) 显示的 Hit@K 实验结果可以看出, 在所有数据集上, 随着质心数 k 的增加, Hit@K 的值也会增加,
但增加的速率会变化. 例如, 在 GC 数据集上, 当质心数从 10 增加到 20 时, Hit@10 从 0.034 1 增加到 0.044 5, 增加
了 30.5%; 而当质心数 k 从 40 增加到 50 时, Hit@10 从 0.038 8 降到 0.024 5, 出现了负增加现象. 此外, 不同数据集
的结果也有所不同. 例如, 在 Hit@10 指标上, MF 数据集的结果较 GC 和 MC 数据集更好, 且在其内部的 Hit@K
指标随质心数的变化也都表现出了先升后降的趋势. 也就是说, 随着质心数 k 的增加, Hit@5–Hit@25 评估指标的
值并未呈现出明显的上升趋势, 而是在 k=30 调整为 k=40 的情况下, 出现了 Hit@K 指标值下降的情况. 这说明增
加质心数 k 并不一定能显著提高 CBT-MF 的性能, 有可能因为过大的质心导致了 CBT-MF 过拟合. 此外, 从图中
还可以看出, 不同的评估指标之间存在较大的差异. 例如, 在同一数据集上, Hit@10 评估指标的值通常比 Hit@25
评估指标的值低很多, 这说明 CBT-MF 在较大列表长度的评估指标上, 更能显示其分派性能的优越性.
上述结果的形成与多种因素有关. 一方面, 质心数 k 在一定范围内的增加可以提高聚类的精度, 从而提高了
Recall@K 和 Hit@K; 另一方面, 不同数据集的特征和分布也会影响指标结果. 例如, GC 数据集中的 bug 和开发者
数量相对较大, 因此可能需要更多的质心才能获得更好的结果. 此外, CBT-MF 方法其他的参数设置和实验环境也
可能对评估结果产生了一定程度的影响. 但总体而言, 无论对那个指标来讲, CBT-MF-k 在 k=30 时, 取得了最好的
性能. 因此, 说明在合适的聚类质心下 CBT-MF 能够捕获更好的语义特征.
(3) 图卷积层的敏感性. 在 GCF 模块中, 节点卷积可以包含多层相邻节点. 较多的层可以聚合更多的结构特征,
以及降低过度拟合的风险. 为了研究卷积层数 l 如何影响 CBT-MF 方法性能, 实验比较了其另外 3 种变体 CBT-

