怎么办?进行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. 关于使用react的思考

    1. 组件化开发:将可以复用的部分独立封装成一个组件,每个部分的数据互不影响

  2. CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决

    原因:Linux默认开启了反向路由检查导致的,比如说外面访问eth0的网卡,而网关在eth1上,又或者从eth0出的流量,而网关在eth1上,此时会检查到网关不在同一个网卡上导致出不去,进不来的问题. ...

  3. spring-boot 速成(10) -【个人邮箱/企业邮箱】发送邮件

    发邮件是一个很常见的功能,代码本身并不复杂,有坑的地方主要在于各家邮件厂家的设置,下面以qq个人邮箱以及腾讯企业邮箱为例,讲解如何用spring-boot发送邮件: 一.添加依赖项 compile ' ...

  4. Calculate CAN bit timing parameters -- STM32

    Calculate CAN bit timing parameters Calculate CAN bit timing parameters typedef struct { //char name ...

  5. Syntactic and Semantic Errors

    There are two kinds of errors that Basis can find. Syntax errors occur during the parsing of input c ...

  6. chrome ui源码剖析-Accelerator(快捷键)

      好久没有自己写东西了,chrome有着取之不尽的技术精华供学习,记录一下. 源码目录: http://src.chromium.org/viewvc/chrome/trunk/src/ui/bas ...

  7. 从普通函数到对象方法 ------Windows窗口过程的面向对象封装

    原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始 ...

  8. 利用进程ID获取主线程ID

    利用进程ID获取主线程ID,仅适用于单线程.多线程应区分哪个是主线程,区分方法待验证 (1)好像可以用StartTime最早的,不过通过线程执行时间不一定可靠,要是在最开始就CreateThread了 ...

  9. 线程池框架executor

    Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务 ...

  10. ArcGIS Pro 中的布局

    ArcGIS Pro 中的布局 页面布局(通常简称为布局)是在虚拟页面上组织的地图元素的集合,旨在用于地图打印.常见的地图元素包括一个或多个地图框(每个地图框都含有一组有序的地图图层).比例尺.指北针 ...