Active Learning through label error statistical methods

  • 基于概率误差统计方法的主动学习
    • 算法实例框架
    • 概率利普西茨假设
    • 理论标签误差统计方法
      • 单实例标签误差统计方法
      • 实例对标签误差统计方法
    • 实际标签误差统计方法
      • 模型选择
      • 训练模型所需训练样本数
      • 构建实际统计模型
    • 实验
      • 数据集简介
      • 实验评价

文章链接
代码链接: python 3.6

欢迎大家引用~

@article{Wang2020Active,
author = "Min Wang and Ke Fu and Fan Min and Xiu-Yi Jia",
title = "Active learning through label error statistical methods",
year = "2020"
journal = "Knowledge-Based Systems",
pages = "105140",
issn = "0950-7051",
doi = "https://doi.org/10.1016/j.knosys.2019.105140"
}

基于概率误差统计方法的主动学习

基于聚类的主动学习将数据分为多个块,并查询最关键实例的标签。主动学习者必须决定如何选择这些关键实例以及如何拆分聚类块。在本文中,我们提出了理论和实用的统计方法来分析标签错误与邻居半径之间的关系,并设计新的拆分和选择解决这两个问题的策略。首先,我们基于单个实例和实例对定义标签错误的统计函数。其次,我们建立实用的统计模型,计算经验标签错误,并指导区块分割过程。第三,使用这些实用模型,我们开发了用于选择关键实例的中心和边缘实例选择策略。第四,我们设计了一种通过标签错误统计方法(ALSE)进行主动学习的新算法。使用来自各个领域的20个数据集(其中包括大量的UCI数据集)进行了学习实验。

算法实例框架


先通过一个算法实例来快速讲解一下其间过程。第1部分是输入,其中包含两种类型的数据集: Iris(DB <1.2)和Sonar(DB> 1.2)。

第2部分是理论和实际的标签错误统计方法。理论标签错误统计方法提供了单实例标签错误统计函数es(λs)e_s(λ_s)es​(λs​)和实例对统计函数ep(λp)e_p(λ_p)ep​(λp​)。实用的标签错误统计模型提供了使用统计方法获得的两个经验标签错误函数ϕ(λs)ϕ(λ_s)ϕ(λs​)和ϕ(λp)ϕ(λ_p)ϕ(λp​)。

