机器学习教程 之 半监督学习 Coreg 协同回归算法 (论文、算法、数据集、代码)

这篇博客介绍的是一篇用于半监督回归问题的方法:Semisupervised Regression with
Cotraining-Style Algorithms
。 这是周志华老师在2007年较早的一篇文章,其特点在于,大多数半监督的算法都是用于分类问题的,而Coreg则以相对较简单的方式实现了半监督的回归。

之前还写过两篇半监督分类的算法,见
机器学习教程 之 半监督学习 Co-training, 以及
机器学习教程 之 半监督学习 Tri-training

此外,一些图模型也可以用于半监督的分类和回归
DeepLearning | 图注意力网络Graph Attention Network
DeepLearning | 图卷积神经网络(GCN)解析

这些博客都提供了算法的讲解和python的代码复现,感兴趣的可以了解一下

一、Co-regression (Coreg) 模型

和 Cotraining 类似,Coreg采用的也是两个学习器相互给无标签数据打标签的方法。不同点在于Coreg针对的是回归问题。

相比于分类问题,该场景下回归问题的难点在于如何挑选置信度较高的伪标签?分类问题很简单,对于一个样本点,如果分类器输出类别的后验概率足够高,那么就可以认为这个预测是准确的,因而可以将该预测设置为无标签数据的伪标签 (详细见 Co-training)。但是对于回归问题而言,回归器是没有后验概率这一说法的,所以Core的主要贡献就在于给出了评估预测可靠程度的方法,从而为无标签数据提供伪标签。

Coreg使用了两个KNN回归器,这两个回归器的不同是通过设定不同的距离度量和近邻数量实现的。对一个回归器对一个无标签样本 xux_{u} 预测的可靠程度的评估,是通过下面的指标来衡量的

机器学习教程 之 半监督学习 Coreg 协同回归算法 (论文、算法、数据集、代码)
上式中,Ωu\Omega_{u} 指的是 xux_{u} 在有标签数据集 LL 中的近邻样本集,hh表示的是该KNN回归器,hh^{'} 表示的是将xux_{u}yu=h(xu)y_{u} =h(x_{u}) 加入到训练集以后更新得到的回归器。简单来说 δxu\delta_{x_{u}} 评估的是将该伪标签加入到训练集以后对近邻预测的影响,δxu\delta_{x_{u}}越大,表示加入该伪标签对于准确率提升的收益越大,那么该伪标签就越有可能是正确的

二、Coreg算法流程

机器学习教程 之 半监督学习 Coreg 协同回归算法 (论文、算法、数据集、代码)

三、模型python代码

机器学习教程 之 半监督学习 Coreg 协同回归算法 (论文、算法、数据集、代码)

有问题可以私信博主,点赞关注的一般都会回复,一起努力,谢谢支持。
微信搜索“老和山算法指南”获取下载链接与技术交流群