怎么办?进行Active Learning主动学习

Active Learning是最近又流行起来了的概念,是一种半监督学习方法。

一种典型的例子是:在没有太多数据的情况下,算法通过不断给出在决策边界上的样本,让打标者进行打标,使得算法明确分类边界,该算法结合On-Line的使用和灰度测试等方法,可以在有大量无标签数据和大量用户资源的时候,从无到有地创建良好的分类器。

如何进行主动学习

周志华的《机器学习》里介绍主动学习的时候提到,利用SVM进行主动学习的时候,应该先用少量有标签的样本训练一个基本的SVM分类器,然后给出无标签样本的时候,只考量到分类面的几何距离小于支持向量的点,因为只有这些点有可能变成新的支持向量从而进一步明确分类面,对于其他远离分界面的样本,可以把他们直接置为对应的标签。

周老师给出的例子略显粗糙,一种改进是:对于有松弛变量的分类器,可以把靠近支持向量的n个点都进行打标,这样有一些点会涉及松弛变量的也可以被覆盖。

进一步优化算法

很多情况下,上面的方法意味着还是需要大量的打标,那么解决这个问题的方法,就是更高效地打标,在原本范围内进行更高效的打标,即使是分类面内也不全部都打。
 
考虑SVM的分类面实际上上是一组参数,把数据转移到参数空间,一个分类面就是一个点,而一个样本就构成对参数空间的一个限制,一个分界面
即考虑两个空间:
特征空间F:样本以特征为坐标轴产生的空间,每一个点对应一个特征样本,对应参数空间中中的一个超平面(对参数空间的一种限制,也即是一种划分方式)
参数空间W:以SVM的各个参数作为轴产生的空间,每一个点对应一套参数,对应特征空间中的一个超平面(一个划分方式)
 
因此在参数空间中的特征限制下的空间称为可行域,未标记的数据会在这个可行域中留下分割,Active Learning就是这这个区域里寻找最有意义的分割并提出标注请求。
因此,因此分界面的可行域如图中中间的四边形,可以想象,SVM尝试找到一个到红色和绿色(支持向量)的半径最大的圆,这就是SVM的中心点
那么,把当出现了一个把可行域分割的样本的时候,在样本空间,这个样本肯定比两个支持向量更靠近分界面的:
问题是,对于一个样本,到底应该选择A区还是B区呢?自然地,可以选择一个能画出半径最大的圆的区域。
当有好几个线经过可行域的时候,一种方法是只给最靠近原来的圆心的点进行打标,这样就可以最有效地分割可行域:
 
但是实际上,这样不一定能选到最好的圆心(分界面),上面这个图中大家每一次更新圆心都考虑最近的线看看,会陷入局部最优
所以实际上应该寻求这些割裂的白色区域里最大的那个,怎么选呢,这里有一种径向距离法:
径向距离法就是:
在支持向量所夹的区域里面,对每一个样本,在其能够成最临近的(中间什么都没有)的那一个样本组合之间测量距离,取这样的组合里最大距离的样本,作为能获得最大内空间的径向划分,对这对样本进行标注
 
 

如何实现径向距离法

推荐在经典的LibSVM上修改实现,LibSVM的代码很好懂
 

Active Learning的更多相关文章

  1. [Machine Learning] Active Learning

    1. 写在前面 在机器学习(Machine learning)领域,监督学习(Supervised learning).非监督学习(Unsupervised learning)以及半监督学习(Semi ...

  2. 浅谈 Active Learning

    1. Active Query Driven by Uncertainty and Diversity for Incremental Multi-Label Learning The key tas ...

  3. 论文阅读之 A Convex Optimization Framework for Active Learning

    A Convex Optimization Framework for Active Learning Active learning is the problem of progressively ...

  4. [Active Learning] 01 A Brief Introduction to Active Learning 主动学习简介

    目录 什么是主动学习? 主动学习 vs. 被动学习 为什么需要主动学习? 主动学习与监督学习.弱监督学习.半监督学习.无监督学习之间的关系 主动学习的种类 主动学习的一个例子 主动学习工具包 ALiP ...

  5. [Active Learning] Multi-Criteria-based Active Learning

    目录 1 Informativeness 2 Representativeness 3 Diversity 3.1 Global consideration 3.2 Local considerati ...

  6. 主动学习——active learning

    阅读目录 1. 写在前面 2. 什么是active learning? 3. active learning的基本思想 4. active learning与半监督学习的不同 5. 参考文献   1. ...

  7. Recorder︱深度学习小数据集表现、优化(Active Learning)、标注集网络获取

    一.深度学习在小数据集的表现 深度学习在小数据集情况下获得好效果,可以从两个角度去解决: 1.降低偏差,图像平移等操作 2.降低方差,dropout.随机梯度下降 先来看看深度学习在小数据集上表现的具 ...

  8. Active Learning主动学习

    Active Learning主动学习 我们使用一些传统的监督学习方法做分类的时候,往往是训练样本规模越大,分类的效果就越好.但是在现实生活的很多场景中,标记样本的获取是比较困难的,这需要领域内的专家 ...

  9. 机器学习分支:active learning、incremental learning、online machine learning

    1. active learning Active learning 是一种特殊形式的半监督机器学习方法,该方法允许交互式地询问用户(或者其他形式的信息源 information source)以获取 ...

随机推荐

  1. Gunicorn设计部分的翻译

    Design 关于Gunicorn架构的简要描述. Server Model Gunicorn是基于pre-fork(预启动,提前fork)的工作模式.这就意味着Gunicorn是由一个主进程来管理这 ...

  2. HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)

    Divide Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  3. discuz修改太阳,月亮,星星等级图标

    想必大家都想修改一下默认的等级图标吧,刚才在论坛上看见很多大神的方法都是要修改文件的,不过为了安全起见需要事先备份好才改,这种方法是可行的,但可能有些新手站长不会修改,又或者改错了恢复不来,现在我教大 ...

  4. lufylegend:Lbuttion等UI组件

    1,矩形按钮LButtonSample1 首先来看看LButtonSample1按钮的绘制. 在lufylegend.js引擎中可以利用LButton类来添加一个按钮,但是你需要传入按钮弹起和按钮按下 ...

  5. UIScrollView的判断位置的属性如下:

    contentSize:CGSize类型,scrollview可以滑动的区域,例如,一个view的frame为(0,0,320,480),而scrollview的contentSize为(320,10 ...

  6. 11i and R12 Table Count in Different Module

    Advertisement Module 11i Tables R12 Tables New Tables AR 551 616 118 BOM 264 337 73 GL 186 309 140 A ...

  7. windows下PHP不能开启pgsql扩展的解决方法

    Tip: 环境 windows8.1 64位 + xampp1.8.1 + postgresql 9.3.6-2 第一步: php.ini中开启pgsql扩展  extension=php_pgsql ...

  8. ios成长之每日一遍(day 8)

    这几天都有一些任务要跟, 把ios的学习拉后, 看看要抓紧咯, 看看轮到的学习的是UITableView. BIDAppDelegate.h #import <UIKit/UIKit.h> ...

  9. ListView取消和自定义分割线的方法

    一.不显示分割线 XML android:footerDividersEnabled="false"即可. JAVA mListView.setDivider(null); 二.改 ...

  10. Excel 2016 Power View选项卡不显示的问题

    https://zhuanlan.zhihu.com/p/43543442 PowerView是Excel中的Power系列插件之一,可以基于excel制作交互式仪表板. 初学者在使用Power Vi ...