Semi-supervised Learning(半监督学习)

目录

Introduction

Why semi-supervised learning help?

Semi-supervised Learning for Generative Model

Supervised Generative Model

Semi-supervised Generative Model

Low-density Separation Assumption

Self Training

Entropy-based Regularization(基于熵的正则化)

Semi-supervised SVM

Smoothness Assumption

 cluster and then label

Graph-based Approach

Better Representation


Introduction

Supervised Learning(监督学习):

Training data为 ,每一笔data都有输入和输出(标签)。

  • Semi-supervised Learning(半监督学习)

Training data 为 ,其中部分data没有标签。通常情况下无标签的数据远远大于有标签的数据,即U>>R。

半监督学习可以分为以下两种:

  1. Transductive Learning(转换学习):unlabeled data is the testing data,把testing data当做无标签的training data使用,适用于事先已经知道testing data的情况。
  2. Inductive Learning(归纳学习):unlabeled data is not the testing data,不把testing data的feature拿去给机器训练,适用于事先并不知道testing data的情况(更普遍的情况)
  • 为什么要做semi-supervised learning?

实际上我们不缺data,只是缺有label的data。

Why semi-supervised learning help?

unlabeled data虽然只有input,但它的分布,却可以告诉我们一些事情。以下图为例,在只有labeled data的情况下,红线是二元分类的分界线。但当我们加入unlabeled data的时候,由于特征分布发生了变化,分界线也随之改变。

semi-supervised learning的使用往往伴随着假设,而该假设的合理与否,决定了结果的好坏程度;比如上图中的unlabeled data,它显然是一只狗,而特征分布却与猫被划分在了一起,很可能是由于这两张图片的背景都是绿色导致的,因此假设是否合理显得至关重要。

Semi-supervised Learning for Generative Model

Supervised Generative Model

在监督学习中,进行分类训练时,我们首先会计算class1和class2的先验概率P(C1)P(C2) ,然后计算类条件概率P(x|C1)P(x|C2) (假设它们服从高斯分布),最后计算后验概率P(C1|x)

Semi-supervised Generative Model

在基于监督模型的基础上,增加一些无标签的数据之后,就会发现之前那的μ和∑是不合理的,所以需要用无标签的数据重新估计。

具体步骤如下:

  1. 初始化class1和class2的均值、协方差矩阵以及先验概率,统称为θ。可以随机初始化,也可以用有标签数据估算。
  2. 根据θ计算出unlabeled data的后验概率。
  3. 更新参数。 

以上的推导基于的基本思想是,把unlabeled data 看成一部分属于 ,一部分属于 ,则用全概率公式就可以求出x属于unlabeled data的概率。

Low-density Separation Assumption

通俗来讲,就是这个世界是非黑即白的,在两个class的交界处data的密度(density)是很低的,它们之间会有一道明显的鸿沟,此时unlabeled data(下图绿色的点)就是帮助你在原本正确的基础上挑一条更好的boundary。

Self Training

  1. 首先从labeled data去训练一个model ;
  2. 对unlabeled data打上label,叫作pseudo label(伪标签);
  3. 从unlabeled data中拿出一些data加到labeled data里;
  4. 继续训练model

  • self-training在regression上有用吗?

 Regression的output是一个数值,因为unlabeled data代入模型变成labeled data,重新训练的模型不会发生改变。

该方法与之前提到的generative model还是挺像的,区别在于:

  1. Self Training使用的是hard label:假设一笔data强制属于某个class。
  2. Generative Model使用的是soft label:假设一笔data可以按照概率划分,不同部分属于不同class。

可以看到,在neural network里使用soft label是没有用的,因为把原始的model里的某个点丢回去重新训练,得到的依旧是同一组参数,实际上low density separation就是通过强制分类来提升分类效果的方法。

Entropy-based Regularization(基于熵的正则化)

这种方法是Self-training的进阶版。我们可以使用Entropy评估分布 的集中程度,Entropy越大分布越离散。反之则分布越集中。因此,在unlabeled data上,output的entropy要越小越好。

对labeled data来说,它的output要跟正确的label越接近越好,用cross entropy表示;对unlabeled data来说,要使得该output的entropy越小越好,两项综合起来,可以用weight来加权,以决定哪个部分更为重要一些。

Semi-supervised SVM

SVM为两个类别的数据找到一个boundary,一方面要有最大的margin,让这两个class分的越开越好;另一方面,要有最小的分类错误。

SVM穷举所有unlabled data的类别并进行计算,最终选择与两个类别的margin最大、分类错误最小的boundary。

但是这么做会存在一个问题,数据量大的时候,几乎难以穷举完毕。下面给出的paper提出了一种approximate的方法,基本精神是:一开始你先得到一些label,然后每次改一笔unlabeled data的label,看看可不可以让你的objective function变大,如果变大就去改变该label。

Smoothness Assumption

smoothness assumption的基本精神是:近朱者赤,近墨者黑。即相似的x 具有相同的y ,其具体定义为:

  1. 的分布是不平均的。
  2. 如果今天x1和x2在一个高密度的区域很相似的话, 才相同。

以手写数字识别为例,对于最右侧的2和3以及最左侧的2,显然最右侧的2和3在pixel上相似度更高一些;但如果把所有连续变化的2都放进来,就会产生一种“不直接相连的相似”,根据Smoothness Assumption的理论,由于2之间有连续过渡的形态,因此第一个2和最后一个2是比较像的,而最右侧2和3之间由于没有过渡的data,因此它们是比较不像的。人脸的过渡数据也同理。

