[半监督学习] Semi-supervised Learning for Regression with Co-training by Committee

提出了一个半监督回归框架 CoBCReg, 其既不需要冗余独立视图, 也不需要不同的基础学习算法. 现实数据并不总是能被划分为两个冗余的视图, 因此, 与传统的 Co-Training 相比, CoBCReg 基于单视图 .

论文地址: Semi-supervised Learning for Regression with Co-training by Committee
会议: ICANN 2009
任务: 回归

Co-Training: 是一种流行的 SSL 范式, 其中两个分类器在两个充分且独立的视图上迭代训练. 分别使用两个视图训练两个分类器, 然后在每次迭代中, 每个分类器标记并选择一些未标记的示例来增加另一个分类器的训练集. 尽管多视图协同训练适用于某些领域, 但它的多视图要求在许多实际应用中是不切实际的.

Statistical Co-learning: 使用两种不同的监督学习算法将输入空间划分为一组等价类, 并应用 k k k 折交叉验证:

  • 在每次迭代中选择最可靠的示例进行标记.
  • 结合两个假设产生最终决定.

Tri-Training: 原始训练集通过引导采样生成新的数据集, 将这个数据集作为三个分类器的初始训练集, 进行训练. 然后在 Tri-Training 过程中细化这些分类器, 并通过多数投票产生最终假设.

CoBCReg(Co-training by Committee for Regression): 基于单视图委员会的半监督回归算法, 它扩展了标准的 Co-Training 算法.

  • 基于 Bagging 构建的 RBF 网络回归器的集合.
  • 基于闵可夫斯基距离而不是欧几里得距离的新高斯基函数.

为了 CoBCReg 的有效性, 委员会成员之间必须存在一定的多样性, 并且 CoBCReg 应在 SSL 过程中保持这种多样性. 可以通过使用不同的训练子集训练回归器来实现, 也可以通过使用不同的距离度量和随机初始化的回归器参数来实现.

1. CoBCReg 算法

Co-Training 风格的算法存在两个问题:

  1. 未标记示例的输出被一个回归器错误地估计, 这导致将噪声示例添加到另一个回归器的训练集中.
  2. 不能保证一个回归器选择的最有信心的示例是对另一个回归器有用的示例(即具有信息性).

为了缓解前一个问题, CoBCReg 中使用了一个预测器委员会来预测未标记的示例. 对于后一个问题, 每个回归器为自己选择信息量最大的示例.

符号系统如下:

  • L = { ( x i , y i ) } i = 1 m L = \{(x_i,y_i)\}^m_{i=1} L={(xi,yi)}i=1m U = { x i } i = 1 n U = \{x_i\}^n_{i=1} U={xi}i=1n 分别表示标记和未标记的训练集.
  • N N N 为委员会成员个数, 即集成的学习算法数量.
  • T T T 为 Co-Training 最大迭代次数.
  • u u u 为缓冲池大小.
  • g r gr gr 为增长率.
  • k k k 为 RBF 隐藏节点个数.
  • α \alpha α 为 RBF 宽度参数.
  • p i p_i pi 为第 i i i 个回归器的距离顺序排列.

CoBCReg 算法如下所示:
在这里插入图片描述

  • 步骤1. 遍历委员会中的每一个回归器, 对标记数据集使用随机采样获得 { L i , V i } \{L_i,V_i\} {Li,Vi}, 其中 L i L_i Li 为包内数据, 即选择的用于训练的数据, V i V_i Vi 为包外数据(用于测试集). 利用 RBFNN 训练得到回归器 h i h_i hi.
  • 步骤2. 对于每次迭代 i i i, 从 U U U 中随机抽取 u u u 个示例到缓冲池 U ′ U' U. 应用 SelectRelevantExamples 方法使同伴委员会 H i H_i Hi (除 h i h_i hi 之外的所有成员组成)估计 U ′ U' U 中每个未标记示例的输出, 并返回最有意义的未标记示例 π i \pi_i πi.
  • 步骤3. 对于每次迭代 i i i, 如果 π i \pi_i πi 不为空, 则将其加入到 L i L_i Li, 然后利用更新后的 L i L_i Li 通过 RBFNN 重新训练回归器 h i h_i hi.
  • 重复步骤2, 3, 直到达 t t t 到最大迭代次数 T T T U U U 变为空.
  • 最终返回回归器 H ( x ) H(x) H(x), 即委员会所有回归器的加权和.

