前言

如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。


概述

首先从一个流感的例子讲起,医院在八月根据当月数据训练了模型 fff,假设其特征 x\bm{x}x 为「有无咳嗽」,预测标签 yyy 为「有无得流感」。

后续几个月模型 fff 运转良好,但到第二年二月时,医院发现 fff 预测为「得流感」的人数大幅增加,此时我们知道这与「冬季是流感高发期」有关。但一个问题随即出现了,用八月数据训出的 fff 是否在二月也能有效预测,其在八月数据上学得的先验是否会影响二月时的判断。

将问题形式化,我们可以发现八月和二月的 p(y∣x)=p(p(y\mid \bm{x})=p(p(y∣x)=p(流感 ∣\mid∣ 咳嗽))) 和 p(y)=p(p(y)=p(p(y)=p(流感))) 明显发生了变化,因此过往在「covariate shift」上的研究不再适用。

继续深入,我们可以发现 p(x∣y)=p(p(\bm{x}\mid y)=p(p(x∣y)=p(咳嗽 ∣\mid∣ 流感))) 似乎并没有发生太大的变化,由此引入本篇文章所关注的「label shift」问题,其代表下述这种情况:

  • 标签边际分布 p(y)p(y)p(y) 发生变化,但条件分布 p(x∣y)p(\bm{x}\mid y)p(x∣y) 不变

随后文中提出「Black Box Shift Estimation (BBSE)」方法,利用「黑盒预测器」来估计变化的 p(y)p(y)p(y),且仅要求其对应「混淆矩阵 (confusion matrices)」是可逆的,即使预测器是 biased,inaccurate 或 uncalibrated。


问题设定

源域:X×Y\mathcal{X}\times \mathcal{Y}X×Y 上的分布 PPP,D={(xi,yi)}i=1nD=\{(\bm{x}_i, y_i)\}_{i=1}^nD={(xi​,yi​)}i=1n​,基于 DDD 训练得到的黑盒模型 f:X→Yf:\mathcal{X}\rightarrow \mathcal{Y}f:X→Y

目标域:X×Y\mathcal{X}\times \mathcal{Y}X×Y 上的分布 QQQ,X′=[x1′;...;xm′]X'=[\bm{x}_1';...;\bm{x}_m']X′=[x1′​;...;xm′​]

目标:检测 P→QP\rightarrow QP→Q 是否发生了「label shift」,若发生了则重新训练模型,使其适应分布 QQQ

三大假设

  • 「label shift / target shift」假设:
    p(x∣y)=q(x∣y)∀x∈X,y∈Yp(\boldsymbol{x} \mid y)=q(\boldsymbol{x} \mid y) \quad \forall x \in \mathcal{X}, y \in \mathcal{Y} p(x∣y)=q(x∣y)∀x∈X,y∈Y
  • ∀y∈Y\forall y\in \mathcal{Y}∀y∈Y,若 q(y)>0q(y)>0q(y)>0 则 p(y)>0p(y)>0p(y)>0
  • fff 对应的混淆矩阵 (confusion matrix) Cp(f)\mathrm{C}_p(f)Cp​(f) 可逆,矩阵定义如下:
    CP(f):=p(f(x),y)∈R∣Y∣×∣Y∣\mathbf{C}_P(f):=p(f(x), y) \in \mathbb{R}^{|\mathcal{Y}| \times|\mathcal{Y}|} CP​(f):=p(f(x),y)∈R∣Y∣×∣Y∣

BBSE

「Black Box Shift Estimation (BBSE)」方法主要用于估计 w(y)=q(y)/p(y)w(y)=q(y)/p(y)w(y)=q(y)/p(y),其核心思路如下:
q(y^)=∑y∈Yq(y^∣y)q(y)=∑y∈Yp(y^∣y)q(y)=∑y∈Yp(y^,y)q(y)p(y)\begin{aligned} q(\hat{y}) &=\sum_{y \in \mathcal{Y}} q(\hat{y} \mid y) q(y) \\ &=\sum_{y \in \mathcal{Y}} p(\hat{y} \mid y) q(y)=\sum_{y \in \mathcal{Y}} p(\hat{y}, y) \frac{q(y)}{p(y)} \end{aligned} q(y^​)​=y∈Y∑​q(y^​∣y)q(y)=y∈Y∑​p(y^​∣y)q(y)=y∈Y∑​p(y^​,y)p(y)q(y)​​

