理解机器学习中的学术名词:

  • 监督学习(supervised learning)
  • 半监督学习(semi-supervised learning)
  • 自监督学习(self-supervised learning)
  • 主动学习(active learning)
  • 无监督学习(unsupervised learning)
  • 直推式学习(transductive learning)
  • 归纳式学习(inductive learning)

监督学习

利用标签数据训练模型,目前大部分模型都是有监督的,主要瓶颈在于人工标注。

半监督学习

半监督学习特指的是学习算法不需要人工干预,基于自身对未标记数据加以利用,来提高学习模型的泛化性能。

一般认为半监督学习包含纯半监督学习 pure semi supervised learning 和直推学习 transductive learning 。

自监督学习

自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息来提高学习表征的质量,通过这种构造监督信息对网络进行训练,从而可以学习到对下游任务具有价值的表征。

辅助任务:可以认为是一种为达到特定训练任务而设计的间接任务。pretext任务的好处是为了简化原任务的求解,在深度学习中就是避免人工标记样本,实现无监督的语义提取。Pretext任务可以进一步理解为:对目标任务有帮助的辅助任务。主要pretext task包括:图像旋转、图像着色、图像修复。

对比学习

自监督学习算法分为两种:对比方法和生成方法。

对比学习属于自监督学习,所以对比学习是没有标签的。对比学习是通过构造正负样例来学习特征。如何构造正负样例对对比学习来说很重要。对于一个输入样本xx 来说,存在与之相似的样本x+x^+以及与之不相似的样本xx^-,对比学习要做的就是学习一个编码器ff,这个编码器ff 能够拉近xx 与其正样本间的距离,推远xx 与其负样本之间的距离。

主动学习

主动学习是指:大多数情况下,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,此时学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注,因此需要一个外在的专业人员能够对其进行标注的实体,即主动学习是交互进行的。这个筛选过程是主动学习主要研究点。

直推式学习与归纳式学习

参考:Inductive vs. Transductive Learning

归纳式学习

Induction is reasoning from observed training cases to general rules, which are then applied to the test cases.

简而言之,归纳式学习是从训练样本中学习规则然后应用在测试样本中。常用的监督学习就是归纳学习。

直推式学习

Transduction is reasoning from observed, specific (training) cases to specific (test) cases.

直推式学习是同时使用训练样本和测试样本来训练模型,然后再次使用测试样本来测试模型效果。

两者区别

以数学的形式来表达可以更加容易地理解这两种学习方法及其区别:

考虑普通学习问题,训练集为D={Xtr,ytr}\mathcal{D}=\left\{\mathbf{X}_{t r}, \mathbf{y}_{t r}\right\} ,测试(未标记)Xte\mathbf{X}_{t e} ,当Xte\mathbf{X}_{t e}不出现在训练集中时这种情况是 归纳式学习

半监督学习的情况,训练集为D={Xtr,ytr,Xun}\mathcal{D}=\left\{\mathbf{X}_{t r}, \mathbf{y}_{t r}, \mathbf{X}_{u n}\right\} ,测试Xte\mathbf{X}_{t e} ,此时Xun\mathbf{X}_{un}Xte\mathbf{X}_{t e}都是未标记的,且测试的Xte\mathbf{X}_{t e} 在训练时没有见过,这种情况是 半监督归纳式学习

如果不管Xte\mathbf{X}_{t e} ,而是想知道对Xun\mathbf{X}_{un} 的效果怎么样时,由于此时在训练的时利用了Xun\mathbf{X}_{un} 的特征信息,这种情况称为 半监督直推式学习

简单来说,transductive 和 inductive 的区别在于我们想要预测的样本,是不是我们在训练的时候已经见(用)过的。

归纳学习是基于“开放世界”的假设,直推学习是基于“封闭世界”的假设。

通常 transductive 比 inductive 的效果要好,因为 inductive 需要从训练 generalize 到测试。

参考:如何理解 inductive learning 与 transductive learning?

联系作者