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

一、定义

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

三、总结

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

相关推荐
joshchen2153 小时前
强化学习基础(赵世钰)第二章 贝尔曼方程
人工智能·python·机器学习·强化学习
ZhengEnCi3 小时前
01d-前馈神经网络代码实现 💻
人工智能·深度学习·神经网络
雷帝木木3 小时前
Python 中的配置文件管理:从基础到高级应用
人工智能·python·深度学习·机器学习
雷帝木木3 小时前
Python元编程高级技巧:深入理解代码生成与动态行为
人工智能·python·深度学习·机器学习
一切皆是因缘际会11 小时前
从概率拟合到内生心智:2026 下一代 AI 架构演进与落地实践
人工智能·深度学习·算法·架构
AI科技星11 小时前
全域数学·72分册·射影原本 无穷维射影几何卷细化子目录【乖乖数学】
人工智能·线性代数·算法·机器学习·数学建模·数据挖掘·量子计算
发哥来了12 小时前
AI视频生成模型选型指南:五大核心维度对比评测
大数据·人工智能·机器学习·ai·aigc
发哥来了12 小时前
AI驱动生产线的实际落地:一个东莞厂商的技术选型实录
大数据·人工智能·机器学习·ai·aigc
β添砖java13 小时前
深度学习(19)经典神经网络LeNet
人工智能·深度学习·神经网络