模型独立的学习方式——协同训练

一、定义

协同训练(Co-Training)是自训练的一种改进方法,通过两个基于不同视角(view)的分类器来相互促进。很多数据都有相对独立的不同视角。比如互联网上的每个网页都由两种视角组成:文字内容(text)和指向其它网页的链接(hyperlink)。如果要确定一个网页的类别,可以根据文字内容来判断,也可根据网页之间的链接关系来判断。

二、算法解析及伪代码

假设一个样本x = **x** 1, **x** 2,其中x1 和x2 分别表示两种不同视角V1 和V2的 特征,并满足下面两个假设:(1)条件独立性:给定样本标签y时,两种特征条 件独立p(x 1, x 2|y) = p(x 1|y)p(x 2|y);(2)充足和冗余性:当数据充分时,每种视角的特征都可以足以单独训练出一个正确的分类器。令y = g(x)为需要学习的真实映射函数,f1和f2分别为两个视角的分类器,有

其中X 为样本x的取值空间。

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

三、总结

协同算法要求两种视图是条件独立的。如果两种视图完全一样,则协同训练退化成自训练算法。

相关推荐
罗西的思考17 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
打工仔折腾 AI18 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
Jsundoku1 天前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
Apok'1 天前
零基础学Python量化(1):研究大纲与流程
python·机器学习·金融·数据挖掘·数据分析
陈嘿萌1 天前
Fusion Anything Model:面向通用多模态融合的基座模型
图像处理·人工智能·深度学习·计算机视觉·学术研究与理论基础
老鱼说AI1 天前
SNN脉冲神经网络:全连接、卷积与循环SNN
人工智能·深度学习·神经网络·机器学习·自然语言处理
程序猿编码1 天前
纯 C++ 手写 LLM 推理引擎:分页 KV 缓存、连续批、多卡张量并行全部内置
c++·深度学习·缓存·大模型推理·自动微分·模型推理
Jsundoku1 天前
第八章 机器学习 -- 集成学习
人工智能·机器学习·集成学习
在所不辞兄1 天前
【零基础学智能仿真-62】从应变—应力计算弹性常数
人工智能·深度学习·神经网络·机器学习·有限元·智能仿真
kaixin_啊啊1 天前
【零基础学AI】第 17 章——一个机器学习项目怎样完成
人工智能·机器学习