精华内容
下载资源
问答
  • 主动学习

    2020-03-11 19:11:26
    主动学习概述-搬运什么是主动学习?解决什么问题?主动学习的基本流程几个热门方向1. 从理论上而言2. 样例选择算法3,主动学习算法主要投入的具体的应用 原文链接:...


    原文链接:https://blog.csdn.net/angela2016/article/details/84228457

    什么是主动学习?解决什么问题?

    设想一个问题的场景:在监督学习方法中,获得有标注数据是异常困难的,而获得无标签数据时相对容易的,有这个现状的情况下,那我们该如何解决这些问题呢?主动学习就是为了解决此类问题而出现的。

    主动学习的基本流程

    一般而言,主动学习方法,主要分为二个部分:学习引擎和选择引擎。其中,学习引擎负责维护一个基准分类器,根据监督学习的方法来对已标注数据进行学习,从而使该分类器的性能提高,选择引擎负责运行样例选择算法来选择一个未标注的样例并交给人类专家来进行标注,然后再将标注后的样例加入已标注样本集中。二个引擎交替工作,经过多次循环,基准分类器的性能逐渐提高,满足某个预设的条件时,整个过程终止。

    几个热门方向

    对于主动学习而言,研究的几个热门方向现列举如下。

    1. 从理论上而言

    主动学习相比监督学习算法而言,能够多大程度可以降低样本复杂度。对于传统监督学习算法而言,为了获得期望错误率小于e的分类器,那么要求样本复杂度为一个数值,我们不管这个数值是多少,那么主动学习就必须对于样本复杂度要求更低,这样才有意义,不然要主动学习干哈。。但这个方向真的太数学了。

    2. 样例选择算法

    也就是选择引擎的算法的选择。如何选择未标注的样例呢?是逐个按照先后顺序来提交给选择引擎(基于流的主动学习)或者是维护一个未标注的样本集(基于池的主动学习)。
    在基于池的样例选择算法中,我们的研究很充分,是按照怎么样的标准来选择呢?
    第一种选择的方法可以是不确定度缩减的方法(信息熵)。这类方法选择那些当前基准分类器最不能确定其分类的样例进行标注。这类方法以信息熵作为衡量样例所含信息量大小的度量,而信息熵最大的样例正是当前分类器最不能确定其分类的样例。从几何角度看,这种方法优先选择靠近分类边界的样例。
    第二种方法中基于版本空间缩减的方法(类似于投票选择)。这类方法选择那些训练后能够最大程度缩减版本空间的样例进行标注。在二值分类问题中,这类方法选择的样例总是差不多平分版本空间。
    第三种方法基于泛化误差缩减的方法(减少估计未来的错误率)。这类方法试图选择那些能够使未来泛化误差最大程度减小的样例。其一般过程为:首先选择一个损失函数用于估计未来错误率,然后将未标注样例集中的每一个样例都分别估计其能给基准分类器带来的误差缩减,选择估计值最大的那个样例进行标注。这类方法直接针对分类器性能的最终评价指标,但是计算量较大,同时损失函数的精度对性能影响较大。
    第四种方法,无法进行归类的主动学习算法,如COMB,多视图主动学习,预聚类主动学习等。

    在基于流的样例选择算法中,大多可以通过调整基于池的算法来实现,一般是通过阈值来判定是否对其进行标注。

    3,主动学习算法主要投入的具体的应用

    其中包括文档分类及信息抽取,图像检索,入侵检测,Web分析和视频分析等广大领域的实际问题。

    展开全文
  • 主动学习调研

    2018-09-05 10:09:25
    讲述主动学习的论文,可以大致了解什么是主动学习主动学习的方法。
  • 主动学习-主动学习算法综述

    千次阅读 2019-12-10 18:30:39
    参考文献:主动学习算法综述 主动学习(Active Learning) 用于解决分类问题的机器学习,如今已经是很熟悉的话题了,我们知道所有分类模型都需使用标记样本训练,并且分类模型的效果依赖于标记样本的质量。一个好的...

    参考文献:主动学习算法综述

    主动学习(Active Learning)

    用于解决分类问题的机器学习,如今已经是很熟悉的话题了,我们知道所有分类模型都需使用标记样本训练,并且分类模型的效果依赖于标记样本的质量。一个好的分类模型离不开大量优质的训练数据,但是在实际应用条件下,我们得到的数据往往都是没有经过处理的,而数据的处理是一项相当庞大且繁琐的工作,并且有时候还需要一些专业人士才能处理,因此需要耗费巨大的人力成本和时间成本。基于此,在机器学习领域中,提出主动学习方法,优化分类模型。

    主动学习算法会通过某些方法找到样本数据中最有价值的数据,然后我们把删选出来的数据交由专家进行人工标注后,将标注后的数据放入训练集对分类模型进行迭代优化训练,这一过程称为主动学习

    简单来说,机器学习中的主动学习能够用更少的人工成本获取更有价值的标记样本从而使分类器具有更好的泛化性能。和以往被动学习算法不同的是,主动学习算法会根据某一些策略将未标记样本中的一部分样本进行标记,然后重新投入训练集中,用来辅助分类器的训练。

    主动学习算法可以有以下五个组件进行建模:

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

    其中C为一个或一组分类器;L为一组已标注的训练集样本;Q为查询函数,用于在未标注的样本中查询信息量大的样本;U为整个未标注样本集;S为督导者,可以对未标注样本进行标注。

    主动学习算法主要分为两阶段:

    第一阶段为初始化阶段,随机从未标注样本中选取一部分作为训练集并由督导者标注, 用来建立初始分类器模型;

    第二阶段为循环查询阶段,监督者从未标注样本集U 中,按照某种查询标准 Q ,选取一定的未标注样本进行标注,并加到训练集 L 中,重新训练分类器,直到达到训练停止标准为止。

    主动学习算法是一个迭代的过程,分类器使用迭代时反馈的样本进行训练,不断提升分类效率。

    在这里插入图片描述

    展开全文
  • 主动学习入门

    2020-07-16 14:32:24
    主动学习是机器学习(更普遍的说是人工智能)的一个子领域,在统计学领域也叫查询学习、最优实验设计。“学习模块”和“选择策略”是主动学习算法的2个基本且重要的模块。主动学习通过“选择策略”主动从未标注的...

    1.介绍

    1.1 监督学习、半监督学习、非监督学习

    在机器学习(Machine learning)领域,根据是否需要样本的标签信息可分为监督学习(Supervised learning)、非监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning):

    监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。例如:如果我们一开始就知道了这些数据包含的类别,并且有一部分数据(训练数据)已经标上了类标,我们通过对这些已经标好类标的数据进行归纳总结,得出一个 “数据–>类别” 的映射函数,来对剩余的数据进行分类,这就属于监督学习。

    非监督学习:直接对输入数据集进行建模,例如聚类。例如:如果我们上来就对这一堆数据进行某种划分(聚类),通过数据内在的一些属性和联系,将数据自动整理为某几类,这就属于非监督学习。

    半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。例如: 半监督学习指的是在训练数据十分稀少的情况下,通过利用一些没有类标的数据,提高学习准确率的方法。

    1.2 主动学习

    1.2.1 主动学习介绍

    我们使用一些传统的监督学习方法做分类的时候,往往是训练样本规模越大,分类的效果就越好。但是在现实生活的很多场景中,标记样本的获取是比较困难的,这需要领域内的专家来进行人工标注,所花费的时间成本和经济成本都是很大的。而且,如果训练样本的规模过于庞大,训练的时间花费也会比较多。那么有没有办法,能够使用较少的训练样本来获得性能较好的分类器呢?主动学习(Active Learning)为我们提供了这种可能。主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。
    在人类的学习过程中,通常利用已有的经验来学习新的知识,又依靠获得的知识来总结和积累经验,经验与知识不断交互。同样,机器学习模拟人类学习的过程,利用已有的知识训练出模型去获取新的知识,并通过不断积累的信息去修正模型,以得到更加准确有用的新模型。不同于被动学习被动的接受知识,主动学习能够选择性地获取知识。

    1.2.2 主动学习与半监督学习异同

    “半监督学习和主动学习都是从未标记样例中挑选部分价值量高的样例标注后补充到已标记样例集中来提高分类器精度,降低领域专家的工作量,但二者的学习方式不同:半监督学习一般不需要人工参与,是通过具有一定分类精度的基准分类器实现对未标注样例的自动标注;而主动学习有别于半监督学习的特点之一就是需要将挑选出的高价值样例进行人工准确标注。半监督学习通过用计算机进行自动或半自动标注代替人工标注,虽然有效降低了标注代价,但其标注结果依赖于用部分已标注样例训练出的基准分类器的分类精度,因此并不能保证标注结果完全正确。相比而言,主动学习挑选样例后是人工标注,不会引入错误类标 ”。

    1.2.3 主动学习流程

    主动学习在统计学领域也叫查询学习、最优实验设计。“学习器”和“选择策略”是主动学习算法的2个基本且重要的模块。主动学习通过“选择策略”主动从未标注的样本集中挑选部分(1个或N个)样本让相关领域的专家进行标注;然后将标注过的样本增加到训练数据集给“学习模块”进行训练;当“学习模块”满足终止条件时即可结束程序,否则不断重复上述步骤获得更多的标注样本进行训练。此外,主动学习算法有个关键的假设:“The key hypothesis is that if the learning algorithm is allowed to choose the data from which it learns—to be “curious,” if you will—it will perform better with less training”。

    2. 基本思想

    2.1 图示

    主动学习的模型如下:

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

    其中 C 为一组或者一个分类器,L是用于训练已标注的样本。Q 是查询函数,用于从未标注样本池U中查询信息量大的信息,S是督导者,可以为U中样本标注正确的标签。学习者通过少量初始标记样本L开始学习,通过一定的查询函数Q选择出一个或一批最有用的样本,并向督导者询问标签,然后利用获得的新知识来训练分类器和进行下一轮查询。主动学习是一个循环的过程,直至达到某一停止准则为止。

    在这里插入图片描述

    2.2 策略

    刚才说到查询函数Q用于查询一个或一批最有用的样本。那么,什么样的样本是有用的呢?即查询函数查询的是什么样的样本呢?在各种主动学习方法中,查询函数的设计最常用的策略是:不确定性准则(uncertainty)和差异性准则(diversity)。

    对于不确定性,我们可以借助信息熵的概念来进行理解。我们知道信息熵是衡量信息量的概念,也是衡量不确定性的概念。信息熵越大,就代表不确定性越大,包含的信息量也就越丰富。事实上,有些基于不确定性的主动学习查询函数就是使用了信息熵来设计的。所以,不确定性策略就是要想方设法地找出学习器不确定性高的样本,因为这些样本所包含的丰富信息量,对我们训练模型来说就是有用的。

    那么差异性怎么来理解呢?之前说到或查询函数每次迭代中查询一个或者一批样本。我们当然希望所查询的样本提供的信息是全面的,即加入到训练集中各个样本提供的信息不重复不冗余,即样本之间具有一定的差异性。因此差异性经常与多样性结合使用,即在一次主动学习中查询到了一批最不确定的样本,然后在这些样本中挑出差异性大的样本去人工标注。因此在我看来,很多论文里讲的数据多样性、数据代表性其实就是差异性!

    3. 算法

    3.1 基于流、基于池

    根据获得未标注数据的方式,可以将主动学习分为两种类型:基于流的和基于池的。

    基于流(stream-based)的主动学习中,未标记的数据按先后顺序逐个提交给选择引擎,由选择引擎根据某些评价指标决定是否标注当前提交的样例,如果不标注,则将其丢弃。

    基于池(pool-based)的主动学习通常是离线、反复的过程。比如有一个未标注数据的集合,由选择引擎在该集合中选择当前要标注的数据(数据被选择经人工标注加入到训练数据集后,要在未标注数据集中删除)。在此过程的每个迭代周期,主动学习系统都会选择一个或者多个未标记数据进行标记并用于随后的模型训练,直到预算用尽或者满足某些停止条件为止(未标注数据用光了也是一种条件、或者模型准确率达到了某个值)。

    现在常用的AL算法都是基于池的。

    3.2 类别

    主动学习算法一般有三种:基于不确定性(选出不确定性大的数据)、基于多样性(选择代笔未标记数据池的整个分布的不同数据点)、基于模型(如果我们知道这些数据点的标签,这些数据点会导致当前模型参数或输出变得最好):

    (1)基于不确定度缩减的方法,这类方法选择那些当前基准分类器最不能确定其分类的样例进行标注。从几何角度看,这种方法优先选择靠近分类边界的样例。;
    (2)基于版本缩减的方法,就是基于数据的差异性与不确定性。这类方法选择那些训练后能够最大程度缩减版本空间的样例进行标注。在二值分类问题中,这类方法选择的样例总是差不多平分版本空间。
    (3)基于泛化误差缩减的方法,就是基于模型最终的分类效果。这类方法试图选择那些能够使未来泛化误差最大程度减小的样例。其一般过程为:首先选择一个损失函数用于估计未来错误率,然后将未标注样例集中的每一个样例都分别估计其能给基准分类器带来的误差缩减,选择估计值最大的那个样例进行标注。

    个人感觉AL最终的分类就是刚开始提到的策略:基于不确定性策略、基于差异性(多样、代表)策略

    3.3 算法(这里只介绍基本的)

    3.3.1 基于不确定性

    https://modal-python.readthedocs.io/en/latest/content/query_strategies/uncertainty_sampling.html
    1)基于置信度(Least Confidence)
    用1减去数据预测概率分布中的最大概率(概率分布由任务分类模型得出),然后选取差值最大的
    2)基于后验概率的信息熵(衡量样例所含信息量大小):(分类任务)

    modAL框架里对其描述:

    在这里插入图片描述

    信息熵公式和python代码:
    计算信息熵的公式:n是类别数,p(xi)是第i类的概率
    点击放大看就不模糊了
    已标注数据集的每个类的信息熵计算:

    from math import log
     
    def InformationEntropy(dataSet):
        numEntries = len(dataSet) # 样本数
        labelCounts = {} # 该数据集每个类别的频数
        for featVec in dataSet:  # 对每一行样本
            currentLabel = featVec[-1] # 该样本的标签
            if currentLabel not in labelCounts.keys(): labelCounts[currentLabel] = 0
            labelCounts[currentLabel] += 1 
        shannonEnt = 0.0
        for key in labelCounts:
            prob = float(labelCounts[key])/numEntries # 计算p(xi)
            shannonEnt -= prob * log(prob, 2)  # log base 2
        return shannonEnt
    

    未标注数据中单个数据的信息熵计算:
    假设已经用分类器预测出每个类的概率为probability_list=[0.0012939334847033024, 0.010607522912323475, 6.619166379095986e-05, 0.0005499138496816158, 0.008771012537181377, 0.009928485378623009, 0.002862347522750497, 0.8593437671661377, 0.0020671547390520573, 0.10438258945941925, 0.0001270791981369257]

    信息熵计算代码:

    from math import log
    
    #定义信息熵计算
    def InformationEntropy(probability_list):
        shannonEnt = 0.0
        for val in probability_list:
            shannonEnt -= val * log(val, 2)  # log base 2
        return shannonEnt
    

    总结:以上代码是已标注数据集中每一类的信息熵;未标注的单个数据信息熵则是要先用分类器对无标注数据进行每个分类的概率预测,然后再带入公式计算每一条数据的信息熵。

    总结:虽然方法很简单,效果虽然说不上最好,但也是出奇的不错了!

    基于信息熵抽样估计的统计学习查询策略 曲豫宾;陈翔

    3)基于委员会:(分类任务)

    构成一个委员会,然后选择委员会中的假设预测分歧最大的样例进行标注。
    基于投票熵来选择数据(截取一篇论文,还有基于相对熵的,以及基于Jensen-Shannon分歧度都在下面这篇论文里,位置与下面图片显示的内容紧挨着)(Jensen-Shannon分歧度是基于样本对每一类别的概率,不是简单基于某一类的个数):

    在这里插入图片描述
    基于专家委员会的主动学习算法研究 梁延峰

    总结:在如今的深度学习中,委员会的成员其实就是多个模型,每个模型训练时候要与其他模型不一样,因此训练数据就得不一样,对于珍贵的标签数据来讲,这挺浪费的,所以一般不推荐

    4)基于后验概率的margin(分类任务):BvSB算法

    modAL框架里对margin的描述:

    在这里插入图片描述
    BvSB:

    BvSB准则中只考虑样本分类可能性最大的两个类别,忽略其他对该样本的分类结果影响较小的类别。具体选择方法为选择最优类和次优类的概率差值最小的样本。然而在BvSB准则中存在一个问题,即样本选择的过程中只考虑了样本的分类不确定性,而忽视了样本的代表性(差异性)。
    在这里插入图片描述
    基于BvSBHC的主动学习多类分类算法 曹永锋;陈荣;孙洪

    3.3.2 多样性(一般与不确定性结合)

    在AL算法中,几乎没有完全基于差异性的算法。一般情况下差异性只是对不确定性的一种辅助!

    1)BvSBHC算法(分类任务)

    从以上对BvSB准则的分析可看出,在样本选择的过程 中,仅考虑样本的分类不确定性还不够,同时也应考虑样本的 代表性。代表性可从两个方面来体现: 1)从与已选出的训练样本集之间的关系来讲,新选出的 样本与已有样本之间应该具有低的信息冗余。 2)从与整个未标注样本集之间的关系来讲,新选出的样 本应具有较高的代表性,即该样本一旦被加入到训练样本集 中,能够使训练样本集更好地代表整个未标注样本集。

    在这里插入图片描述
    基于BvSBHC的主动学习多类分类算法 曹永锋;陈荣;孙洪

    4.应用

    deep learning中,分类任务、回归任务以及分类与回归的任务中,只要你想用,你就可以可以使用AL!但是,AL更常用于分类任务中,也可能因为分类任务比较常见!

    代码

    https://github.com/duruiting/Active-Learning

    展开全文
  • ALiPy:Python中的主动学习 作者:唐英鹏,李国祥, 在线文档: : 介绍 ALiPy是一个基于Python实现的主动学习工具包,内置20余种主动学习算法,并提供包括数据处理,结果可视化等工具。ALiPy根据主动学习框架的不同...
  • 主动学习介绍

    2021-02-04 15:28:15
    关于主动学习介绍: 主动学习是一个循环的过程,通过一定的手段从未标记样本中选择出有效的标记样本作为标记样本,当达到一定的条件或者准则时停止循环,该过程可以用如下图来表示: 针对传统的主动学习单一策略...

    关于主动学习介绍:

    主动学习算法的意义在于使用策略在未标记样本集合中选择最有价值的实例,将其交给专家S进行标注,然后将标记样本增加到下一次对的迭代的训练集T中,使得分类器进行迭代训练。

    典型的主动学习框架介绍:

    1. 主动学习是一个循环的过程,通过一定的手段从未标记样本中选择出有效的标记样本作为标记样本,当达到一定的条件或者准则时停止循环,该过程可以用如下图来表示:
    2. 针对传统的主动学习单一策略算法在挑选最有价值的未标记样本时出现的抖动和不稳定现象,可以使用集成学习的概念进行操作改善,

     

    展开全文
  • 主动学习算法综述.pdf

    2021-03-22 15:12:27
    主动学习算法综述
  • 主动学习简介

    2020-10-25 17:32:00
    主动学习(Active Learning)简介。
  • 主动学习汇总

    2020-08-06 22:22:11
    主动学习系列博文: 【Active Learning - 00】主动学习重要资源总结、分享(提供源码的论文、一些AL相关的研究者):https://blog.csdn.net/Houchaoqun_XMU/article/details/85245714 【Active Learning - 01】...
  • 主动学习试图在具有尽可能少标注样本的同时最大化模型的性能增益。深度学习(Deep learning, DL)需要大量标注数据,如果模型要学习如何提取高质量的特征,就需要大量的数据供应来优化大量的参数。
  • 一、主动学习(active learning) 学习器能够主动选择包含信息量大的未标注的样例并将其交由专家进行标注,然后置入训练集进行训练,从而在训练集较小的情况下获得较高的分类正确率,这样可以有效的降低构建高性能...
  • 学习研究提供了强有力的证据,表明主动学习可以对学生的学习成果产生积极影响。 在课堂上采用主动学习策略的最大挑战是传统课堂时间的限制。 正在翻转的教室的使用是在教育工作者中越来越受欢迎的一种方法。 本文...
  • 自适应主动学习的故障诊断方法
  • 基于模糊粗糙集的主动学习
  • 主动学习教程

    2019-09-26 01:31:12
    简洁,每节课控制在10分钟左右,不讲废话,但是需要你看完之后去主动学习(下文会提到主动学习) 通俗易懂,尽量少的出现晦涩难懂的专业名词,尽可能用生活中常见的事物去形象地打比方。 本教程功能 入门...
  • 主动学习相关资料

    2019-05-06 21:33:17
    主动学习相关资料 1 主动学习-Active Learning:如何减少标注代价
  • 什么是主动学习? 学习金字塔告诉我们,通过主动学习后,知识的留存率最高。 什么是主动学习?就是说、写、教、做的输出式学习。 说:给学弟学妹们分享些技术,给企业/学校作培训,上学术/工业顶会演讲,都可以作为...
  • 主动学习概括

    2020-07-19 16:25:37
    一、背景 在日常算法工程师工作(特别是风控领域)中可能存在大量未标注的数据集(一般都... 在标注成本和人力不足的情况下,主动学习可以说是对算法工程师很友善的方向了。 二、 Actice Learning 流程 如下图所...
  • 具有半监督学习和主动学习的强大的多标签图像分类
  • 主动学习日益引起教育界的广泛关注,尽管学校、研究人员都重视主动学习,但是实际开展的主动学习活动效果并不显著。在服务外包的新形式下,主动学习的作用尤为重要。为在服务外包背景下有效地培养主动学习能力,分析了...
  • 主动学习与被动学习

    2018-08-07 11:00:00
    以下几幅图是主动学习和被动学习的效率对比,也就是学习金字塔。 美國學者艾德格‧戴爾(Edgar Dale)提出了「學習金字塔」(Cone of Learning)的理論:在初次學習兩個星期後,透過閱讀學習能夠記住內容的10%...
  • 主动学习的多标签图像在线分类
  • 基于SVM主动学习的环境音频分类
  • 基于稀疏线性重构的主动学习算法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,217
精华内容 4,086
关键字:

主动学习