首页 > 其他分享 >When AUC meets DRO: Optimizing Partial AUC for Deep Learning with Non-Convex Convergence Guarantee

When AUC meets DRO: Optimizing Partial AUC for Deep Learning with Non-Convex Convergence Guarantee

时间:2023-02-26 19:55:26浏览次数:52  
标签:mathbb meets AUC text Non _- _+ theta mathcal

目录

Zhu D., Li G., Wang B., Wu X. and Yang T. When AUC meets DRO: Optimizing partial auc for deep learning with non-convex convergence guarantee. In International Conference on Machine Learning (ICML), 2022.

本文如何准确快速的优化 Partial AUC.

符号说明

  • \(\mathcal{S} = \{(x_1, y_1), \ldots, (x_n, y_n)\}, y \in \{1, -1\}\), a set of training data;
  • \(\mathcal{S}_+ = \{(x, y) \in \mathcal{S}| y = 1\}\);
  • \(\mathcal{S}_- = \{(x, y) \in \mathcal{S}| y = -1\}\);
  • 假设正样本 \(x_+ \sim \mathbb{P}_+\), 负样本 \(x_- \sim \mathbb{P}_-\);
  • \(h(x; \theta)\), score function given \(x\);
  • \([s]_+ = \max(s, 0)\);
  • \(n_+ = |\mathcal{S}_+|, n_- = |\mathcal{S}_-|\);
  • \(\mathcal{S}^{\downarrow}[k_1, k_2] \subset \mathcal{S}\):
    1. 根据 \(h(x; \theta)\) 进行(下降)排序;
    2. \(\mathcal{S}^{\downarrow}[k_1, k_2]\) 表示位于第 \(k_1\) 到 \(k_2\) 间的样本;
  • 类似地可以定义 \(\mathcal{S}^{\uparrow}[k_1, k_2]\).

pAUC

  • 我们知道, FPR 实际上衡量的是:

    \[\text{FPR}(t) := \mathbb{P}_-(h(x_-) > t); \]

    相应的, TPR 衡量的是:

    \[\text{TPR}(t) := \mathbb{P}_+(h(x_+) > t), \]

    而 AUC 衡量的是:

    \[\mathbb{P}(h(x_+) > h(x_-)). \]

  • 故 AUC 时常作为训练指标来帮助训练模型, 传统地 (maximize) AUC 实际上就是最大化上图最左的阴影部分的面积, 但是在实际中, 我们可能更希望优化右边的两种情况.

  • 它们分别是 one-way pAUC 和 two-way pAUC:

    • one-way pAUC (OPAUC): 限定 FPR 在 \([\alpha, \beta]\) 内阴影部分的面积:

      \[\begin{array}{ll} \text{OPAUC}(h, \alpha, \beta) &:= \int_{\alpha}^{\beta} \text{TPR}(\text{FPR}^{-1}(u)) du \\ &= \mathbb{P}\Big\{ h(x_+) > h(x_-), \: h(x_-) \in [\text{FPR}^{-1}(\beta), \text{FPR}^{-1}(\alpha)] \Big\}. \end{array} \]

    • two-way pAUC (TPAUC): 限定 FPR 在 \(\le \beta\), TPR 在 \(\ge \alpha\) 内阴影部分的面积.

      \[\begin{array}{ll} \text{TPAUC}(h, \alpha, \beta) &:= \int_{\alpha}^{\beta} \text{TPR}(\text{FPR}^{-1}(u)) du \\ &= \mathbb{P}\Big\{ h(x_+) > h(x_-), \\ & \quad h(x_+) \in [\text{TPR}^{-1}(1), \text{TPR}^{-1}(\alpha)] \\ & \quad h(x_-) \in [\text{FPR}^{-1}(\beta), \text{FPR}^{-1}(0)] \Big\}. \end{array} \]

  • 我们可以通过如下方式估计二者:

    \[\widehat{\text{OPAUC}}(h, \alpha, \beta) = \frac{1}{n_+ n_-} \sum_{x_i \in \mathcal{S}_+} \sum_{x_j \in \mathcal{S}_-^{\downarrow}[k_1 + 1, k_2]} \mathbb{I}(h(x_i) > h(x_j)), \]

    其中 \(k_1 = \lceil n_- \alpha \rceil, k_2 = \lfloor n_- \beta \rfloor\).

    \[\widehat{\text{TPAUC}}(h, \alpha, \beta) = \frac{1}{n_+ n_-} \sum_{x_i \in \mathcal{S}_+^{\uparrow}[1, k_1]} \sum_{x_j \in \mathcal{S}_-^{\downarrow}[1, k_2]} \mathbb{I}(h(x_i) > h(x_j)), \]

    其中 \(k_1 = \lfloor n_+ \alpha \rfloor, k_2 = \lfloor n_- \beta \rfloor\).

  • 但是上面估计式仍然存在两个问题:

    1. non-smooth;
    2. 排序需要耗费大量时间.

