- 关于Transductive和Inductive
维基百科上有一段简洁扼要的定义:Transduction is reasoning from obeserved, specific (training) cases to specific (test) cases. In contrast, induction is reasoning from obeserved training cases to gerneral rules, which are then applied to the test cases.
如何理解这二者呢? - 我们先看下其关于Inductive的定义:
Induction is reasoning from obeserved training cases to gerneral rules, which are then applied to the test cases. Inductive learning
是从特定任务到一般任务的学习,实际上,我们传统的supervised learning都可以理解为是Inductive learning的范畴:基于训练集,我们构建并训练模型,而后将其应用于测试集的预测任务中,训练集与测试集之间是相斥的,即测试集中的任何信息是没有在训练集中出现过的。即模型本身具备一定的通用性和泛化能力。
再看其关于Transductive的定义:Transduction is reasoning from observed, specific (training) cases to specific (test) cases.
大家先理解下上面这句话,其中的obeserved其实同时修饰着后面的training cases和test cases。相比Inductive learning,Transductive learning拥有着更广的视角,在模型训练之初,就已经窥得训练集(带标签)和测试集(不带标签),尽管在训练之时我们不知道测试集的真实标签,但可以从其特征分布中学到些额外的信息(如分布聚集性),从而带来模型效果上的增益。但这也就意味着,只要有新的样本进来,模型就得重新训练。 - 综上,总结一下这二者的区别:
- 模型训练:Transductive learning在训练过程中已经用到测试集数据(不带标签)中的信息,而Inductive learning仅仅只用到训练集中数据的信息。
- 模型预测:Transductive learning只能预测在其训练过程中所用到的样本(Specific --> Specific),而Inductive learning,只要样本特征属于同样的欧拉空间,即可进行预测(Specific --> Gerneral)
- 模型复用性:当有新样本时,Transductive learning需要重新进行训练;Inductive Leaning则不需要。
- 模型计算量:显而易见,Transductive Leaning是需要更大的计算量的,即使其有时候确实能够取得相比Inductive learning更好的效果。
其实,我们仅从它们的字面意思上也可以有些理解,Inductive一般翻译做归纳式,归纳是从特殊到一般的过程,即从训练集中学习到某类样本之间的共性,这种共性是普遍适用的。Transductive一般译作直推式,则显得僵硬许多,意味着必须知道它要推论的所有case长什么样时才能work
链接:https://www.zhihu.com/question/68275921/answer/1574682746