其中 y^\hat{y}y^​ 即 fff 给出的伪标记,而 q(y^∣y)=p(y^∣y)q(\hat{y}\mid y)=p(\hat{y}\mid y)q(y^​∣y)=p(y^​∣y) 则来自于下述推导:
q(y^∣y)=∑y∈Yq(y^∣x,y)q(x∣y)=∑y∈Yq(y^∣x,y)p(x∣y)=∑y∈Ypf(y^∣x)p(x∣y)=∑y∈Yp(y^∣x,y)p(x∣y)=p(y^∣y)\begin{aligned} &q(\hat{y} \mid y)=\sum_{y \in \mathcal{Y}} q(\hat{y} \mid \boldsymbol{x}, y) q(\boldsymbol{x} \mid y)=\sum_{y \in \mathcal{Y}} q(\hat{y} \mid \boldsymbol{x}, y) p(\boldsymbol{x} \mid y) \\ &=\sum_{y \in \mathcal{Y}} p_f(\hat{y} \mid \boldsymbol{x}) p(\boldsymbol{x} \mid y)=\sum_{y \in \mathcal{Y}} p(\hat{y} \mid \boldsymbol{x}, y) p(\boldsymbol{x} \mid y)=p(\hat{y} \mid y) \end{aligned} ​q(y^​∣y)=y∈Y∑​q(y^​∣x,y)q(x∣y)=y∈Y∑​q(y^​∣x,y)p(x∣y)=y∈Y∑​pf​(y^​∣x)p(x∣y)=y∈Y∑​p(y^​∣x,y)p(x∣y)=p(y^​∣y)​

其关键部分在于 q(x∣y)=p(x∣y)q(\bm{x}\mid y)=p(\bm{x}\mid y)q(x∣y)=p(x∣y) 的假设。随后便可以得到:
μy^=Cy^∣yμy=Cy^,yww^=C^y^,y−1μ^y^μ^y=diag⁡(ν^y)w^\begin{gathered} \mu_{\hat{y}}=\mathrm{C}_{\hat{y} \mid y} \mu_y=\mathrm{C}_{\hat{y}, y} w \\ \hat{\boldsymbol{w}}=\hat{\mathbf{C}}_{\hat{y}, y}^{-1} \hat{\boldsymbol{\mu}}_{\hat{y}} \\ \hat{\boldsymbol{\mu}}_y=\operatorname{diag}\left(\hat{\boldsymbol{\nu}}_y\right) \hat{\boldsymbol{w}} \end{gathered} μy^​​=Cy^​∣y​μy​=Cy^​,y​ww^=C^y^​,y−1​μ^​y^​​μ^​y​=diag(ν^y​)w^​

其中各符号定义如下,其核心思想就是本节最开头的公式,只不过为了严谨而引入了大量符号,但实质不变。

理论保障

首先是「Consistency」的保证:

其次是「Error bounds」方面的保证:

根据上述「Error bounds」的结果,可以发现在选择黑盒模型时,「Cy^,y\mathrm{C}_{\hat{y}, y}Cy^​,y​ 最小奇异值」越大的模型越合适。


Label-Shift 检测

在最开头的三大假设下,q(y)=p(y)⇔p(y^)=q(y^)q(y)=p(y)\Leftrightarrow p(\hat{y})=q(\hat{y})q(y)=p(y)⇔p(y^​)=q(y^​),因此使用「two-sample tests」对 p(y^)=q(y^)p(\hat{y})=q(\hat{y})p(y^​)=q(y^​) 进行检测即可。


让模型适应新分布

计算出 w^\hat{\bm{w}}w^ 后,采用「importance weighted ERM」在源域数据集 D\mathcal{D}D 上重新训练模型即可,具体训练目标如下:
L=∑i=1nw^i⋅ℓ(yi,xi)\mathcal{L}=\sum_{i=1}^n \hat{w}_i\cdot \ell\left(y_i, \bm{x}_i\right) L=i=1∑n​w^i​⋅ℓ(yi​,xi​)

整体算法如下:


检测 Label-Shift 假设成立

采用「kernel two-sample tests」检测下述式子是否成立:
Ep[w(y)k(ϕ(x),⋅)]=Eq[k(ϕ(x),⋅)]\mathbb{E}_p[\boldsymbol{w}(y) k(\phi(\boldsymbol{x}), \cdot)]=\mathbb{E}_q[k(\phi(\boldsymbol{x}), \cdot)] Ep​[w(y)k(ϕ(x),⋅)]=Eq​[k(ϕ(x),⋅)]

即转化为下述 MMD 距离的计算:
∥1n∑i=1n[w^(yi)k(ϕ(xi),⋅)]−1m∑j=1mk(ϕ(xj′),⋅)∥H2\left\|\frac{1}{n} \sum_{i=1}^n\left[\hat{\boldsymbol{w}}\left(y_i\right) k\left(\phi\left(\boldsymbol{x}_i\right), \cdot\right)\right]-\frac{1}{m} \sum_{j=1}^m k\left(\phi\left(\boldsymbol{x}_j^{\prime}\right), \cdot\right)\right\|_{\mathcal{H}}^2 ∥∥​n1​i=1∑n​[w^(yi​)k(ϕ(xi​),⋅)]−m1​j=1∑m​k(ϕ(xj′​),⋅)∥∥​H2​


