目录
概
本文如何准确快速的优化 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}\):
- 根据 \(h(x; \theta)\) 进行(下降)排序;
- \(\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\).
-
但是上面估计式仍然存在两个问题:
- non-smooth;
- 排序需要耗费大量时间.
近似策略
-
首先, 为了解决 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)\) (后者是最一般的一种权重选择方式). 本文考虑两种差异度量方式:
- KL 散度: \(\phi_{kl}(t) = t \log t - t + 1\);
- 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 的讨论, 请回看原文.