文章目录

  • 引入
  • 1 小故事一个
  • 2 ExML:另辟蹊径
    • 2.1 探索性机器学习
    • 2.2 一些基础理论
  • 3 开干开干
    • 3.1 拒绝模型
    • 3.2 特征发掘

引入

  传统机器学习就不逼逼了。想象这样一个问题,咋花了老半天训练了一个模型,结果效果西撇,啥子原因来?啊~可能算法没整好,或者有标记样本都不给够,想欺负窝小老弟些蛮?
  哎呀也不一定都是这样,华哥[1]\color{red}^{[1]}[1]团队就给出另一个可能:训练集中的一些未知类别的被搞成了其他类别。 不过是哪些囊个晓得来?姑且叫做unknown unknown classes,简称unknown unknowns。
  对此,探索性机器学习来了,弄啥呢?如果未知未知类存在,就找到它并学习,over。


【1】http://129.211.169.156/publication/aaai21_exml.pdf


1 小故事一个

  如下图,去大医病的时候,一个人可能得了哮喘、肺炎或者癌症 (日耶),前两个可以轻松地检测出,后面的就需要CT啊什么的高端操作,贵啊哥哥。那如果去小医院呢?不太可能说:“哎呀我看你有哮喘,回去该吃吃该喝喝了吧?”
  “不得哟医生,我就是多人运动玩多了,不至于嘛。”
  这个时候了,就算有癌症,医生也不晓得瑟,“其实就是普通的肺炎,来整颗头孢。”
  呼松口气,但是这样真的好吗哈哈哈?
  这样就导致已习得模型不能察觉到未知类

  传统的有监督不能解决的问题,就由“我们”来解决。

2 ExML:另辟蹊径

  关键在于如何识别那些未知的未知类。前人巴拉巴拉,本文先抛开不看,直接开启新的版本:特征信息不完备–>标签空间信息不完备–>训练集不太行啊~
  特征空间和标签空间缠绵,两个老几也不可信,不松和哟。
  第一个挑战:模型性能不佳时,是否真的是未知未知类导致? 对此,加大训练数据并重新选择模型,还是不得行,那就有理由相信未知未知类的存在。
  第二个挑战:既然有,如何识别未知未知类? 直接选择低预测置信度的实例作为未知未知类?№ №,理由有下:
  1)预测置信度低,可能是标签空间不完备导致;
  2)同上,已知的类别也可能被预测为低置信度。
  日弄人噢~看来有必要搞一下外部特征信息 (external feature information)。

2.1 探索性机器学习

  即使增大训练数据量,模型的性能也无法有效提升时,学习者就有理由猜疑未知未知类的存在,并寻求一些候选的特征增强。
  如下图,已知的两类数据傻傻分不开,结果就是出现显著的低置信度区域。通过合理的特征增强,学习者就可以:
  获得识别未知未知类的能力

  通过以上,本文提出探索性机器学习框架,用来发掘更多的特征信息,以处理由于特征缺乏导致的未知未知类问题。
  下图展示了传统有监督学习与探索性机器学习的区别,后者有点主动学习的味道了。

  所提出的ExML包含三个要素
  1)拒绝模型 (rejection model):鉴定哪些实例可能是未知未知类;
  2)特征发掘 (feature exploration):指导特征的发掘,并基于增强特征空间重新训练模型;
  3)模型级联 (model cascade):逐层处理以优化可疑实例的选择。
  装逼结束,开始推理与实验证明。

