参考:https://blog.csdn.net/JNingWei/article/details/78170171
主动学习(active learning):
主动学习:
有的时候,有类标的数据比较稀少 而 没有类标的数据是相当丰富的。但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。这里是半监督学习的最大区别,其学习算法不需要人工干预,基于自身对未标记数据加以利用。
筛选过程也就是主动学习主要研究的地方了,怎么样筛选数据才能使得请求标注的次数尽量少而最终的结果又尽量好。
主动学习的过程:
有一个已经标好类标的数据集K(初始时可能为空),和还没有标记的数据集U,通过K集合的信息,找出一个U的子集C,提出标注请求,待专家将数据集C标注完成后加入到K集合中,进行下一次迭代。
主动学习的“主动”,指的是主动提出标注请求,也就是说,还是需要一个外在的能够对其请求进行标注的实体(通常就是相关领域人员),即主动学习是交互进行的。
直推学习
至于直推学习,它与半监督学习一样不需要人工干预,不同的是,直推学习假设未标记的数据就是最终要用来测试的数据,学习的目的就是在这些数据上取得最佳泛化能力。相对应的,半监督学习在学习时并不知道最终的测试用例是什么。
验证集 & 测试集
验证集:
模型在一次次重新手动调参并继续训练后所逼近的验证集,可能只代表一部分非训练集,导致最终训练好的模型泛化性能不够。
测试集:
测试集为了具有泛化代表性,往往数据量比较大,测试一轮要很久,所以往往只取测试集的其中一小部分作为训练过程中的验证集。
P.S.
验证集是一定需要的;
如果验证集具有足够泛化代表性,是不需要再整出什么测试集的;
整个测试集往往就是为了在验证集只是非训练集一个小子集的情况下,好奇一下那个靠训练集(训练)和验证集(调参)多次接力训练出来的模型是不是具有了泛化性能,因而加试一下图个确定。