迁移学习与主动学习

1.什么时候要进行迁移学习?

目前大多数机器学习算法均是假设训练数据以及测试数据的特征分布相同。然而这在现实世界中却时常不可行。例如我们我们要对一个任务进行分类,但是此任务中数据不充足(在迁移学习中也被称为目标域),然而却有大量的相关的训练数据(在迁移学习中也被称为源域),但是此训练数据与所需进行的分类任务中的测试数据特征分布不同(例如语音情感识别中,一种语言的语音数据充足,然而所需进行分类任务的情感数据却极度缺乏),在这种情况下如果可以采用合适的迁移学习方法则可以大大提高样本不充足任务的分类识别结果。也即是大家通常所说的将知识迁移到新环境中的能力,这通常被称为迁移学习。有些时候如果迁移的不合适则会导致负迁移,例如当源域和目标域的任务毫不相关时有可能会导致负迁移。

2.迁移学习迁移什么?

在一些学习任务中有一些特征是个体所特有的,这些特征不可以迁移。而有些特征是在所有的个体中具有贡献的,这些可以进行迁移。(简单总结就是不迁移样本个体特有的特征,迁移那些对所有个体都有贡献的特征。

3.迁移学习的种类

归纳迁移学习(Inductive Transfer Learning),直推式迁移学习(Transductive Transfer Learning),无监督迁移学习(unsupervised transfer learning)

归纳迁移学习(Inductive Transfer Learning) 
目标任务与原任务不同,目标域和源域可能相同也可能不同。即。这种迁移学习方式又被分为四种形式 
1)实例知识迁移学习(Transferring knowledge of instances) 
基于实例的迁移学习的基本思想是,尽管目标域中部分带标签训练数据和源训练数据或多或少会有些不同,但是目标域中部分训练数据中应该还是会存在一部分比较适合用来训练一个有效的分类模型,并且适应测试数据。于是,目标就是目标域中部分带标签训练数据中找出那些适合测试数据的实例,并将这些实例迁移到源训练数据的学习中去。(不知道这样理解是否正确,原文为although the source domain data cannot be reused directly, there are certain parts of the data that can still be reused together with a few labeled data in the target domain.) 
这种方法比较适合与源数据与目标数据中部分带标签数据非常接近的情况。 
2)特征知识迁移(Transferring knowledge of feature representations) 
基于特征的迁移学习主要是找到一种好的特征表示最小化域的不同。并且根据源域中带标签样本是否充足可以分为有监督以及无监督学习方法。 
3)参数知识迁移 (Transferring knowledge of parameters) 
大部分基于参数的迁移学习均是以不同域的模型共享了一些参数或者是贡献了一些先验分布为前提的。 
4)相关知识迁移 (Transferring relational knowledge) 
这种迁移学习中源域和目标域的数据是相关的。例如newworked data以及social network data。它们的数据之间存在关联。

直推式迁移学习(Transductive Transfer Learning) 
直推式迁移学习的原任务和目标任务是相同的,目标域和源域可能相同也可能不同。 
它又可以被分为a)特征空间不同以及b)特征空间相同,但边缘概率分布不同(这种情况和domain adaptation相似) 
直推式迁移学习仍然包括实例知识迁移学习(Transferring knowledge of instances)以及特征知识迁移(Transferring knowledge of feature representations)(这种情况多是在无监督学习模型中进行的。)

无监督迁移学习(unsupervised transfer learning) 
无监督迁移学习的原任务和目标任务式不相同,且目标域数据以及源域数据都没有标签。 
例如最近提出的self-taught clustering,transferred discriminative analysis(TDA)属于无监督迁移学习。 
且这些无监督特征学习只存在特征知识迁移(Transferring knowledge of feature representations)。

4.主动学习简介

我们使用一些传统的监督学习方法做分类的时候,往往是训练样本规模越大,分类的效果就越好。但是在现实生活的很多场景中,标记样本的获取是比较困难的,这需要领域内的专家来进行人工标注,所花费的时间成本和经济成本都是很大的。而且,如果训练样本的规模过于庞大,训练的时间花费也会比较多。那么有没有办法,能够使用较少的训练样本来获得性能较好的分类器呢?主动学习(Active Learning)为我们提供了这种可能。主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。

