简介
Co-Forest是一种半监督的机器学习方法,它能够同时利用有标签数据和无标签数据来提高模型的精度。通常是首先从有标签的数据中学习,然后使用无标签的数据对模型进行优化。
Co-Forest作为协同训练(Co-training)的一种扩展,它在协同训练的基础上引入了随机森林,解决了如何最准确地确定无标签数据的标签,以及如何确定最终的模型。
Co-Forest
令L和U分别表示有标签和无标签数据集,它们来自具有相同分布的数据。在协同训练中,首先从L中训练两个分类器,然后每个分类器从自己的角度对U中置信度最高的数据进行标记,另一个分类器用这些新标记的数据进行模型更新。其中,对未标记数据的预测置信度估计是协同训练中最重要的一个方面,
在协同训练中,如果使用N个分类器 H ∗ H^* H∗,而不是两个分类器,就可以更加有效地估计置信度。为了给某个分类器 h i ( i = 1 , … , N ) h_i(i=1,\dots, N) hi(i=1,…,N)提供置信度最高的若干个样本,需要用到出 h i h_i hi外的其它所有分类器,这些分类器形成一个新的集成,称为 h i h_i hi的伴随集成,表示为 H i H_i Hi。 H i H_i Hi与 H ∗ H^* H∗相比只少了个 h i h_i hi。因此,一个未标记样本的置信度可以简单地用标记的一致程度来估计,即同意分配某个标签的分类器的数量。利用这种方法,Co-Forest首先在L上训练一个分类器集合,然后利用伴随集成选择的无标签数据对各个分类器进行优化。
在Co-Forest的每次迭代学习中,伴随集成 H i H_i Hi检察U中的每个样本,如果投票给特定标签的分类器数量超过预先设置的阈值 θ \theta θ,那么这些未标记的数据及其投票的标签会被复制到新标记集合 L i ′ L_i^{'} Li′中。样本集 L ∪ L i ′ L\cup L_i^{'} L∪Li′用于这次迭代中对 h i h_i