Page 34 - 《软件学报》2025年第5期
P. 34
1934 软件学报 2025 年第 36 卷第 5 期
本. 使用极其不平衡的数据进行训练, 会使得分类模型倾向于学习多类样本, 实验结果会更容易将跟踪对都预测为
“假”链接. 为了缓解样本中不平衡比例的影响, 需要对数据进行平衡. 参考当前的可追踪研究 [8,49] , SMOTE 为重采
样方法中表现最优的一种算法, 故本文选择了 SMOTE 算法对训练集 train_set 重采样, 再使用不平衡测试集
test_set 预测跟踪对的结果, 评估分类器效果. 值得注意的是, 在后续训练阶段引入改进策略 (如主动学习结合半监
督学习步骤) 后, 每轮迭代会选择新的无标签样本加入原始训练集, 训练集再次按照时序排序后, 样本重采样步骤
会被重新启动, 即对更新的训练集 new_train_set 使用再进行 SMOTE 重采样, 用于缓解每次迭代中训练集的不平
衡性.
时间序列
数据集切分
训练集 测试集
图 7 样本时序分割
3.2 训练阶段
针对第 2 节中讨论的几点挑战, STRACE(AL+SSL) 框架重点通过训练阶段引入不同的策略, 针对性地改进训
练数据特性. 具体改进策略有以下几点.
● 引入半监督学习 (semi-supervised learning, SSL) 策略, 旨在通过学习大量可靠的无标签样本, 改进样本稀疏
性问题. 同时在半监督样本选择机制中, 提出调整后的 CBST-Adjust 选择策略, 重点缓解数据不平衡问题.
● 引入主动学习 (active learning, AL) 策略, 重塑初始训练集, 同时与半监督学习策略相结合, 重点减轻初始训
练集低质量的影响, 提高半监督学习生成的伪标签质量.
● 引入权重机制, 选择无标签样本时, 考虑初始训练模型精度和伪标签的可靠性的影响, 为不同样本赋予不同
权重, 重点缓解半监督模型由于引入低质量伪标签而导致的效果不稳定和无标签利用率不高的问题.
3.2.1 软件可追踪性半监督学习策略
半监督学习的主要原理是根据模型在无标签样本上的预测情况, 来得到伪标签, 再将大量可靠的无标签数据
引入训练. 在以往的半监督学习研究中, “置信度阈值 (confidence threshold)”是一种比较主流的伪标签选择方式.
比如在 FixMatch [50] 中, 置信度≥阈值 (0.9) 的伪标签样本会直接加到初始训练集中. 通过设定较高的阈值, 伪标签
的质量 (即正确性) 可以得到保证. 但是, 在无标签样本存在严重的样本不平衡的场景下, 统一的伪标签阈值会使
得半监督学习在每轮迭代选择的无标签样本依然偏向多类样本, 即本文中的“假”链接样本.
(1) 类平衡样本选择策略
故本文参考了 Zou 等人 [51,52] 提出的 CBST (class balancing self-training) 策略和 Wei 等人 [53] 提出的 CReST
(class-rebalancing self-training) 策略, 及 Chen 等人 [54] 提出的 SimiS (simple yet overlooked Baseline(RF) for
imbalanced semi-supervised learning) 策略.
● CBST 样本选择策略
CBST 策略基于初始训练模型, 得到伪标签样本在每个类别上的预测概率值 probability score (多类, 少类). 为
了选择一定比例的高可靠性的伪标签样本, 与以往研究中统一设置置信度阈值 (如 0.9) 不同的是, CBST 主张按照
类别, 为每个类别独立设置选择无标签样本的置信度阈值. 从而可以缓解由于设置统一的置信度阈值而导致的样
本不平衡问题. 同时, 与直接设定置信度阈值不同的是, CBST 从每类样本选择比例为 top(p) 的伪标签, 此时每类
样本的置信度阈值因不同样本的概率值 probability score (多类, 少类) 分布而不同. 这样可以避免由于设置过高的
常量阈值, 使得每轮迭代很难获得需要被学习到的少类样本的问题. 以少类样本 (即“真”链接样本) 为例, 选择“真”
链接样本的置信度阈值计算如公式 (5) 所示: