Page 148 - 《软件学报》2020年第12期
P. 148
3814 Journal of Software 软件学报 Vol.31, No.12, December 2020
在提出的算法 3 中,首先将约束转换为组中的样本.算法在每次迭代中,首先在数据集 D 和约束 C 上执行半
监督聚类方法,然后根据半监督聚类的结果、数据集 D 和组,使用主动学习方法选择最具信息性和代表性的样
本.对于所选集合中的每个样本,在每个组中按概率递减顺序输出 x i ,并查询组Σ i 中的最高概率数据样本.最后,
更新约束并将其加入到组中,算法运行直到没有可加入的“必须链接”,重复此过程,达到算法收敛的条件.
算法 3. 半监督聚类.
输入:样本数据 N,类别总数 c,v 时刻选择的最佳子集,超参数β;
初始化:C=∅;Σ={Σ 1 ,,…,Σ k }.
输出:SSC(N,C).
1. repeat
2. π=SSC(N,C);
3. V=AdaActive(N,π,Σ,v,β);
4. for each x i in V do
5. for each Σ j ∈Σ in decreasing order of probability P(x i ∈Σ j ) do
6. 查询 x i 与集合 x i ∈Σ j 中任意一个样本的关系;
7. 根据返回的答案更新 C;
8. if (x i ,x k ,M) then
9. Σ j =Σ j ∪{x i };
10. break;
11. end if
12. end for
13. if no must-link is achieved then
14. l++;
15. Σ l =x i ;
16. Σ=Σ∪Σ l ;
17. end if
18. end for
19. until 达到预算.
3 实验分析
本节首先介绍在不同任务中使用的数据集,然后将提出的算法在半监督分类和半监督聚类任务中与一些
基准方法进行比较.最后,我们研究了算法参数对分类和聚类任务的影响.
3.1 数据集
MNIST 数据集总共包含 70 000 个手写数字样本,每个样本(0~9)像素大小为 28×28.同时,本文还采用了
CIFAR-10 数据集,其中包含 10 个类别共 60 000 个 32×32 的彩色图像,其中,每个类别 6 000 张图像.官方数据中
有 50 000 个训练图像和 10 000 个测试图像.
3.2 分类任务
本文在 MNIST 和 CIFAR-10 数据集上进行了分类算法实验.在下面的实验中,数据分为 3 个部分:基础训练
集、未标记的池集和测试集.训练数据用作初始标记数据,以训练初始分类器;而测试数据用来测试算法性能,并
评估不同的主动学习算法;池集具有大量的未标记数据,以选择最具信息性和代表性的样本.在每个数据集上,
实验通过改变训练集、池集和测试集的样本,实验重复 10 次并记录算法的性能.第 3.2.2 节中记录了各种基准
和相关主动学习方法的分类性能.