第3部分是使用Iris数据集进行迭代查询,拆分和预测的示例。通过聚类获得三种不同大小的聚类子块。三个簇的直径分别为λ′λ'λ′,λ′′λ''λ′′和λ’’’。对于块1,ϕ(λ′)<ε\phi(λ')<εϕ(λ′)<ε,我们选择代表性的实例5、23、41。由于l(5)=l(23)=l(41)=1l(5)= l(23)= l(41)= 1l(5)=l(23)=l(41)=1,所以块1是纯净的,我们将预测所有剩余的块实例。对于块2,ϕ(λ′′)<εϕ(λ'')<εϕ(λ′′)<ε,在判断块2不纯的同时,我们需要对块进行拆分。对于块3,ϕ(λ′′′)>εϕ(λ''')>εϕ(λ′′′)>ε,我们将直接分割该块。通过这种方式,ALSE算法会迭代查询,拆分和预测,直到所有实例都获得标签为止。其中,图3.1先利用聚类算法聚合数据,聚类算法采用的是密度峰值聚类算法(clustering by fast search and find of density peaks),有兴趣的同学可以自行查阅,再次不在过多赘述。

第4部分是输出。

概率利普西茨假设

在许多机器学习的算法中,将“两两点之间离得越近的实例点标签越相似,离得越远的实例点标签越不相似。”的聚类假设当成是一种固有的性质。Urner等人[1]提出了概率利普西茨(PL)来量化这种性质。令S为一些独立同分布的未标记样本,由概率分布P生成。

定义1:(PL-Unary)当存在函数ϕ\phiϕ时,根据Urner给出的定义(称为PL-Unary)标签函数lll满足PL假设,使得:
Pr⁡[∃y:dist(x,y)<λ∧l(x)≠l(y)]≤ϕ(λ)\Pr[\exists y:{dist(x,y) < \lambda} \wedge l(x) \ne l(y)] \le \phi (\lambda) Pr[∃y:dist(x,y)<λ∧l(x)​=l(y)]≤ϕ(λ)
PL假设表明两个很接近的实例具有不同标签的概率是有界的且很小。这可以看作是标准利普西茨条件的松弛。
定义2:(PL-Conditional)当存在函数ϕ\phiϕ时,标签函数lll为PL条件,使得:
Pr⁡[l(x)≠l(y)∣dist(x,y)<λ]≤ϕ(λ)\Pr[l(x) \ne l(y)\left| {dist(x,y) < \lambda} \right.] \le \phi (\lambda) Pr[l(x)​=l(y)∣dist(x,y)<λ]≤ϕ(λ)

理论标签误差统计方法

在本小节中,重新定义了两个标签误差统计函数。它们分别基于单实例以及实例对,并且通过这两个函数,分析了统计标签误差及其领域半径的关系。

单实例标签误差统计方法

邻居是标签误差统计的核心概念。
实例的邻居通常由距离或其它相似性指标确定。
(前面还有一个定义是决策系统的,请自性查阅~)

定义5: 领域半径为λs\lambda_sλs​,定义x∈Ux\in Ux∈U的邻居个数为:
Nλs(x)={y∈U∣dist(x,y)≤λs}N_{\lambda_s}(x)=\{y\in U|dist(x,y)\leq \lambda_s\} Nλs​​(x)={y∈U∣dist(x,y)≤λs​}
其中,dist(x,y)dist(x,y)dist(x,y)是xxx与yyy之间的距离。

定义6: 定义单实例标签误差统计函数为:
es(λs)=∑x∈Uχ(x,λs)ne_s(\lambda_s)=\frac{\sum_{x\in U}\chi(x,\lambda _s)}{n} es​(λs​)=n∑x∈U​χ(x,λs​)​
其中,
χ(x,λs)={1,if ∃y∈Nλs(x)当且仅当 l(x)≠l(y)0,其它\chi (x, \lambda_s) = \left\{\begin{array}{ll} 1, & \textrm{if } \exists y \in N_{\lambda_s}(x) \textrm{ 当且仅当 } l(x) \ne l(y)\\ 0, & \textrm{其它} \end{array}\right. χ(x,λs​)={1,0,​if ∃y∈Nλs​​(x) 当且仅当 l(x)​=l(y)其它​
由此可见,es(λs)e_s(\lambda_s)es​(λs​)的上限为1。

下图显示单实例x1x_1x1​,x2x_2x2​,x3x_3x3​,x4x_4x4​和x5x_5x5​在不同邻域半径下的邻居,红色代表正实例,蓝色代表负实例。
对于x1x_1x1​,根据定义\ref{definition:neightbor}可以得出N0.2(x1)={x2,x3}N_{0.2}(x_1)=\{x_2,x_3\}N0.2​(x1​)={x2​,x3​}。
同理,可以得出N0.4(x1)={x2,x3,x4}N_{0.4}(x_1)=\{x_2,x_3,x_4\}N0.4​(x1​)={x2​,x3​,x4​},N0.6(x1)={x2,x3,x4,x5}N_{0.6}(x_1)=\{x_2,x_3,x_4,x_5\}N0.6​(x1​)={x2​,x3​,x4​,x5​}。

下表给出了定义5的三个示例。
如果λs=0.2\lambda_s=0.2λs​=0.2,那么可以计算出χ(x1)\chi(x_1)χ(x1​),χ(x2)\chi(x_2)χ(x2​),χ(x3)\chi(x_3)χ(x3​),χ(x4)\chi(x_4)χ(x4​)和χ(x5)\chi(x_5)χ(x5​)。
然后,根据公式\eqref{equation:single-instance},可以得出es(0.2)=0e_s(0.2)=0es​(0.2)=0。
同理,可以得出es(0.4)=4/5e_s(0.4)=4/5es​(0.4)=4/5,es(0.6)=1e_s(0.6)=1es​(0.6)=1。

实例对标签误差统计方法

误差统计函数es(λs)e_s(\lambda_s)es​(λs​)研究的是分类误差的上限。由此,需要一种更通用的标签误差统计方法。接下来,将从实例对的角度定义一个新的标签误差统计函数。

定义8: 定义实例对关于距离阈值λp\lambda_pλp​的邻居为:
Nλp={(x,y)∈U×U∣dist(x,y)≤λp}N_{\lambda_p}=\{(x,y)\in U\times U|dist(x,y)\leq \lambda_p\} Nλp​​={(x,y)∈U×U∣dist(x,y)≤λp​}
其中,dist(x,y)dist(x,y)dist(x,y)是xxx与yyy之间的距离。

定义9: 令λp\lambda_pλp​为距离阈值,定义实例对标签误差统计函数为:
ep(λp)=∣(x,y)∈Nλp∣lx≠ly∣∣Nλp∣e_p(\lambda_p)=\frac{|{(x,y)\in N_{\lambda_p}}|l_x\neq l_y|}{|N_{\lambda_p}|} ep​(λp​)=∣Nλp​​∣∣(x,y)∈Nλp​​∣lx​​=ly​∣​
其中,dist(x,y)dist(x,y)dist(x,y)是xxx与yyy之间的距离。

同样,下图显示x1x_1x1​,x2x_2x2​,x3x_3x3​,x4x_4x4​和x5x_5x5​的实例对邻居以及邻域半径,其中红色表示正实例,蓝色表示负实例。对于λp=0.2\lambda_p=0.2λp​=0.2,根据定义\ref{definition:neightbor-pair},可以获得N0.2={(x1,x2),(x1,x3),(x1,x4),(x2,x3),(x3,x4)}N_{0.2}=\{(x_1,x_2),(x_1,x_3),(x_1,x_4),(x_2,x_3),(x_3,x_4)\}N0.2​={(x1​,x2​),(x1​,x3​),(x1​,x4​),(x2​,x3​),(x3​,x4​)},即∣N0.2∣=5|N_0.2|=5∣N0​.2∣=5。同理,可以得出∣N0.4∣=7|N_0.4|=7∣N0​.4∣=7,∣N0.6∣=10|N_0.6|=10∣N0​.6∣=10。


下表给出了定义9的三个示例。
如果λp=0.2\lambda_p=0.2λp​=0.2,可以计算出(x,y)∈N0.2∣lx≠ly=(x1,x2),(x1,x4),(x2,x3),(x3,x4){(x,y)\in N_0.2|l_x\neq l_y}={(x_1,x_2),(x_1,x_4),(x_2,x_3),(x_3,x_4)}(x,y)∈N0​.2∣lx​​=ly​=(x1​,x2​),(x1​,x4​),(x2​,x3​),(x3​,x4​)。
若∣N0.2∣=5|N_0.2|=5∣N0​.2∣=5,则根据公式\eqref{equation:neightbor-pair}可以得出ep(0.2)=4/5e_p(0.2)=4/5ep​(0.2)=4/5。同理,可以得出ep(0.4)=4/7,ep(0.6)=3/5e_p(0.4)=4/7,e_p(0.6)=3/5ep​(0.4)=4/7,ep​(0.6)=3/5。

实际标签误差统计方法

文章提出了一种实际的统计方法,用于获取聚类块经验标签误差。
经验标签误差与数据及其算法有关。
因此,可以使用统计方法从实际数据中获取。

模型选择

文章使用聚类内部评价指标:DB指数来对模型进行选择。(关于DB指数可自行了解~)

训练模型所需训练样本数

模型所需样本数通过PAC理论,以及霍夫丁不等式可以证明最小所需样本数,在此请结合文章看,上面有完整的证明过程。

构建实际统计模型

(1)模型1:
φ(λs)=779.9λ9.019−0.0006884\varphi ({\lambda_s}) = 779.9\lambda^{9.019} - 0.0006884 φ(λs​)=779.9λ9.019−0.0006884
其中,φ(λs)\varphi ({\lambda_s})φ(λs​)是单实例标签误差经验曲线。
(2)模型2:
φ(λp)=(804.3λ−1.381)/(λ3+1621λ2+286.2λ+1221)\varphi ({\lambda_p}) = (804.3\lambda -1.381)/(\lambda^3 + 1621\lambda^2 + 286.2\lambda + 1221) φ(λp​)=(804.3λ−1.381)/(λ3+1621λ2+286.2λ+1221)
其中,φ(λp)\varphi ({\lambda_p})φ(λp​)是实例对标签误差经验曲线。

实验

数据集简介

UCI数据占大多数,其中包含各种类型

部分可视化:

实验评价

实验评价指标是准确度和F-measure,取十次平均加标准差的形式。
对比算法包括监督学习算法和主动学习算法
(下面贴出部分结果,完整版见文章~)



Active Learning through label error statistical methods(ALSE)相关推荐

  1. 主动学习综述(ACTIVE LEARNING)

    2019独角兽企业重金招聘Python工程师标准>>> Active learning process 算法:主动学习算法伪代码描述 输入:未标记样本U,标记样本集L,学习引擎LE, ...

  2. 阅读笔记-Active Learning For Wireless IoT Intrusion Detection

    文章发表于2018年 IEEE WIreless Commmunications,作者来自同济大学以及AT&T Lab 本文主要研究的是无线入侵检测里的human-in-the-loop ac ...

  3. 主动学习(Active learning) Review

    Active learning Introduction 定义 主动学习针对数据标签较少或打标签代价较高场景设计,又称最优实验设计.主要是通过算法挑选信息量高未标注数据让标注员确定数据的标签,同时利用 ...

  4. 【Active Learning - 13】总结与展望 参考文献的整理与分享(The End...)

    写在前面: 本篇博文将作为"主动学习系列"博文的结尾.目前,本人在职的相关工作暂无与主动学习相关的需求.因此,之后大概率是不会再更新相关的博文了.能够分享的内容和资料,我都分享在这 ...

  5. 主动学习(Active Learning)系列介绍(一)基本概念及应用场景

    目录 一个小假设 有监督学习思想 主动学习思想 研究背景 主动学习 问题场景 1. Query Synthesis 2. Stream-based Selective Sampling 3. Pool ...

  6. Active Learning: 一个降低深度学习时间,空间,经济成本的解决方案

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习  快速带你晋级阅读全文> 作者简介自述:I received the BSc degree with honors in ...

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

    0. incremental learning 既有训练好的模型可能在新生成的数据上产生预测的偏差,可能是由于数据分布发生变化,这即为 concept drift,此时需要在这批新数据集上继续训练模型 ...

  8. [论文解读]Deep active learning for object detection

    Deep active learning for object detection 文章目录 Deep active learning for object detection 简介 摘要 初步 以前 ...

  9. 主动学习(Active Learning) 概述、策略和不确定性度量

    主动学习是指对需要标记的数据进行优先排序的过程,这样可以确定哪些数据对训练监督模型产生最大的影响. 主动学习是一种学习算法可以交互式查询用户(teacher 或 oracle),用真实标签标注新数据点 ...

  10. 主动学习(Active Learning)简介综述汇总以及主流技术方案

    0.引言 在机器学习(Machine learning)领域,监督学习(Supervised learning).非监督学习(Unsupervised learning)以及半监督学习(Semi-su ...

最新文章

  1. 近期活动盘点:俞士纶见面会、2018未来医疗100强论坛、清华校友三创论坛、2018年中国数字政府论坛(12.18-12.21)...
  2. eclipse如何连接mysql_Python如何连接 MySQL?
  3. Runnable案例 我赚钱她取钱案例 java1615475726
  4. C++递归或非递归实现求斐波拉契数列第n项
  5. oracle数据库基础知识
  6. 素材解析程序源代码,用thinkphp开发的 支持12大网站,其他需要定制
  7. [ 转载 ]微信小程序font-family
  8. 大学加权平均分计算器_澳大利亚移民宝藏专业----西澳大学幼教硕士解析
  9. 推荐几款流行的开源报表工具
  10. 电脑连接热点无internet访问权限_电脑连接手机热点无法上网的三种解决方法
  11. Mac下安装SecureCRT并激活 阿星小栈
  12. 极米RS Pro 2值得买吗?极米科技这款4K投影真实体验怎么样?
  13. 可穿戴设备数据安全及隐私保护概论
  14. 创业管理实战2021年秋(考试答案)
  15. Nodejs 服务端MVC架构
  16. 深入浅出MySQL BINLOG
  17. 经验总结之 小黄狗智能回收App2.0
  18. YDOOK:通过 ffmpeg 转化格式的音频 前后的采样率一样吗
  19. java jolt_java – Jolt条件规范
  20. Unreal Engine 4 卡通轮廓线(Toon Outlines)教程 之 后期处理法(Post Process Outlines)

热门文章

  1. 【毕业设计】深度学习YOLO抽烟行为检测 - python opencv
  2. 北京上海开车遇加塞,像个人行不行?!
  3. matlab 贝塞尔函数 虚数,Bessel函数介绍.pdf
  4. 关于新加坡的身份证与电话号码验证
  5. PhotoShop等比缩放图片
  6. 楼梯计算机公式,楼梯的计算公式 楼梯的尺寸
  7. co作为前缀的意思_注定孤独的前缀|英汉比较教学法·语音思维No.17
  8. dede flag标签用法
  9. 解决linux kernel 提交gerrit时,运行checkpatch.pl产生的xxxx64_defconfig not generated by savedefconfig问题
  10. 成都盛铭轩:产品主图提升转化率