Smoothness Assumption在文件分类上是非常有用的。假设对天文学(astronomy)和旅行(travel)的文章进行分类,它们有各自的专属词汇,此时如果unlabeled data与label data的词汇是相同或重合(overlap)的,那么就很容易分类;但真实情况中unlabeled data和labeled data之间可能没有任何重复的word,因为世界上的词汇太多了,sparse的分布中overlap难以发生。

但如果unlabeled data足够多,就会以一种相似传递的形式,建立起文档之间相似的桥梁。

 cluster and then label

cl then label就是先聚类后标记。假设数据分布如下,橙色是class 1,绿色是class 2,蓝色是未标注数据。接下来做聚类,可能把所有数据分成3个cluster。在cluster1里,class 1的label最多,那cluster1里所有数据标记为class 1,同样的cluster2和cluster3都标记为class 2。然后把标记后的数据拿去learn。

Graph-based Approach

通过引入图结构,来表达通过高密度路径进行连接这件事情。所谓的高密度路径的意思是说,如果有两个点,在图上是相连的,那它们就是同一个class,如果没有相连,就算距离很近,也走不到。

  • 如何构建图?
  1. 先定义两个对象之间的相似度
  2. 然后就是添加边,构建graph,方式有很多种: k nearest neighbor:计算数据与数据之间的相似度,然后设置k例如3,就是3个最相似的点相连。 e-Neighborhood:只有相似度超过某个阈值的点才会相连。
  3. 除此之外,还可以给Edge特定的weight,让它与相似度s成正比。

graph-based approach的基本思想就是,在graph上已经有一些labeled data,那么跟它们相连的point,属于同一类的概率就会上升,每一笔data都会去影响它的邻居,,并且这个影响是会随着edges传递出去的。但是如果数据不够多,中间就有断开,那信息就传递不过去。

然后定义一个S函数,定量分析graph的平滑度,数值越小表示越滑。

 S可以稍微整理下,写成向量形式如下图。

如果要把平滑度考虑到神经网络里时,就是在原来的损失函数里加上 。不一定要在output上计算平滑度,在深度神经网络里,可以把平滑度计算放在网络的任何地方。

Better Representation

Better Representation的精神是,去芜存菁,化繁为简。就是要抓住核心。 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Temporal Ensembling是一种半监督学习方法,它使用了时间上的一致性来提高模型的性能。该方法通过对未标记数据进行预测,并将预测结果与之前的预测结果进行平均,从而获得更加稳定和准确的预测结果。同时,该方法还使用了一个噪声注入技术来增加模型的鲁棒性。该方法已经在图像分类、语音识别等领域取得了很好的效果。 ### 回答2: Temporal Ensembling是一种半监督学习方法。它主要通过使用同一批数据的多个副本,在单批数据上进行迭代学习来提高预测模型的准确性。这种方法能够很好地利用已有数据中的潜在信息,同时也能避免因缺乏大量标注数据而损失准确性的问题。 Temporal Ensembling的核心思想是使用模型的历史预测结果来生成新的虚拟标签。在训练期间,模型不断地更新,同时不断生成新的“标注”,并将这些新的“标注”与原始标注数据一起训练。这样,模型可以从大量带有“标注”的数据中学习并逐渐提高其准确性。 Temporal Ensembling方法在许多学习任务中都展现出优良的性能,比如图像分类、物体识别、图像分割、语音识别等。其中,与其他半监督学习方法相比,Temporal Ensembling在半监督图像分类中的性能最为出色。 尽管Temporal Ensembling的性能非常出色,但是其中的一些问题仍需要解决。 首先,这种方法需要大量的GPU计算力和存储空间,并且需要复杂的算法设计。其次,由于该方法是基于生成虚拟标签的,因此,如果模型在未来预测错误而不正确地生成了虚拟标签,那么可能会产生负面影响。 总之,Temporal Ensembling是一种有效的半监督学习方法,其取得的结果显示出高水平的准确性。与其他方法相比,Temporal Ensembling具有更好的稳健性及效能。也因此,它在深度学习领域中被广泛应用。 ### 回答3: Temporal Ensembling是一种半监督学习技术,可以用于训练深度神经网络。该技术旨在利用未标记的数据来改善模型的泛化能力。在传统的监督学习中,我们需要分类器预测每个样本的标签,并将其与真实标签进行比较以计算损失函数。然而,在许多现实世界的场景中,标记数据的数量通常是有限的,这使得监督学习变得更加困难和昂贵。相反,在半监督学习中,我们将未标记的数据与标记数据结合在一起进行训练。 Temporal Ensembling的实现是基于一个假设,即相似的输入应该具有相似的潜在表示形式。具体来说,该技术通过在连续训练周期中收集了单次训练中的模型预测,通过将这些预测结果整合成一个移动平均版本来构建模型共识。这可以看作是把模型的预测提供给下一个周期的训练,让模型逐渐整合起来,在连续的训练周期中收集了对训练数据更准确的表示。在训练过程中,我们不仅使用真实标签来计算损失函数,还将平均预测意味着的交叉熵添加到损失函数中。这使得模型学习时能够尽可能地匹配模型共识中的数据。 虽然在许多情况下,半监督学习可以增加模型学习任务的效果,但它依赖于许多因素,包括未标记样本的数量、分布和标记样本之间的相似性。使用Temporal Ensembling时,需要做好降噪处理,适当选择数据能够真正提高该技术效果。此外,需要注意的是,Temporal Ensembling只能在没有过度拟合数据集时才能有效,因为此技术基于模型共识构建。在实际应用中,可以将Temporal Ensembling与其他半监督学习技术结合使用,以提高模型性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值