2.2 一些基础理论

  训练集:D^tr={(x^i),y^i}i=1m\hat{D}_{tr} = \{ (\hat{x}_i), \hat{y}_i \}_{i = 1}^mD^tr​={(x^i​),y^​i​}i=1m​,其中x^i∈X^⊆Rd\hat{x}_i \in \hat{\mathcal{X}} \subseteq \mathbb{R}^dx^i​∈X^⊆Rd是来自 已观测特征空间的实例,说白了就是拿来个数据集中的实例。y^i∈Y^\hat{y}_i \in \hat{\mathcal{Y}}y^​i​∈Y^​来自有NNN个已知类别的不完备标签空间
  简便起见,只讨论二分类

  候选特征和代价预算:令C={c1,⋯,ck}\mathcal{C} = \{ c_1, \cdots, c_k \}C={c1​,⋯,ck​}表示候选特征的集合,其中的每个值在购买之前都是未知的。例如小故事中,去看病的人花钱做了CT。此外,购买任意的特征都需要付出代价。这和主动学习的不同之处就是一个买样本一个买特征了。
  于学习器而言,需要在低于预算BBB的同时获取kkk个最有信息的特征。
  这里,每一次购买的代价都是111,且设置k=1k = 1k=1。

  测试阶段:假设学习器找到了最好的特征cic_ici​,此特征将用于测试样本的增强:
  Xi=(X∪Xi^)⊆Rd+1\mathcal{X}_i = (\hat{\mathcal{X} \cup \mathcal{X}^i}) \subseteq \mathbb{R}^{d + 1}Xi​=(X∪Xi^)⊆Rd+1,其中Xi\mathcal{X}^iXi是cic_ici​对应的特征空间。
  简单说来,就是找一列特征,加到原始的特征空间。
  此时,已有模型就需要预测增强测试样本的标签,它是已有的类别之一呢?还是未知未知类?哈哈,猜一个/xyx

3 开干开干

  请牢记我们的出发点:由于已有数据的特征缺乏,学习者可能无法意识到未知未知类的存在
  给出的基本假设:具有高预测置信度的实例能够正确地被预测为已知类别。
  什么时候需要怀疑未知未知类的存在? 无论是加数据量,换数据模型,都搞不好的时候。
  流程如下:

3.1 拒绝模型

  低置信度的实例可能来自已知类,或者未知未知类。这一点窝们参照了[1]\color{red}[1][1]的拒绝技术:学习模型将放弃预测条件概率低于给定值1−θ1 - \theta1−θ的实例。奇怪的知识增加了鸭~

  具体的,习得函数f=(h,g)f = (h, g)f=(h,g),其中h:X^↦Rh: \hat{\mathcal{X}} \mapsto \mathbb{R}h:X^↦R是一个已知类的预测函数,g:X^↦Rg: \hat{\mathcal{X}} \mapsto \mathbb{R}g:X^↦R是一个是否拒绝为未知未知类的阀函数
  如果g(⋅)<0g(\cdot) <0g(⋅)<0就接受,否则就预测为sign(h(x^))\text{sign} ( h (\hat{x}))sign(h(x^))。那拒绝模型怎么来?来淦一下下面这个:
min⁡fEx^,y^∼D^[ℓ0/1(f,x^,y^;θ)],(1)\min_f \mathbb{E}_{\hat{x}, \hat{y} \sim \hat{D}} \left[ \ell_{0 / 1} (f, \hat{x}, \hat{y}; \theta) \right], \tag{1} fmin​Ex^,y^​∼D^​[ℓ0/1​(f,x^,y^​;θ)],(1)其中ℓ0/1(f,x^,y^;θ)=Iy^⋅h(x^)<0⋅Ig(x^)>0+θ⋅Ig(x^)≤0\ell_{0 / 1} (f, \hat{x}, \hat{y}; \theta) = \mathbb{I}_{\hat{y} \cdot h (\hat{x}) < 0} \cdot \mathbb{I}_{g (\hat{x}) > 0} + \theta \cdot \mathbb{I}_{g (\hat{x}) \leq 0}ℓ0/1​(f,x^,y^​;θ)=Iy^​⋅h(x^)<0​⋅Ig(x^)>0​+θ⋅Ig(x^)≤0​是一个0−10 - 10−1损失函数,θ∈(0,0.5)\theta \in (0, 0.5)θ∈(0,0.5),D^\hat{\mathcal{D}}D^就是把数据和标签弄一起。
  原文用的空心数字1窝打不出来,就是下面那个家伙,用I\mathbb{I}I来代替了。

  说实话目前这个公式打脑壳哈,以前还没有见过这样写的,欸嘿~

  θ\thetaθ越小拒绝能力越强,其被预测为已知类的结果就越可信。 不过这个损失函数是一个非凸优化,看看就行。[1]\color{red}[1][1]提出了一个替代的ℓsurr:=ℓsurr(f,x^,y^;θ)\ell_{surr}: = \ell_{surr} (f, \hat{x}, \hat{y}; \theta)ℓsurr​:=ℓsurr​(f,x^,y^​;θ):