近似策略

  • 首先, 为了解决 non-smooth 的问题, 用如下损失替代 \(\mathbb{I}(h(x_i) > h(x_j))\):

    \[\tag{1} \mathcal{L}(x_i, x_j; \theta) = \ell(h(x_i; \theta) - h(x_k; \theta)), \]

    要求 \(\ell\) 是单调递减的可微凸函数, 比如常用的:
    1. \(\ell(s) = (c - s)_+^2\);
    2. \(\ell(s) = \log (1 + \exp(-s/c))\).

  • 接下来, 我们需要解决排序的问题, 首先定义:

    \[\tag{2} \hat{L}_{\phi}(x_i; \theta) = \max_{\mathbf{p} \in \Delta} \sum_{\mathbf{x}_j \in \mathcal{S}_-} p_j L(x_i, x_j; \theta) - \lambda D_{\phi}(\mathbf{p}, 1 / n_-), \]

    此为正样本 \(x_i\) 的一个不确定度 \(\Delta\) 内的鲁棒损失. 直观上, 它反映了当前参数 \(\theta\) 下, \(x_i\) 与其负样本 \(x_j\) 间的最小差异, \(D_{\phi}\) 反映的时候权重 \(\mathbf{p}\) 和平均权重间的一个差异 \(D_{\phi}(\mathbf{p}, 1/n) = \frac{1}{n} \sum_i \phi(np_i)\) (后者是最一般的一种权重选择方式). 本文考虑两种差异度量方式:

    1. KL 散度: \(\phi_{kl}(t) = t \log t - t + 1\);
    2. CVaR divergence: \(\phi_c (t) = \mathbb{I}(0 < t \le 1 / \gamma)\)
  • 对于 CVaR divergence, 关于 \(\theta\) 最小化 (2) 等价于:

    \[\tag{3} \min_{\theta} \min_{\mathbf{s} \in \mathbb{R}^{n_+}} F(\theta, \mathbf{s}) = \frac{1}{n_+} \sum_{\mathbf{x}_i \in \mathcal{S}_+} (s_i + \frac{1}{\beta} \psi_i (\mathbf{w}, s_i)), \]

    其中 \(\psi_i(\mathbf{w}, s_i) = \frac{1}{n_-} \sum_{\mathbf{x}_j \in \mathcal{S}_-} (L(x_i, x_j; \theta) - s_i)_+\). **作者证明, 当 \(\ell\) 满足所要求的那些性质的时候, (3) 是严格等价于优化 OPAUC 的.

  • 对于 KL divergence, 关于 \(\theta\) 最小化 (2) 等价于

    \[\tag{4} \min_{\theta} \frac{1}{n_+} \sum_{x_i \sim \mathcal{S}_+} \lambda \log \mathbb{E}_{x_j \in \mathcal{S}_-} \exp(\frac{L(x_i, x_j; \theta)}{\lambda}). \]

    注意到, 当 \(\lambda = 0\) 的时候, 等价于 \(\widehat{\text{OPAUC}}(h, 0, \frac{1}{n_-})\), 当 \(\lambda = +\infty\) 的时候, 等价于 \(\widehat{\text{OPAUC}}(h, 0, 1)\), 故调节 \(\lambda\) 相当于在两个极端的 OPAUC 间调节.

  • 关于 (3) (4) 的实际优化, 作者提出了如下的 SOPA 和 SOPA-s 分别进行优化 (注意, 下面的 \(\mathbf{w}\) 为上面的 \(\theta\)):

  • 关于 TPAUC 的讨论, 请回看原文.

代码

libauc

标签:mathbb,meets,AUC,text,Non,_-,_+,theta,mathcal
From: https://www.cnblogs.com/MTandHJ/p/17157461.html

相关文章