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

一、定义

协同训练(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给出了协同训练的训练过程。

三、总结

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

相关推荐
空堂与归4 小时前
分类问题怎么建模?用逻辑回归实现概率预测
人工智能·机器学习·分类·逻辑回归
SomeB1oody6 小时前
【RustyML入门】6.0. 数学工具
开发语言·后端·机器学习·rust·教程
菜冻鱼7 小时前
Python-pytorch-高级技巧
开发语言·人工智能·pytorch·python·深度学习·神经网络·聚类
菜冻鱼8 小时前
Python-pytorch-模型保存与加载
开发语言·人工智能·pytorch·python·深度学习·机器学习
LaughingZhu8 小时前
Product Hunt 每日热榜 | 2026-08-19
经验分享·深度学习·神经网络·百度·产品运营
聪明蛋子哟10 小时前
RL训练Agentic模型实现并行多轮上下文检索:匹配前沿模型且快10倍
人工智能·深度学习·机器学习
bulingg11 小时前
bert输入长度有限,如何处理超长文本?
人工智能·深度学习·bert
菜冻鱼12 小时前
Python-pytorch-数据加载
开发语言·人工智能·pytorch·python·深度学习·机器学习
W_3260012 小时前
Python-OpenCV 轮廓进阶:旋转最小外接矩形、图像矩求质心、嵌套层级 hierarchy、轮廓形状匹配
图像处理·python·opencv·机器学习·计算机视觉
machnerrn13 小时前
智慧交通系列(一)-十字路口车辆闯红灯检测告警抓拍系统(附含数据+源码+模型)
人工智能·python·深度学习