参考资料

  • [ICML18 - Zachary C. Lipton] Detecting and Correcting for Label Shift with Black Box Predictors

论文:Detecting and Correcting for Label Shift with Black Box Predictors(BBSE)相关推荐

  1. 论文解读:Correcting Chinese Spelling Errors with Phonetic Pre-training

    论文解读:Correcting Chinese Spelling Errors with Phonetic Pre-training(ACL2021)   中文拼写纠错CSC任务具有挑战性,目前的SO ...

  2. [论文解读]A Survey of Methods for Explaining Black Box Models

    A Survey of Methods for Explaining Black Box Models 文章目录 A Survey of Methods for Explaining Black Bo ...

  3. 基于dota的目标检测(旋转框)论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

    基于dota的目标检测(旋转框)|论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors 文章目录 ...

  4. 【论文解读】DLDL: Deep Label Distribution Learning With Label Ambiguity(年龄估计)

    1. 介绍 论文地址:https://arxiv.org/pdf/1611.01731v2.pdf 代码:https://github.com/gaobb/DLDL 针对问题:年龄估计 (1)缺乏精确 ...

  5. ICML 2018 | 从强化学习到生成模型:40篇值得一读的论文

    https://blog.csdn.net/y80gDg1/article/details/81463731 感谢阅读腾讯AI Lab微信号第34篇文章.当地时间 7 月 10-15 日,第 35 届 ...

  6. ICML2018见闻 | 迁移学习、多任务学习领域的进展

    作者 | Isaac Godfried 译者 | 王天宇 编辑 | Jane 出品 | AI科技大本营 [导读]如今 ICML(International Conference on Machine ...

  7. 论文阅读笔记(三)【ACL 2021】Locate and Label: A Two-stage Identifier for Nested Named Entity

    论文标题: Locate and Label: A Two-stage Identifier for Nested Named Entity Recognition 论文链接: https://arx ...

  8. Label 相关论文汇总

    文献阅读笔记 1.DLDL 2.MLIC-WCP 3.MLIR-GCN 4.C-Tran 5.ACPL CVPR2022 other, 2022 1.DLDL 2.MLIC-WCP 3.MLIR-GC ...

  9. 标签平滑论文笔记:2020《When Does Label Smoothing Help?》

    标签平滑 介绍 实验1:标签平滑作用 实验2:针对ECE与温度缩放进行对比(作用相近) 实验3:标签平滑对知识蒸馏影响(变差) 实验3知识蒸馏:互信息I(X;Y) 链接 介绍   看成距离:   这里 ...

最新文章

  1. Splunk学习与实践
  2. 没了解过条件注解@ConditionalOn..?Spring Boot白学了!
  3. Facebook Messenger正式登陆Android Auto车载信息娱乐平台
  4. 2008年毕业生第一份工作月薪工资大曝光
  5. java获取接口数据类型_java中调用第三方接口获取数据的方式
  6. 数据结构---顺序查找和二分查找
  7. wince中的背光灯控制
  8. cpu影响matlab仿真速度吗,Proteus仿真速度很慢的分析
  9. js this指向分析
  10. win10如何设置任务栏在左侧显示
  11. 利用media creation tool升级win10
  12. 从SVN服务器下载project到本地
  13. 风寒感冒和风热感冒的药膳方
  14. 呷哺呷哺的中年危机与贺光启的囚徒困境
  15. php 代码加密运行,php加密后可以直接运行吗
  16. 云上PDF怎么删除页眉页脚_Word文档如何删除页眉页脚横线?如何取消文档页眉横线?...
  17. 中控智慧身份证读卡器工具类
  18. linux--Repo的介绍与安装
  19. WordNet相关API介绍及语义相似度计算方法
  20. 拉格朗日(lagrange)插值(MATLAB实现)

热门文章

  1. 苏州大学计算机评估全国第几位,重磅!全国首次专业学位水平评估结果公布,你的学校排第几?...
  2. 阿里云天池大赛赛题(机器学习)——天猫用户重复购买预测(完整代码)
  3. Ubuntu 下挂ISO到虚拟光驱的方法
  4. 驱动开发:运用VAD隐藏R3内存思路
  5. git 禁止分支提交
  6. 抽奖随机滚动_仅需2分钟,使用excel制作一个抽奖小工具,再也不用为抽奖发愁了...
  7. 50种认知偏差要注意,这样才能做最好的自己
  8. 国外智能化农机装备简介
  9. android 环境一键,一键切换Android应用环境(Environment Switcher)
  10. jq 数字转中文数字_阿拉伯数字 转换 中文大写