Page 37 - 《软件学报》2025年第5期
P. 37
董黎明 等: 结合主动学习和半监督学习的软件可追踪性恢复框架 1937
0.82 0.82
0.1/0.05 0.15/0.05 0 1/4 1/3
0.80 0.2/0.025 0.2/0.05 0.80 1/2 1
0.2/0.1
0.78 0.78
AUC 0.76 AUC 0.76
0.74 0.74
0.72 0.72
0.70 0.70
0 1 2 3 4 5 0 1 2 3 4 5
Iteration Iteration
(a) 伪标签初始迭代样本选择比例及增长比例 (b) 伪标签每类样本选择比例指数
p/increaseRate 参数分析 (α=1/3) α 参数分析 (p/increaseRate=0.2/0.1)
图 9 半监督模型参数影响分析
3.2.2 主动学习策略
考虑到昂贵的成本限制, 如何寻找最有用且最正确的链接样本来构建训练样本是提升模型最关键的问题
之一. 本文拟使用主动学习 [57,58] 来重塑软件可追踪性训练样本, 其主要原理是选择高信息量的样本进行标注
(如请专家标注), 提高模型的性能. 与半监督学习中生成伪标签不同的是, 主动学习过程中的标注结果往往被
认为是准确的, 从而确保重塑训练样本的可靠性. 此外主动学习策略中关注的是如何设计样本选择策略, 以提
升标注样本的价值, 也就是说, 这些样本是否值得被专家标注, 以确保重塑的训练样本具备足够的信息量和代
表性.
在以往的主动学习工作中 [57−60] , 主要以“不确定 (uncertainty sampling)”策略为主, 学习器的预测结果越不确定
的样本, 信息量越多. 因此该查询策略通常通过一些方法计算样本的不确定性, 判断其是否出于决策边界, 是否携
带有足够的信息量. 例如, Lewis 等人 [61] 认为二分类中样本的类别预测概率越接近 0.5, 其不确定性越高. 而 Scheffer
等人 [62] 则计算样本的熵值 (entropy) 来判定其携带信息量的多少, 熵越高的样本, 其携带的信息量越高. 上述主动
学习方法的简要流程如图 10 所示, 这类方法依赖于训练集得到初始模型, 计算无标签样本的不确定性值, 选择不
确定性值最高的无标签样本给专家标注.
U(x)
Uncertainty
calculation
初始模型
选择最不确定
无标签样本集合 计算无标签样本不确定值
的无标签样本
图 10 基于不确定性的主动学习简要流程
在本文引入主动学习策略时, 既要考虑到可追踪性任务面临的数据稀疏性和不平衡性等各项数据挑战对模型
带来的影响, 又要确保在实践中专家标注的成本是尽可能小的. 因此参考了 Kothawade 等人 [63,64] 为解决主动学习
中的类不平衡问题, 所提出的子模块互信息 (submodular mutual information, SMI) 函数 [65,66] . Kothawade 等人 [67] 主
张主动学习策略不仅要选择信息量最大和最多样化的样本, 还要选择与特定目标 (即 target 子模块, 在可追踪性问
题中为数据集中的“真” 链接集合) 相似的样本. 基于子模块互信息的主动学习采样策略使用 SMI 函数评估待标注
集合的标注价值, 使用该策略进行采样的流程如图 11 所示. 相关实验表明 [67] , Flqmi 采样函数相对于其他 SMI 采
样函数可以在类不平衡、样本冗余的场景中实现更好的分类性能, 本文考虑到可追踪性任务也存在类似的问题,
因此在主动学习样本选择策略实现了 Flqmi, 其函数表达式如公式 (13) 所示:
∑ ∑
Flqmi(S,Q) = maxS i j + maxS i j (13)
i∈Q j∈S i∈S j∈Q
其中, S ij 为样本 i 与样本 j 的特征相似度, 本文参考 Kothawade 等人 [67] 的设置选择了余弦相似度. S ∈ D unlabeled 为
拟选择的样本集合 (select 模块), Q ∈ D unlabeled 为已标注的少类“真”链接样本集合 (target 模块). 公式 (13) 中的第 1