ℓsurr=max⁡{1+12(g(x^)−y^⋅h(x^)),θ(1−g(x^)1−2θ),0}.\ell_{surr} = \max \left\{1 + \frac{1}{2} (g (\hat{x}) - \hat{y} \cdot h (\hat{x})), \theta (1 - \frac{g (\hat{x})}{1 - 2 \theta}), 0 \right\}. ℓsurr​=max{1+21​(g(x^)−y^​⋅h(x^)),θ(1−1−2θg(x^)​),0}.  hhh是预测函数,ggg是阀函数,不要弄混了哈。
  在这里,由于分布未知,不能够直接计算风险,这里的风险我理解是:将未知未知类当作已知类的风险评估。自然,风险是越小越好,这是模型需要优化的,文章里说是经验风险
min⁡f∈H×H1m∑i=1mℓsurr(f,x^i,y^i;θ)+Ch∥h∥H2+Cg∥g∥H2,(2)\tag{2} \min_{f \in \mathbb{H} \times \mathbb{H}} \frac{1}{m} \sum_{i = 1}^m \ell_{surr} (f, \hat{x}_i, \hat{y}_i; \theta) + C_h \| h \|_{\mathbb{H}^2} + C_g \| g \|_{\mathbb{H}^2}, f∈H×Hmin​m1​i=1∑m​ℓsurr​(f,x^i​,y^​i​;θ)+Ch​∥h∥H2​+Cg​∥g∥H2​,(2)其中ChC_hCh​、CgC_gCg​是正则参数,H\mathbb{H}H是由核K:X^×X^↦RK: \hat{\mathcal{X}} \times \hat{\mathcal{X}} \mapsto \mathbb{R}K:X^×X^↦R推出的 再生核希尔伯特空间 (Reproducing Kernel Hilbert Space, RKHS),简单的说就是核函数构成的空间,有线性空间的数乘、加减操作,也有内积操作这些。
  得益于[2]\color{red}[2][2]的工作,这里h(x^)=∑i=1muiK(x^,x^i)h (\hat{x}) = \sum_{i = 1}^m u_i K (\hat{x}, \hat{x}_i)h(x^)=∑i=1m​ui​K(x^,x^i​)、g(x^)=∑i=1muiK(x^,x^i)g (\hat{x}) = \sum_{i = 1}^m u_i K (\hat{x}, \hat{x}_i)g(x^)=∑i=1m​ui​K(x^,x^i​),其中uiu_iui​和wiw_iwi​是需要学习的参数。
  至此,式 (2)可以使用二次编程解决 (quadratic programming),更多的细节去看[1]\color{red}[1][1],华哥你们怎么这样甩锅啊啊啊~~~~~~~~~~~~~
 &#8195啊啊啊啊这小节就没了鸭,/(ㄒoㄒ)/~~


【1】Cortes, C.; DeSalvo, G.; and Mohri, M. 2016b. Learning with Rejection. In Proceedings of International Conference on Algorithmic Learning Theory, 67–82.
【2】Sch¨olkopf, B.; and Smola, A. J. 2002. Learning with Kernels: support vector machines, regularization, optimization, and beyond. Adaptive computation and machine learning series. MIT Press.


3.2 特征发掘

  在已有模型弄死不得行的时候,就可以跟上本文的步伐。
  本文的设置中,学习者需要从KKK个候选中选择最好的特征来重训练,如下图:

  这里牵起耳朵给大家说,传统的特征选择不适合本设置,因为候选特征在查询之前是不可知的。
  所以呢,本文提出了特征探索,来在无需提前提供特征值的情况下且低于预设代价找到最优信息的特征。
  这???
  先不管,先甩两个问题哟:
  1)怎样度量候选特征的质量?
  2)怎么有效分配预算又找到最好?

  接下来听贫道道来:
  嘛米嘛米弘,走错片场了哈哈~

  第一个问题:特征质量度量
  令Di\mathcal{D}_iDi​表示覆盖Yi×Y^\mathcal{Y}_i \times \hat{\mathcal{Y}}Yi​×Y^​的数据分布,其中Xi\mathcal{X}_iXi​是增强特征空间的第iii个候选特征。本文使用Di\mathcal{D}_iDi​上的贝叶斯风险来作为特征质量度量:
Ri∗=Ri(fi∗)=min⁡fE(x,y^∼Di)[ℓ0/1(f,x,y^;θ)],(3)\tag{3} R_i^* = R_i (f_i^*) = \min_f \mathbb{E}_{ ( x, \hat{y} \sim \mathcal{D}_i)} [\ell_{0 / 1} (f, x, \hat{y}; \theta)], Ri∗​=Ri​(fi∗​)=fmin​E(x,y^​∼Di​)​[ℓ0/1​(f,x,y^​;θ)],(3)其中Ri(f)R_i (f)Ri​(f)是给定fff下的预期0/10 / 10/1风险,fi∗f_i^*fi∗​是使得Ri(f)R_i (f)Ri​(f)最小化的函数。
  贝叶斯风险的近似为:
R^Di=R^i(f^i)=∑j=1niℓ0/1(f^i,xj,y^j;θ)(4)\tag{4} \widehat{R}_{D_{i}}=\widehat{R}_{i}\left(\widehat{f}_{i}\right)=\sum_{j=1}^{n_{i}} \ell_{0 / 1}\left(\widehat{f}_{i}, \mathrm{x}_{j}, \widehat{y}_{j} ; \theta\right) RDi​​=Ri​(f​i​)=j=1∑ni​​ℓ0/1​(f​i​,xj​,y​j​;θ)(4)其中Di={(xj,y^j)}j=1ni∼DiD_i = \{ (x_j, \hat{y}_j ) \}_{j = 1}^{n_i} \sim \mathcal{D}_iDi​={(xj​,y^​j​)}j=1ni​​∼Di​,xj∈Xix_j \in \mathcal{X}_ixj​∈Xi​,y^j∈Y^\hat{y}_j \in \hat{\mathcal{Y}}y^​j​∈Y^​,f^i\hat{f}_if^​i​是在增强数据集DiD_iDi​上优化式 (2)得到。
  有了公式 (4),以下给出预算分布策略来找最好的候选特征 (说实话看到这里我不知道怎么做哈哈哈):
  预算分布策略:在不失一般性的前提下,假设特征按照其价值排序,即R1∗≤⋯≤RK∗R_1^* \leq \cdots \leq R_K^*R1∗​≤⋯≤RK∗​。我们的目标就是在给定预算下找到最好的特征,并基于增强数据集训练好的更一般性的模型。以下给出具体策略:
  均匀分布:对于任意的候选特征cic_ici​,I∈[K]I \in [K]I∈[K],每一个增强数据集DiD_iDi​的预算分配为⌊B/K⌋\lfloor B / K \rfloor⌊B/K⌋。这个策略将选择最大概率的特征作为最好的特征 (证明看原论文)。
  中位消除 (Median Elimination):对于每一次迭代,首先去除一半戳的候选特征,再从余下的里面选一个最好的。具体的,评估过程将进行T=⌈log⁡2K⌉T = \lceil \log_2 K \rceilT=⌈log2​K⌉轮次,每一轮每个特征分配的预算为⌊B/T⌋\lfloor B / T \rfloor⌊B/T⌋。具体的伪代码如下:

算法1:中位消除下的特征探索

输入
预算BBB,原始数据集D^tr={(x^i,y^i)}i=1m\hat{D}_{tr} = \{ (\hat{x}_i, \hat{y}_i) \}_{i = 1}^mD^tr​={(x^i​,y^​i​)}i=1m​,候选特征池C{c1,⋯,cK}\mathcal{C} \{ c_1, \cdots, c_K \}C{c1​,⋯,cK​},阈值θ∈(0,1)\theta \in (0, 1)θ∈(0,1)
输出
所选择的特征cis∈Cc_{i_s} \in \mathcal{C}cis​​∈C,增强模型f^is\hat{f}_{i_s}f^​is​​

1:为每一个特征cic_ici​初始化数据集Di=∅D_i = \emptysetDi​=∅,C1=C\mathcal{C}_1 = \mathcal{C}C1​=C记录当前特征,T=⌈log⁡2K⌉T = \lceil \log_2 K \rceilT=⌈log2​K⌉
2:for t=1,⋯,Tt = 1, \cdots, Tt=1,⋯,T do
3:  于D^tr\hat{D}_{tr}D^tr​中随机选择nt=⌊B/(T∣Ct)⌋n_t = \lfloor B / (T | \mathcal{C}_t) \rfloornt​=⌊B/(T∣Ct​)⌋个样本和特征ci∈Ctc_i \in \mathcal{C}_tci​∈Ct​
4:  

论文阅读 (二十一):Exploratory Machine Learning with Unknown Unknowns (2021AAAI EXML)相关推荐

  1. 【论文阅读】Rethinking Spatiotemporal Feature Learning For Video Understanding

    [论文阅读]Rethinking Spatiotemporal Feature Learning For Video Understanding 这是一篇google的论文,它和之前介绍的一篇face ...

  2. 论文阅读: Channel Augmented Joint Learning for Visible-Infrared Recognition

    论文阅读: Channel Augmented Joint Learning for Visible-Infrared Recognition code: https://gitee.com/mind ...

  3. 【论文阅读】Decision Transformer: Reinforcement Learning via Sequence Modeling

    [论文阅读]Decision Transformer: Reinforcement Learning via Sequence Modeling 1 本文解决了什么问题? 本文将强化学习抽象为一个序列 ...

  4. 【论文阅读】Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition

    Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition 摘要: I ...

  5. 【论文阅读】Parametrized Deep Q-Networks Learning: RL with Discrete-Continuous Hybrid Action Space

    [论文阅读-深度强化学习打王者荣耀]Parametrized Deep Q-Networks Learning: Reinforcement Learning with Discrete-Contin ...

  6. 论文阅读:Self-Supervised Video Representation Learning With Odd-One-Out Networks

    目录 Contributions Method 1.Model 2.Three sampling strategies. 3.Video frame encoding. Results More Re ...

  7. 论文阅读:Self-supervised video representation learning with space-time cubic puzzles

    论文名称:Self-supervised video representation learning with space-time cubic puzzles(2019 AAAI) 论文作者:Dah ...

  8. 论文阅读笔记:Frequency-Aware Contrastive Learning for Neural Machine Translation

    论文链接:https://arxiv.org/abs/2112.14484 author={Zhang, Tong and Ye, Wei and Yang, Baosong and Zhang, L ...

  9. 阅读笔记二:Using Machine Learning to Estimate Reservoir Parameters in Real Options Valuation of an Unexpl

    一.发现问题: 使用专门的油藏数据进行初步调查发现,油田价值的变化的原因80%都是由于油藏条件的不确定性造成的(假设不确定性来源有:勘测结果,储量.生产率.油价和利率). 如果我们能够准确地估算出模型 ...

最新文章

  1. __name__ == '__main__'的作用
  2. Ferderweisser
  3. Java程序员必须掌握的7个Java性能指标!
  4. 使用抽象类还是接口(Java)
  5. 华为服务器清除系统日志,清空服务器日志
  6. java const关键字_const关键字:终于拥有真正的常量声明语句
  7. java jpa_Java JPA 语法知识
  8. java enummap_Java EnumMap values()方法与示例
  9. 【算法分析与设计】实验 分治算法解决中位数问题
  10. 分享codeigniter 路由(URL)终极优化
  11. Python笔记-windows平台中Flask打包成exe
  12. 绕过COM,一个巧妙的思路
  13. mongodb处理库 php_MongoDB数据库常用操作PHP代码
  14. 5道经典基础编程题让你入门C语言
  15. Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(下)
  16. 基于matlab的声音个数识别
  17. Ubuntu16.04 ext4格式硬盘挂载普通用户权限控制
  18. 尾行4攻略女仆计算机密码,【尾行4攻略女仆不动】尾行2,攻略(共10篇)
  19. 《亲自动手写一个深度学习框架》-专题视频课程-广州市老刘
  20. 多目标优化系列(六)SPEA

热门文章

  1. Duplicate Net Names Wire AVCC
  2. 【机器学习】Learning to Rank 简介
  3. Learning to Rank(LTR)(转)
  4. 多线程情况下如何保证线程安全
  5. 对接京东获取任务工单接口jingdong.homefw.task.search,附接口字段详细说明,数据库设计,Java实现
  6. 每日一课 | 在Python中获取列表的长度和大小
  7. 3NF的无损连接和保持函数依赖的分解、BCNF的无损连接的分解
  8. 二十、JVM命令行监控工具
  9. java模仿微信QQ群聊头像拼接,根据群聊内的用户头像拼接群聊头像,九宫格
  10. Android--经典蓝牙(文件传输--socket通信)