主动学习、纯半监督学习与直推学习
本文主要介绍主动学习、纯半监督学习与直推学习的概念:
- 主动学习(active learning)
- 纯半监督学习(semi-supervised learning)
- 直推学习(transductive learning)
引言
看论文时,看到了transductive learning相关的概念,由于是第一次接触,想先找个教材看看,就翻看了周志华老师的《机器学习》,但是很遗憾,还是没怎么理解,于是从网上找了一些资料,共享一下,以飨观众。
主动学习(active learning)
主动学习指的是这样一种学习方法:大多数情况下,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。这个筛选过程也就是主动学习主要研究的地方了。
半监督学习(semi-supervised learning)
半监督学习特指的是学习算法不需要人工干预,基于自身对未标记数据加以利用,来提高学习模型的泛化性能。
一般认为半监督学习包含“纯半监督学习(pure semi-supervised learning和直推学习(transductive learning)。
三者之间的联系:
主动学习、纯半监督学习、直推学习都属于利用未标记数据的学习技术,只是其基本思想不同。
三者之间的区别:
主动学习与半监督学习的区别:
主动学习的主动指的是主动提出标注请求,也就是说还需要一个外在的能够对其进行标注的实体(通常是相关人员),即主动学习是交互进行的。其目标是使用尽量少的“查询”(query)来获得尽量好的性能。主动学习引入了额外的专家知识,用过与外界的交互来将部分未标记样本转变为有标记样本。
纯半监督学习与直推学习的区别:
假设有如下的数据集,其中训练集为
XL
X
L
和
XU
X
U
,测试集为
Xtest
X
t
e
s
t
,标记样本数目为L,未标记样本数目为U,L<<
U
- 标记样本( XL X L , YL Y L )={ X1:L X 1 : L , Y1:L Y 1 : L }
- 未标记样本 XU X U ={ XL+1:U X L + 1 : U },训练时可用
- 测试样本 Xtest X t e s t ={ XU+1: X U + 1 : },只有在测试时才可以看到
纯半监督学习是一种归纳学习(inductive learning),可以对测试样本 Xtest X t e s t 进行预测。也即纯半监督学习是基于“开放世界”的假设。
直推学习是transductive learning,仅仅可以对未标记样本 XU X U 进行标记,模型不具备对测试样本 Xtest X t e s t 进行泛化的能力。直推学习是基于“封闭世界”的假设。
直推学习假设未标记的数据就是最终要用来测试的数据,学习的目的就是在这些数据上取得最佳泛化能力。相对应的,纯半监督学习在学习时并不知道最终的测试用例是什么。
[1]: 周志华 《机器学习》