自训练和协同训练简述
创始人
2025-05-30 00:22:58

在深度学习中,自训练和协同训练是两种常见的半监督学习算法,本文将简单介绍两种算法的基本思想。

一、自训练

自训练(Self-Training,或 Self-Teaching),也叫自举法(Bootstrapping),是一种非常简单的半监督学习算法。自训练是首先使用标注数据来训练一个模型,并使用这个模型来预测无标注样本的标签,把预测置信度比较高的样本及其预测的伪标签加入训练集,然后重新训练新的模型,并不断重复这个过程。具体算法流程可参照下图: 自训练算法通过不断地迭代来提高模型能力。但自训练的缺点是无法保证每次加入训练集的样本的伪标签是正确的。此时如果选择样本的伪标签是错误的,反而会损害模型的预测能力。因此,自训练算法最关键的步骤是如何设置挑选样本的标准。

二、协同训练

协同训练(Co-Training)是自训练的一种改进方法,通过两个基于不同视角(view)的分类器来互相促进。很多数据都有相对独立的不同视角。比如互联网上的每个网页都由两种视角组成:文字内容(text)和指向其他网页的链接(hyperlink)。如果要确定一个网页的类别,既可以根据文字内容来判断,也可根据网页之间的链接关系来判断。 假设一个样本 𝒙 = [𝒙1 , 𝒙2 ],其中 𝒙1 和 𝒙2 分别表示两种不同视角 𝑉1 和𝑉2 的特征,并满足下面两个假设: 1.条件独立性。给定样本标签 𝑦 时,两种特征条件独立𝑝(𝒙1 , 𝒙2 |𝑦) = 𝑝(𝒙1 |𝑦)𝑝(𝒙2 |𝑦); 2.充足和冗余性。当数据充分时,每种视角的特征都足以单独训练出一个正确的分类器。 我们令 𝑦 = 𝑔(𝒙) 为需要学习的真实映射函数,𝑓1 和𝑓2 分别为两个视角的分类器,有:  ∃𝑓1 , 𝑓2 , ∀𝒙 ∈ 𝒳, 𝑓1 (𝒙1 ) = 𝑓2 (𝒙2 ) = 𝑔(𝒙) 其中 𝒳 为样本𝒙的取值空间。 协同算法要求两种视角是条件独立的。如果两种视角完全一样,则协同训练退化成自训练算法。协同训练算法的具体流程如下图所示:

由于不同视角的条件独立性,在不同视角上训练出来的模型就相当于从不同视角来理解问题,具有一定的互补性。协同训练就是利用这种互补性来进行自训练的一种方法。首先在训练集上根据不同视角分别训练两个模型 𝑓1 和 𝑓2,然后用 𝑓1 和  𝑓2 在无标注数据集上进行预测,各选取预测置信度比较高的样本加入训练集,重新训练两个不同视角的模型,并不断重复这个过程。

相关内容

热门资讯

世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
吸猫伐是什么意思 吸猫是吸哪里 作为铲屎官,相信对于网络上流行的各种与猫咪相关的梗都是了然于心的,什么吸猫啦,撸猫啦,云养猫啦……等...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...