民主协同学习(Democratic Co-Learning), 一种单视图半监督技术. 首先在完整的标记数据 L \mathbf{L} L 上分别训练每个模型 m i m_i mi, 然后模型对未标记的数据 U \mathbf{U} U 进行预测. 如果大于一半的模型 M M M 同意样本的标签, 则将该样本 { ( x i , y ^ i ) } \{(x_i,\hat{y}_i)\} {(xi,y^i)} 添加到 m i m_i mi 的训练集中. 重复此过程, 直到不再添加更多样本. 最终预测通过以模型的置信区间加权的绝对多数投票法得出.
论文地址: Democratic Co-Learning
会议: ICTAI 2004
任务: 分类
Democratic Co-Learning 也是采用单视图多学习器的策略, 像是民主投票, 以多数票的形式进行数据挑选.
定义 L \mathbf{L} L 为标记数据集, U \mathbf{U} U 为无标记数据集, A 1 , … , A n A_1,\dots,A_n A1,…,An 为分类器, 每个分类器对 U \mathbf{U} U 中的未标记数据 x x x 预测一个类别 c i ∈ C = { c 1 , … , c r } c_i \in \mathcal{C}=\{c_1,\dots,c_r\} ci∈C={c1,…,cr}, 并令 c k c_k ck 表示多数分类器预测一致的结果(将这些分类器的集合称为多数团体(Majoritty Group)). 将这些结果加入到 L \mathbf{L} L 中, 然后继续进行训练, 直到满足没有可挑选的未标记数据为止. Democratic Co-Learning 算法如下图所示:
初始阶段, 初始化模型:
majority prediction
.民主优先采样阶段, 选择未标记示例给专家标记, 并加入对应训练集:
评估阶段, 评估将 L i ′ \mathbf{L_i}' Li′ 添加到 L i \mathbf{L_i} Li 中是否提升准确率:
重复以上操作直到 L 1 , ⋯ L n \mathbf{L}_1,\dotsm\mathbf{L}_n L1,⋯Ln 不再变化为止. 最终通过 Combine 函数返回一组分类器, Combine 算法见集成策略小节.
使用置信度加权的投票, 可以消除大多数分类器以非常低的置信度做出相同错误预测的可能性.
基于主动学习(Active Learning)的思想, 在 Democratic Co-Learning 中, 首先使用标记数据 L \mathbf{L} L 训练 k k k 个不同的分类器 H 1 , … , H k H_1,\dots, H_k H1,…,Hk. 然后, 可以使用 QBC(Query-By-Committee) 中的投票熵来选择要主动标记的示例. 但是, 我们还希望将每个分类器的置信度纳入优先级估计中, 因此, 定义了一个置信加权投票熵, 通过计算由分类器的平均置信度加权的投票熵, 将每个单独分类器的置信度纳入优先级估计中.
令 r r r 为不同的标签的个数, G i ( x ) G_i(x) Gi(x) 为分类器 H 1 , … , H k H_1,\dots, H_k H1,…,Hk 的集合. 定义未标记示例 x x x 的优先级为:
P r i o r i t y ( x ) = − ∑ i = 1 r W i ( x ) W log W i ( x ) W Priority(x)=-\sum_{i=1}^r\frac{W_i(x)}{W}\log\frac{W_i(x)}{W} Priority(x)=−i=1∑rWWi(x)logWWi(x)
其中:
将具有最高优先级标签的示例提供给专家进行标记. 然后使用更大的标记数据池重新计算假设, 并重复该过程.
tips: 主动学习(Active Learning)的大致思路就是: 通过机器学习的方法获取到那些比较"难"分类的样本数据, 让专家(人工)再次确认和审核, 然后将人工标注得到的数据再次使用学习模型进行训练, 逐步提升模型的效果, 将人工经验融入机器学习的模型中.
为了更好的组合分类器, 除了要求每个标签的票数外, 还考虑每个单独分类器的置信度值(以 95% 置信区间的平均值衡量). 将分类器分为 r r r 个组, 每组对应一个可能的标签, 每个组的大小为 n n n, 使用 s = n + 0.5 n + 1 s=\frac{n+0.5}{n+1} s=n+1n+0.5 的 Laplace 校正来避免在组规模太小时导致的投票频率为零和偏向0.5的投票加权. 具有最高discounted confidence value
的分类器组用于预测示例. 当组内分类器的置信度方差较大时, 上述调整可能无效. 因此, 忽略任何置信度值小于 50% 的分类器, Combine 算法如下图所示: