[Active Learning] Multi-Criteria-based Active Learning
目录
Active Learning (AL) 的 query criteria 大致可以分为 3 类:informativeness,representativeness 和 diversity。
下面我将分别介绍这三种 criteria,并介绍论文 [1] 中是如何结合三种 criteria 的。(这里并不对 NER 部分做介绍。)
1 Informativeness
这种 criterion 用的应该是最多的,其中包括最简单最常用的 uncertainty sampling。
论文 [1] 也是将 sample 和 decision boundary 之间的距离来衡量该 sample 的 information。Closer to decision boundary, more informative.
仅用 informativeness 的 strategy 有可能会选到 outlier,故而需要考虑 representativeness。

2 Representativeness
Representativeness 的衡量需要比较两个 samples 的 similarity,论文 [1] 中采取余弦相似度来衡量 similarity。
一个 sample 的 representativeness 可以用它的 density 来量化,即等于该 sample 与其它所有 unlabeled set 中样本 similarity 的均值。即:
\[
Density(\boldsymbol x_i) = \frac{\sum_{j \not = i} Sim(\boldsymbol x_i, \boldsymbol x_j)}{N-1}
\]
其中,\(N\) 表示 unlabeled set 的大小。
如果某一个 sample \(\boldsymbol x^*\) 的 density 最大,那么 \(\boldsymbol x^*\) 也就是 unlabeled set 的 centroid。
当然,representativeness 的衡量不止论文 [1] 提到的这种方式,如论文 [3] 使用样本与部分邻居的 similarity 来表示 density,而不是整个 unlabeled set。
3 Diversity
Diversity 这个 criterion 是对 batch-mode active learning 才有的,当我们需要一次选择多个 samples 时,如果不考虑 diversity,很可能会重复选择同一区域的点,造成浪费。
论文 [1] 提出了两种利用 diversity 的方法:Global 和 Local。
3.1 Global consideration
这种方式将 unlabeled set 用 K-means 划分成 K 个区域,在每一轮选择中,一个 batch 内的点需要从 K 个不同的区域中分别选择。
在实际利用时,可能不会对整个 unlabeled set 进行 K-means 划分,有可能只是对 unlabeled set 的一个子集进行划分,提高效率。
3.2 Local consideration
这种方式就不太考虑 unlabeled set,关注的重点在要选择的 batch 上。
在每一轮的 query 中,我们如果想要将一个 selected sample \(\boldsymbol x_{new}\)加入到 current batch,需要该 selected sample 和已经在 current batch 中的样本有足够大的区别,即 \(Similarity(\boldsymbol x_{new}, \boldsymbol x_{old}) > \beta\),其中 \(\beta\) 可以取整个 unlabeled set 样本之间 similarity 的均值。
在 local method 的情况下,一个个 selected samples 将经过筛选顺序加入到 batch 中。selected sample 是如何被 select 出的?可以 random,也可以用 informativeness 和 representativeness 的方式。
4 Combinations of three criteria
single-criterion 的 query strategy 在很多时候不如 multi-criteria 的 strategy。论文 [1][3] 中都有类似结论。
以下将介绍论文 [1] 提出的关于如何结合 informativeness、representativeness 和 diversity 三种 criteria 的两种方式。
4.1 Strategy 1
流程:
- 使用 Informativeness 这一 single criterion 选出 top M 个 most informative 的 samples,将其组成一个集合 interSet;
- 对 interSet 集合进行 K-means 聚类,聚成 K 个 clusters,并选择出每个 cluster 的 centroid 作为 selected sample 加入到 batch 中。(batch 的 size 也为 K。)
K-means 的 centroids 既代表了 interSet,又有 diversity。该 strategy 使用了 diversity 的 global method。
4.2 Strategy 2
流程:
- 按照 \(\lambda \operatorname{Info}\left(\boldsymbol x_{i}\right)+(1-\lambda) \text {Density}\left(\boldsymbol x_{i}\right)\) 结合 informativeness 和 representativeness 这两个 criteria,然后按照得分的高低选择出 selected samples;
- 一个 selected sample 想要加入到 batch 中,必须要满足新加入的点与已经在 batch 中的点的 similarity 大于某个阈值 \(\beta\),即使用 diversity 的 local method 对 selected samples 再进行一次 diversity 筛选。
\(\lambda\) 是一个超参数,需要人工设定,用来控制 informativeness 和 representativeness 的权重。论文 [3] 对 \(\lambda\) 的取值做了更加详细的研究,可以动态设定 \(\lambda\) 的值。
4.3 Strategy 1 vs. Strategy 2
在论文 [1] 的实验中,strategy 2 的效果要好于 strategy 1。
References
[1] Shen, D., Zhang, J., Su, J., Zhou, G., & Tan, C.-L. (2004). Multi-criteria-based active learning for named entity recognition. (ACL) https://doi.org/10.3115/1218955.1219030
[2] Burr Settles. (2009). Active Learning Literature Survey. Computer Sciences Technical Report 1648, University of Wisconsin-Madison.
[3] Ebert, S., Fritz, M., & Schiele, B. (2012). RALF: A reinforced active learning formulation for object class recognition. (CVPR) https://doi.org/10.1109/CVPR.2012.6248108
[Active Learning] Multi-Criteria-based Active Learning的更多相关文章
- 论文笔记之:Active Object Localization with Deep Reinforcement Learning
Active Object Localization with Deep Reinforcement Learning ICCV 2015 最近Deep Reinforcement Learning算 ...
- (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning
Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...
- [转]Introduction to Learning to Trade with Reinforcement Learning
Introduction to Learning to Trade with Reinforcement Learning http://www.wildml.com/2018/02/introduc ...
- Introduction to Learning to Trade with Reinforcement Learning
http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ The academic ...
- (转) Deep Learning in a Nutshell: Reinforcement Learning
Deep Learning in a Nutshell: Reinforcement Learning Share: Posted on September 8, 2016by Tim Dettm ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
[重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required
错误信息: java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA trans ...
- 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
随机推荐
- rsync的详细配置
服务器配置: yum install rsync 安装rsync vi /etc/rsyncd.conf 创建主配置文件 pid file = /var/run/rsyncd.pid port ...
- python---生成器、迭代器
# -*- coding:utf-8 -*- # LC # 列表生成式 def func(x): print(x) return 2*x print([ func(i) for i in range( ...
- codeforces——961B. Lecture Sleep
本文为博主原创文章,未经允许不得转载. 我在csdn也同步发布了此文,链接 https://blog.csdn.net/umbrellalalalala/article/details/7989196 ...
- notepad++中双击选中字符串高亮颜色设置
notepad++ 中最好用的功能就是双击选中,本文档中所有相同的内容高亮 不过有个问题就是当文档特别大,而且注释比较多的时候,我选中的内容高亮为绿色不太好找,那怎么设置呢? 设置--语言格式设置-- ...
- python 要掌握面向对象,你得会做这些题吗?
1,面向对象三大特性,各有什么用处,说说你的理解. 继承:解决代码重用问题 多态:多态性,可以在不考虑对象类型的情况下而直接使用对象 封装:明确的区分内外,控制外部对隐藏属性的操作行为,隔离复杂度 2 ...
- Android 资源文件命名与使用
[推荐]资源文件需带模块前缀 [推荐]layout 文件的命名方式 Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 module_ ...
- Python库
--Python库之Pandas库-------- 自主选择学习了Python中的Pandas库,以下是本人对Pandas库的认识: Pandas库是Python最受欢迎的库之一,主要用于数据的操作. ...
- 0511JS流程练习
一.输入三个数,判断大小 var one = prompt("请输入第一个数"); var two = prompt("请输入第二个数"); var three ...
- Junit-4.1.2 @Test 使用
学习使用Junit-4.1.2 @Test来做单元测试 1.下载jar包 下载junit-4.12.jar 下载hamcrest-core-1.3.jar 2.在External Libraries中 ...
- java,maven工程打tar.gz包执行main方法
一,需要在pom.xml文件添加plugin, 项目目录结构 <build> <plugins> <plugin> <artifactId>maven- ...