1. 协同训练算法
协同训练(co-training)算法是多视图(multi-view)学习的代表。首先解释下视图含义:以电影为例,它拥有多个属性集:图像、声音、字幕等。每个属性集就构成了一个视图。协同训练认为单凭一个视图,训练器就能取得一个很好的性能。
算法如下:
- 从未标记数据集U上随机的选取u个示例放入集合U’中
- 开始迭代k次:
在标记数据集L的不同视图x1和x2上训练出两个分类器h1和h2
用h1对U’中所有未标记元素进行标记,从中选出置信度高的p个正标记和n个负标记,加入到x2集合中
用h2对U’中所有未标记元素进行标记,从中选出置信度高的p个正标记和n个负标记,加入到x1集合中
随机从U中再选取2p+2n个数据补充到U’中
之所以将预测的未标记数据集加到另一个分类器的训练集中,因为对于本分类器来说,已经能够准确预测该未标记样本,再训练没有必要。
其他的协同训练表达:
2. 变种
Goldman and Zhou (2000) use two learners of different types but both takes the whole feature se