其中 SelectRelevantExamples 算法如下:
在这里插入图片描述

  • 首先计算 h j h_j hj 在验证集 V j V_j Vj 上的 RMSE ϵ j \epsilon_j ϵj.
  • 对于 U ′ U' U 中每个未标记示例 x u x_u xu, 对委员会中的所有回归器(除去 h j h_j hj)的预测结果取均值, 得到 { x u , H j ( x u ) } \{x_u,H_j(x_u)\} {xu,Hj(xu)}, 并将其加入到 L j L_j Lj 中.
  • 利用更新后的 L j L_j Lj 通过 RBFNN 重新训练回归器 h j ′ h_j' hj. 然后 h j ′ h'_j hj 计算在验证集 V j V_j Vj 上的 RMSE ϵ j ′ \epsilon'_j ϵj.
  • 接着计算 Δ x u ← ( ϵ j − ϵ j ′ ) / ϵ j \Delta_{x_u} \leftarrow (\epsilon_j-\epsilon'_j)/ \epsilon_j Δxu(ϵjϵj)/ϵj.
  • U ′ U' U 迭代完成后, 定义空集合 π \pi π.
  • 通过 g r gr gr 次迭代, 选择 g r gr gr 个使 Δ x u \Delta_{x_u} Δxu 最大的结果对应的未标记示例 x u x_u xu, 将其加入到 π j \pi_j πj 中.
  • 最后返回 π j \pi_j πj.

2. 创建多样性

回归器的组合只有在它们具有多样化的情况下才有效. 显然, 如果它们相同, 那么对于每个回归器, 其他回归器估计的输出将与回归器自身估计的输出相同.

在 CoBCReg 中, 创建多样性有三个来源, RBF 网络回归器的训练使用:

  • 不同的引导样本.
  • 不同的 RBF 中心随机初始化.
  • 不同的距离测量.

两个 D D D 维特征向量 x 1 x_1 x1 x 2 x_2 x2 之间的 Minkowski 距离定义如下:
∥ x 1 − x 2 ∥ p = ( ∑ i = 1 D ∣ x 1 i − x 2 i ∣ p ) 1 p \lVert x_1-x_2 \rVert_p=(\sum_{i=1}^D\vert x_{1i}-x_{2i}\vert^p)^{\frac{1}{p}} x1x2p=(i=1Dx1ix2ip)p1
用于以不同的距离阶 p p p 训练不同的 RBF 网络回归器. 一般来说, 阶数越小, 得到的距离度量对数据变化的鲁棒性越强. 这种设置的另一个好处是, 由于很难预先找到给定任务的最佳 p p p 值, 因此基于不同 p p p 值的回归器可能会表现出互补的行为.

CoBCReg 不会损害回归器之间的多样性, 因为回归器选择的示例已从 U U U 中删除. 因此, 其他回归器无法进一步选择它们, 这使得回归器的训练集不相似. 即使训练集变得相似, 回归器仍然可能是多样化的, 因为它们使用不同的距离度量进行实例化.

3. 置信度度量

影响任何 CoTraining 算法性能的最重要因素之一是如何衡量给定未标记示例的置信度. 不准确的置信度估计可能导致选择错误标记的示例并将其添加到标记的训练集中, 因此可能会对 SSL 算法的性能产生负面影响.

对于分类, 这是一项简单的任务, 因为许多分类器可以估计类后验概率, 例如朴素贝叶斯分类器, 或者返回可以转换为类概率估计的实值输出, 例如神经网络和决策树. 假设分类器估计实例 x 1 x_1 x1 属于类 w 1 w_1 w1 w 2 w_2 w2 的概率分别为 0.9 和 0.1, 而实例 x 2 x_2 x2 的概率分别为 0.6 和 0.4, 那么分类器对 x 1 x_1 x1 属于类 w 1 w_1 w1 的置信度比 x 2 x_2 x2 高. 因此, 可以使用每个未标记示例的类概率分布为每个未标记示例分配一个标记置信度.

而回归中可能预测的数量是未知的. 在 CoBCReg 中, 提供另一种置信度度量, 称为选择置信度(参见算法 2). 最相关选择的示例应该是最小化验证集上的回归误差的示例.

4. RBF 网络

RBF 网络的两阶段学习算法用于训练以多元高斯径向基函数(g)作为激活函数的回归器. 在第一阶段, RBF 中心通过使用 Minkowski 距离执行 k k k-means 聚类来确定. 使用从 L L L 中随机选择的训练示例初始化高斯中心集. 第 j j j 个 RBF 神经元的宽度( σ j \sigma_j σj)设置为: 中心 c j c_j cj 和两个最近的高斯中心之间的平均 Minkowski 距离乘以 α \alpha α. 在第二阶段, 最接近有限标记示例的输出层权重 W W W 直接通过矩阵伪逆技术确定: W = H + T W = H+T W=H+T, 其中 T T T 是训练示例的目标输出, H H H 是激活矩阵:
H i j = g ( x i ; c j ; σ j , p ) = g ( ∥ x − c j ∥ p / σ j ) = exp ⁡ ( − ∥ x − c j ∥ p 2 2 σ j 2 ) H_{ij}=g(x_i;c_j;\sigma_j,p)=g(\lVert x-c_j \rVert_p/\sigma_j)=\exp(-\frac{\lVert x-c_j\rVert_p^2}{2\sigma^2_j}) Hij=g(xi;cj;σj,p)=g(xcjp/σj)=exp(2σj2xcjp2)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Semi-supervised classification with graph convolutional networks (GCNs) is a method for predicting labels for nodes in a graph. GCNs are a type of neural network that operates on graph-structured data, where each node in the graph represents an entity (such as a person, a product, or a webpage) and edges represent relationships between entities. The semi-supervised classification problem arises when we have a graph where only a small subset of nodes have labels, and we want to predict the labels of the remaining nodes. GCNs can be used to solve this problem by learning to propagate information through the graph, using the labeled nodes as anchors. The key idea behind GCNs is to use a graph convolution operation to aggregate information from a node's neighbors, and then use this aggregated information to update the node's representation. This operation is then repeated over multiple layers, allowing the network to capture increasingly complex relationships between nodes. To train a GCN for semi-supervised classification, we use a combination of labeled and unlabeled nodes as input, and optimize a loss function that encourages the network to correctly predict the labels of the labeled nodes while also encouraging the network to produce smooth predictions across the graph. Overall, semi-supervised classification with GCNs is a powerful and flexible method for predicting labels on graph-structured data, and has been successfully applied to a wide range of applications including social network analysis, drug discovery, and recommendation systems.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值