在人类的学习过程中,通常利用已有的经验来学习新的知识,又依靠获得的知识来总结和积累经验,经验与知识不断交互。同样,机器学习模拟人类学习的过程,利用已有的知识训练出模型去获取新的知识,并通过不断积累的信息去修正模型,以得到更加准确有用的新模型。不同于被动学习被动的接受知识,主动学习能够选择性地获取知识。

5.主动学习的模型

A=(C,Q,S,L,U),

C为一组或者一个分类器

L是用于训练已标注的样本

U是未标注样本池

Q是查询函数,用于从未标注样本池U中选择数据

S是督导者,可以为U中样本标注正确的标签

学习者通过少量初始标记样本L开始学习,通过一定的查询函数Q选择出一个或一批最有用的样本,并向督导者询问标签,然后利用获得的新知识来训练分类器和进行下一轮查询。主动学习是一个循环的过程,直至达到某一停止准则为止。

6.如何选择样本

主动学习一个很重要的问题是如何选择样本。根据获取未标注数据样本方 式 不 同 , 主 动 学 习 算 法 可 以 分 为 基 于 流 ( stream-based ) 和 基 于 池(pool-based)的学习策略,基于流的方法是对依次到来的每一个查询样例,判断其是否需要提交给督导者进行标注;基于池的方法是针对新来的样例进行缓存,当缓存到一定数目时,在缓存中按照标准选择需要督导者标注的样例。

基于池的学习策略是当前应用最多的、理论最充分的一种策略。

基于池的主动学习方法根据选择样本标注的方法不同,可以分为基于不确定度的方法(Uncertainty Sampling)、投票选择法(Query-By-Committee)、模型变化期望(Expected  Model  Change)、误差减少期望(Expected  Error Reduction)、方差减少原则(Variance Reduction)及重量密度(Density-Weighted Method)等多种方法。其中最常用的是基于不确定度的方法,主动学习器选择最不确定的那些样本提交给督导者进行标注。这种方法对概率模型来说是非常便捷的选择策略。

原文地址:https://www.cnblogs.com/dyl222/p/11140962.html

时间: 2024-10-27 09:34:33

迁移学习与主动学习的相关文章

Deep Active Learning 深度主动学习

Deep Active Learning 最上方为监督学习,对面为非监督学习,之间包括增强学习.半监督学习.在线学习.主动学习. Supervised Learing 将未标记的数据交给Work进行标记,然后将标记数据交给Learner进行训练. Semi-Supervised Learning 在监督学习的基础上加了一条线,也就是把大量的未标记数据和少量的标记数据交给Learner进行训练,这样可以减少人工标记的时间. Active Learning 通过Learner来决定哪些数据需要被标记

5月学习月~比拼学习 上浮力

5月学习月活动 一.活动对象 所有微职位学员 二.活动时间 2018年5月7日-2018年5月27日 (合计三周,21天) 三.活动目标 提升大家的学习能力,形成被动学习变成主动学习的好习惯.通过学习排行榜的学习时长数据排名 能激发大家学习的积极性和主动性,能更好的促进大家进行深度学习. 四.活动规则 (1)班级学习时长排行榜每周一(14.21.28日)发布:班级学习时长前10名同学 (2)学院学习时长排行总榜 (29日)发布:计算(5月7日-5月27日)每个班学员的学习时长数据,计算微职位的排

主动学习简介

我们使用一些传统的监督学习方法做分类的时候,往往是训练样本规模越大,分类的效果就越好.但是在现实生活的很多场景中,标记样本的获取是比较困难的,这需要领域内的专家来进行人工标注,所花费的时间成本和经济成本都是很大的.而且,如果训练样本的规模过于庞大,训练的时间花费也会比较多.那么有没有办法,能够使用较少的训练样本来获得性能较好的分类器呢?主动学习(Active Learning)为我们提供了这种可能.主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来

