主动学习(ACTIVELEARNING)
主动学习背景介绍
机器学习的研究领域包括有监督学习(Supervid Learning),⽆监督学习(Unsupervid Learning),半监督学习(Semi-supervid Learning)和强化学习(Reinforcement Learning)等诸多内容。针对有监督学习和半监督学习,都需要⼀定数量的标注数据,也就是说在训练模型的时候,全部或者部分数据需要带上相应的标签才能进⾏模型的训练。但是在实际的业务场景或者⽣产环境中,⼯作⼈员获得样本的成本其实是不低的,甚⾄在某些时候是相对较⾼的,那么如何通过较少成本来获得较⼤价值的标注数据,进⼀步地提升算法的效果就是值得思考的问题了。
实际英文机器学习
三维目标
在⼯业界的图像标注领域,虽然有 ImageNet 这个学术界和⼯业界都在使⽤的图像数据库,但是在很多特殊的业务场景上,从业⼈员依旧需要想尽办法去获取业务标注数据。在安全风控领域,⿊产⽤户相对于正常⽤户是偏少的,因此,如何通过极少的⿊产⽤户来建⽴模型则是值得思考的问题之⼀。在业务运维领域,服务器,app 的故障时间相对于正常运⾏的时间也是偏少的,必然会出现样本不均衡的情况。因此,在这些业务领域,要想获得样本和构建模型,就必须要通过⼈⼒的参与。那么如何通过⼀些机器学习算法来降低⼈⼯标注的成本就是从业者需要关注的问题了。毕竟需要标注100 个样本和需要标注成
千上万的样本所需要的⼈⼒物⼒是截然不同的。
在学术界,同样有学者在关注这⽅⾯的问题,学者们通过⼀些技术⼿段或者数学⽅法来降低⼈们标注的成本,学者们把这个⽅向称之为主动学习(Active Learning)。在整个机器学习建模的过程中有⼈⼯参与的部分和环节,并且通过机器学习⽅法筛选出合适的候选集给⼈⼯标注的过程。主动学习(Active Learning)的⼤致思路就是:通过机器学习的⽅法获取到那些⽐较 “难”分类的样本数据,让⼈⼯再次确认和审核,然后将⼈⼯标注得到的数据再次使⽤有监督学习模型或者半监督学习模型进⾏训练,逐步提升模型的效果,将⼈⼯经验融⼊机器学习的模型中。
在没有使⽤主动学习(Active Learning)的时候,通常来说系统会从样本中随机选择或者使⽤⼀些⼈⼯规则的⽅法来提供待标记的样本供⼈⼯进⾏标记。这样虽然也能够带来⼀定的效果提升,但是其标注成本总是相对⼤的。
⽤⼀个例⼦来⽐喻,⼀个⾼中⽣通过做⾼考的模拟试题以希望提升⾃⼰的考试成绩,那么在做题的过程中就有⼏种选择。⼀种是随机地从历年⾼考和模拟试卷中随机选择⼀批题⽬来做,以此来提升考试成绩。但是这样做的话所需要的时间也⽐较长,针对性也不够强;另⼀种⽅法是每个学⽣建⽴⾃⼰的错题本,⽤来记录⾃⼰容易做错的习题,反复地巩固⾃⼰做错的题⽬,通过多次复习⾃⼰做错的题⽬来巩固⾃⼰的易错知识点,逐步提升⾃⼰的考试成绩。其主动学习的思路就是选择⼀批容易被错分的样本数据,让⼈⼯进⾏标注,再让机器学习模型训练的过程。
那么主动学习(Active Learning)的整体思路究竟是怎样的呢?在机器学习的建模过程中,通常包括样本选择,模型训练,模型预测,模型更新这⼏个步骤。在主动学习这个领域则需要把标注候选集提取和⼈⼯标注这两个步骤加⼊整体流程,也就是:
1.1. 机器学习模型:包括机器学习模型的训练和预测两部分;
2.2. 待标注的数据候选集提取:依赖主动学习中的查询函数(Query Function);
3.3. ⼈⼯标注:专家经验或者业务经验的提炼;
4.4. 获得候选集的标注数据:获得更有价值的样本数据;
5.5. 机器学习模型的更新:通过增量学习或者重新学习的⽅式更新模型,从⽽将⼈⼯标注的数据融⼊机器学习模型
中,提升模型效果。
主动学习的流程
赶走蝙蝠小妙招通过这种循环往复的⽅法,就可以达到⼈⼯调优模型的结果。其应⽤的领域包括:咳嗽能吃鸡蛋
1.
2.
主动学习的模型分类包括两种,第⼀种是流式的主动学习(Sequential Active Learning),第⼆种是离线批量的主动学习(Pool-bad Active Learning)。在不同的场景下,业务⼈员可以选择不同的⽅案来执⾏。
主动学习的三种场景
⽽查询策略(Query Strategy Frameworks)就是主动学习的核⼼之处,通常可以选择以下⼏种查询策略:
1.1. 不确定性采样的查询( Uncertainty Sampling );
2.2. 基于委员会的查询( Query-By-Committee );
3.3. 基于模型变化期望的查询( Expected Model Change );童年儿歌
4.4. 基于误差减少的查询( Expected Error Reduction );
5.5. 基于⽅差减少的查询( Variance Reduction );后颈部经络图
6.6. 基于密度权重的查询( Density-Weighted Methods )。
不确定性采样(Uncertainty Sampling)
顾名思义,不确定性采样的查询⽅法就是将模型中难以区分的样本数据提取出来,提供给业务专家或者标注⼈员进⾏标注,从⽽达到以较快速度提升算法效果的能⼒。⽽不确定性采样⽅法的关键就是如何描述样本或者数据的不确定性,通常有以下⼏种思路:
1.1. 置信度最低(Least Confident);
2.2. 边缘采样(Margin Sampling);
3.3. 熵⽅法(Entropy);
Least Confident
对于⼆分类或者多分类的模型,通常它们都能够对每⼀个数据进⾏打分,判断它究竟更像哪⼀类。例如,在⼆分类的场景下,有两个数据分别被某⼀个分类器预测,其对两个类别的预测概率分别是:(0.
手机怎么控制电脑9,0.1) 和 (0.51, 0.49)。在此情况下,第⼀个数据被判定为第⼀类的概率是 0.9,第⼆个数据被判定为第⼀类的概率是 0.51,于是第⼆个数据明显更“难”被区分,因此更有被继续标注的价值。所谓 Least Confident ⽅法就是选择那些最⼤概率最⼩的样本进⾏标注,⽤数学公式描述就是:
,
其中
,这⾥的
表⽰⼀个已经训练好的机器学习模型参数集合。
对于
⽽⾔是模型预测概率最⼤的类别。Least Confident ⽅法考虑那些模型预测概率最⼤但是可信度较低的样本数据。
Margin Sampling
边缘采样(margin sampling)指的是选择那些极容易被判定成两类的样本数据,或者说这些数据被判
定成两类的概率相差不⼤。边缘采样就是选择模型预测最⼤和第⼆⼤的概率差值最⼩的样本,⽤数学公式来描述就是:
,
其中
和
分别表⽰对于
⽽⾔,模型预测为最⼤可能类和第⼆⼤可能类。
特别地,如果针对⼆分类问题,least confident 和 margin sampling 其实是等价的。
Entropy
在数学中,可以使⽤熵(Entropy)来衡量⼀个系统的不确定性,熵越⼤表⽰系统的不确定性越⼤,熵越⼩表⽰系统的不确定性越⼩。因此,在⼆分类或者多分类的场景下,可以选择那些熵⽐较⼤的样本数据作为待定标注数据。⽤数学公式表⽰就是:
,
相较于 least confident 和 margin sample ⽽⾔,entropy 的⽅法考虑了该模型对某个
的所有类别判定结果。⽽ least confident 只考虑了最⼤的概率,margin sample 考虑了最⼤的和次⼤的两个概率。
不确定性采样的差异性
基于委员会的查询(Query-By-Committee)
除了考虑单个模型的不确定性采样⽅法之外,还可以考虑多个模型的场景,这就是类似集成学习的⽅法。通过多个模型投票的模式,来选择出那些较“难”区分的样本数据。在 QBC(Query-By-Committee)的技术⽅案中,可以假设有
个模型,其参数分别是
,并且这些模型都是通过数据集
的训练得到的。
如果不需要考虑每个模型的检测效果,其实可以考虑类似不确定性采样中的 least confident 和 margin
sampling ⽅法。可以选择某⼀个分类器难以区分的样本数据,也可以选择其中两三个分类器难以区分的数据。但是如果要考虑所有模型的分类效果的时候,则还是需要熵(Entropy)或者 KL 散度等指标。因此,QBC 通常也包括两种⽅法:
1.1. 投票熵( Vote Entropy ):选择这些模型都⽆法区分的样本数据;
2.2. 平均 KL 散度( Average Kullback-Leibler Divergence ):选择 KL 散度较⼤的样本数据。
投票熵(Vote Entropy)
对于这种多模型
的场景⽽⾔,可以⽤熵来衡量样本数据被这些分类器区分的难易程度,如果这些分类器都把样本数据划分到某⼀类,则容易区分;如果分类器把样本数据划分到多类,则表⽰难以区分,需要重点关注。⽤数学公式表达就是:
,
其中
表⽰第
类,求和符号表⽰将所有的类别
相加,
表⽰投票给
的分类器个数,
的分类器个数,
表⽰分类器的总数,并且
。
平均 KL 散度(Average KL Divergence)
KL 散度可以衡量两个概率之间的“距离”,因此可以⽤ KL 散度计算出那些偏差较⼤的数据样本。⽤数学公式来描述就是:
其中
也是概率分布,
表⽰两个概率的 KL 散度。
期望模型变化(Expected Model Change)
模型变化最⼤其实可以选择那些使得梯度变化最⼤的样本数据。
期望误差减少(Expected Error Reduction)
可以选择那些通过增加⼀个样本就使得 loss 函数减少最多的样本数据。
⽅差减少(Variance Reduction)
选择那些⽅差减少最多的样本数据。
基于密度权重的选择⽅法(Density-Weighted Methods)
有的时候,某个数据点可能是异常点或者与⼤多数数据偏差较⼤,不太适合做样本选择或者区分,某些时候考虑那些稠密的,难以区分的数据反⽽价值更⼤。于是,可以在使⽤不确定性采样或者 QBC ⽅法的时候,将样本数据的稠密性考虑进去。⽤数学公式表⽰就是:
,
著名小提琴曲在这⾥,
表⽰某个不确定性采样⽅法或者 QBC ⽅法,
表⽰指数参数,
表⽰第
类的代表元,
表⽰类别的个数。加上权重表⽰会选择那些与代表元相似度较⾼的元素作为标注候选集。
B 附近的点信息量会⼤于 A 附近的点总结
原⽂链接:
参考资料
参考资料
1.1. Settles, Burr. Active learning literature survey. University of Wisconsin-Madison Department of Computer
Sciences, 2009.
2.2. Aggarwal, Charu C., et al. "Active learning: A survey." Data Classification: Algorithms and Applications. CRC
Press, 2014. 571-605.
欢迎⼤家关注公众账号数学⼈⽣