主动学习-1

http://videolectures.net/icml09_dasgupta_langford_actl/ ? ? 主动学习目的: 尽可能少的标注,获取尽可能好的训练结果 一般来说我们希望我们训练的模型能够对于natural distribution也就是说truly underlying distribution表现最好 ? ? 对于数据集合的随机抽取标注能够做到这一点,但是对于主动学习比如上面的策略,我们会倾向选取靠近分类面的点,那么我们的训练集合的数据点就会集中在分类面两侧,也就是说随

[测试十年]搜狗测试第一年:主动学习篇

前情介绍: 小明和娜娜刚工作一年,他们有一个共同的leader-大熊. 小明在这一年里,学会了主动反馈,学会了细心谨慎,学会了融入团队. 今天小明又学会了主动学习,经过是怎样的呢?且听我慢慢道来~ 大熊每周三上午都会召开组内例会,娜娜发现每次例会上小明都有些心不在焉. 例会结束,大家去吃午饭,娜娜坐到小明旁边. 娜娜:"小明,你例会上看着有些心不在焉,怎么了?" 小明:"他们讲的东西我听不懂." 娜娜:"哪里听不懂?" 小明:"他们说的

主动学习

在当今技术和文化环境下,学习能力可能是成功的最重要因素.它决定了你是“大获全胜”还是“勉强通过” 学习是什么,不是什么? 对于程序员来说,技术本身并不重要,持续学习才是最重要的. 事实上,我们往往误解了教育的真正含义 教育,来自于拉丁文educare,字面意思是“被引出”,即引导出某样东西,而通常当我们考虑和想到教育时,往往考虑它的不是这个的真正含义--从学习者那里引导出一些东西.相反,更觉的看法是把教育当作学习者被动接受的事情--灌输,而不是引导.这种模式常见于“羊浸式培训” 羊浸式培训不起作

主动学习的重要性

从小我们就是被动学习,总是被老师灌输知识,因此在学习的过程中,老师会帮我们规避掉很多困难与错误.长大之后,有很多东西都是得自己主动去学的,会遇到各种各样的问题,都得自己想办法解决.如果一味的等待别人帮我们解决,那是学不会的,而在等待的同时可能别人就已经开始自己找解决问题的方法了,最后别人学会了,我们还在等待.此时,别人就成了我们眼里的学霸,大佬,殊不知,大佬最开始和我们一样,只不过,在我们等待的同时,他们已经在解决问题的路上了.主动学习,不要做一个只会等待喂食的雏鸟. 原文地址:https://

简要介绍Active Learning(主动学习)思想框架,以及从IF(isolation forest)衍生出来的算法:FBIF(Feedback-Guided Anomaly Discovery)

1. 引言 本文所讨论的内容为笔者对外文文献的翻译,并加入了笔者自己的理解和总结,文中涉及到的原始外文论文和相关学习链接我会放在reference里,另外,推荐读者朋友购买 Stephen Boyd的<凸优化>Convex Optimization这本书,封面一半橘黄色一半白色的,有国内学者翻译成了中文版,淘宝可以买到.这本书非常美妙,能让你系统地学习机器学习算法背后蕴含的优化理论,体会数学之美. 本文主要围绕下面这篇paper展开内涵和外延的讨论: [1] Siddiqui M A, Fer

学习是主动吃苦的

看过一句话“为什么这么多的人宁愿干体力活,也不愿意学习去挣钱呢?” 因为“学习是主动吃苦,而生活的苦是自动找到懒人的” 我曾从事过Linux运维技术行业,在2016年分别获得红帽系统管理员RHCSA证书与RHCE7红帽工程师的认证证书,尽管如此互联网技术的发展,深知水平有限,作为一名普通的技术人员,曾经半夜还在培训班学习,回家2个小时的车程.正式学习的道路如此坎坷,我怀着一颗忐忑的心,尽力分享自己所学知识给读者,希望你们能少走一些路,更快的入门Linux系统. 一名优秀的程序员不仅仅只会写程序,