多标签评价指标

1. 符号系统

记号含义
X \mathcal{X} X d d d 维实例空间 R d \mathbb{R}^d Rd (或 Z d \mathbb{Z}^d Zd)
Y \mathcal{Y} Y标签空间,有 L L L 种标签 { y 1 , y 2 , ⋯   , y L } \{y_1,y_2,\cdots,y_L\} {y1,y2,,yL}
x i \boldsymbol{x}_i xi d d d 维特征向量 ( x 1 , x 2 , ⋯   , x d ) ⊤ ( x ∈ X ) (x_1,x_2,\cdots,x_d)^\top(\boldsymbol{x}\in\mathcal{X}) (x1,x2,,xd)(xX)
Y Y Y x \boldsymbol{x} x 上存在的标签集合 ( Y ∈ Y ) (Y\in\mathcal{Y}) (YY)
Y ˉ \bar{Y} Yˉ Y Y Y Y \mathcal{Y} Y 中的补集
S \mathcal{S} S测试集 { ( x i , Y i ) ∣ 1 ≤ i ≤ N } \left\{(\boldsymbol{x}_i, Y_i) | 1 \leq i \leq N\right\} {(xi,Yi)∣1iN}
h ( ⋅ ) h(\cdot) h() h ( x ) h(\boldsymbol{x}) h(x) 返回对 x \boldsymbol{x} x 的预测中在 x \boldsymbol{x} x 上存在的标签集合
f ( ⋅ , ⋅ ) f(\cdot,\cdot) f(,)实值函数 f : X × Y → R f:\mathcal{X}\times\mathcal{Y}\rightarrow\mathbb{R} f:X×YR f ( x , y ) f(\boldsymbol{x},y) f(x,y) 返回 x \boldsymbol{x} x 上标签 y y y 存在的概率
r a n k f ( ⋅ , ⋅ ) rank_f(\cdot,\cdot) rankf(,) r a n k f ( x , y ) rank_f(\boldsymbol{x},y) rankf(x,y) 返回根据 f ( x , ⋅ ) f(\boldsymbol{x},\cdot) f(x,) 的概率降序排列后, y y y 的排名
∣ ⋅ ∣ |\cdot| 返回集合的基数
⟦ ⋅ ⟧ \llbracket\cdot\rrbracket [[]]如果谓词 π \pi π 成立, ⟦ π ⟧ \llbracket\pi\rrbracket [[π]] 返回 1 1 1,否则返回 0 0 0

2. example-based 与 label-based

  • example-based:先分别评估 h ( ⋅ ) h(\cdot) h() 对每个测试示例的性能,最后返回在整个测试集上的平均值
  • label-based:先分别评估 h ( ⋅ ) h(\cdot) h() 在每个标签上的性能,最后返回在所有标签上的 macro/micro-averaged value

![在这里插入图片描述](https://img-blog.csdnimg.cn/5910241e457e43aabcac81096356e3a4.png

3. example-based

3.1 Subset Accuracy

subsetacc ⁡ ( h ) = 1 N ∑ i = 1 N ⟦ h ( x i ) = Y i ⟧ \operatorname{subsetacc}(h)=\frac{1}{N} \sum_{i=1}^N\llbracket h\left(\boldsymbol{x}_i\right)=Y_i\rrbracket subsetacc(h)=N1i=1N[[h(xi)=Yi]]

  • ⟦ h ( x i ) = Y i ⟧ \llbracket h\left(\boldsymbol{x}_i\right)=Y_i\rrbracket [[h(xi)=Yi]]:实例 x i \boldsymbol{x}_i xi 上真实存在的标签集合与预测出的 x i \boldsymbol{x}_i xi 上存在的标签集合完全一致,则返回 1 1 1,否则 0 0 0
  • 这实际上是对传统精度的自然推广,当标签向量尺寸非常大时,这个指标是非常严苛的

3.2 Hamming Loss

hloss ⁡ ( h ) = 1 N ∑ i = 1 N ∣ h ( x i ) Δ Y i ∣ L \operatorname{hloss}(h)=\frac{1}{N} \sum_{i=1}^N\frac{\left|h\left(\boldsymbol{x}_i\right)\Delta Y_i\right|}{L} hloss(h)=N1i=1NLh(xi)ΔYi

  • Δ \Delta Δ:集合的对称差, A Δ B = ( A ∪ B ) − ( A ∩ B ) A\Delta B=\left(A\cup B\right)-\left(A\cap B\right) AΔB=(AB)(AB)
  • ∣ ⋅ ∣ |\cdot| :返回集合的基数
  • 越小越好

示例: 假设有两个样本

  • 对样本一的预测值为 y p r e d = [ 0 , 1 , 1 , 0 , 0 ] y_{pred} = [0, 1, 1, 0, 0] ypred=[0,1,1,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0]
    • 预测出的 x 1 \boldsymbol{x}_1 x1 上存在第 2 2 2 个和第 3 3 3 个标签, h ( x 1 ) h(\boldsymbol{x}_1) h(x1) 返回标签集合 { l 2 , l 3 } \left\{l_2, l_3\right\} {l2,l3}
    • 真实标签集合 Y 1 Y_1 Y1 { l 1 , l 3 } \left\{l_1, l_3\right\} {l1,l3}
    • 对称差 h ( x 1 ) Δ Y 1 h(\boldsymbol{x}_1)\Delta Y_1 h(x1)ΔY1 { l 1 , l 2 } \left\{l_1,l_2\right\} {l1,l2},其基数为 2 2 2,总标签数 L = 5 L=5 L=5
    • 故这里得到 2 / 5 2/5 2/5
    • 换句话说,预测值与真实标签有 2 2 2 个值不同,标签向量共有 5 5 5 个值,故得到 2 / 5 2/5 2/5
  • 对样本二的预测值为 y p r e d = [ 1 , 1 , 0 , 0 , 0 ] y_{pred} = [1, 1, 0, 0, 0] ypred=[1,1,0,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1]
    • 预测出的 x 2 \boldsymbol{x}_2 x2 上存在第 1 1 1 个和第 2 2 2 个标签, h ( x 2 ) h(\boldsymbol{x}_2) h(x2) 返回标签集合 { l 1 , l 2 } \left\{l_1, l_2\right\} {l1,l2}
    • 真实标签集合 Y 2 Y_2 Y2 { l 1 , l 3 , l 5 } \left\{l_1, l_3, l_5\right\} {l1,l3,l5}
    • 对称差 h ( x 2 ) Δ Y 2 h(\boldsymbol{x}_2)\Delta Y_2 h(x2)ΔY2 { l 2 , l 3 , l 5 } \left\{l_2,l_3,l_5\right\} {l2,l3,l5},其基数为 3 3 3,总标签数 L = 5 L=5 L=5
    • 故这里得到 3 / 5 3/5 3/5
    • 换句话说,预测值与真实标签有 3 3 3 个值不同,标签向量共有 5 5 5 个值,故得到 3 / 5 3/5 3/5
  • 返回 Hamming Loss ⁡ \operatorname{Hamming\ Loss} Hamming Loss 的值为 1 2 × ( 2 5 + 3 5 ) = 1 2 \frac{1}{2}\times(\frac{2}{5}+\frac{3}{5})=\frac{1}{2} 21×(52+53)=21

3.3 Accuracy, Precision, Recall, F

3.3.1 Accuracy

A c c u r a c y e x a m ( h ) = 1 N ∑ i = 1 N ∣ Y i ∩ h ( x i ) ∣ L Accuracy_{exam}(h)=\frac{1}{N}\sum\limits_{i=1}^N\frac{\left|Y_i\cap h(\boldsymbol{x}_i)\right|}{L} Accuracyexam(h)=N1i=1NLYih(xi)

  • 越大越好

示例: 假设有两个样本

  • 对样本一的预测值为 y p r e d = [ 0 , 1 , 1 , 0 , 0 ] y_{pred} = [0, 1, 1, 0, 0] ypred=[0,1,1,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],则在 x 1 \boldsymbol{x}_1 x1 上有预测出的标签集合 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) { l 2 , l 3 } \left\{l_2,l_3\right\} {l2,l3},真实标签集合为 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3}
    • Y 1 Y_1 Y1 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) 的交集为 { l 3 } \left\{l_3\right\} {l3},其基数为 1 1 1
    • 标签总个数 L = 5 L=5 L=5
    • 故此处得 1 / 5 1/5 1/5
  • 对样本二的预测值为 y p r e d = [ 1 , 1 , 0 , 0 , 0 ] y_{pred} = [1, 1, 0, 0, 0] ypred=[1,1,0,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],则在 x 2 \boldsymbol{x}_2 x2 上有预测出的标签集合 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) { l 1 , l 2 } \left\{l_1,l_2\right\} {l1,l2},真实标签集合为 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5}
    • Y 2 Y_2 Y2 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) 的交集为 { l 1 } \left\{l_1\right\} {l1},其基数为 1 1 1
    • 标签总个数 L = 5 L=5 L=5
    • 故此处得 1 / 5 1/5 1/5
  • 返回 Accuracy ⁡ \operatorname{Accuracy} Accuracy 的值为 1 2 × ( 1 5 + 1 5 ) = 1 5 \frac{1}{2}\times(\frac{1}{5}+\frac{1}{5})=\frac{1}{5} 21×(51+51)=51

3.3.2 Precision

查准率,是被预测为正例的样本中,真正的正例所占的比例
P r e c i s i o n e x a m ( h ) = 1 N ∑ i = 1 N ∣ Y i ∩ h ( x i ) ∣ ∣ h ( x i ) ∣ Precision_{exam}(h)=\frac{1}{N}\sum\limits_{i=1}^N\frac{\left|Y_i\cap h(\boldsymbol{x}_i)\right|}{\left|h(\boldsymbol{x}_i)\right|} Precisionexam(h)=N1i=1Nh(xi)Yih(xi)

  • 越大越好

示例: 假设有两个样本

  • 对样本一的预测值为 y p r e d = [ 0 , 1 , 1 , 0 , 0 ] y_{pred} = [0, 1, 1, 0, 0] ypred=[0,1,1,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],则在 x 1 \boldsymbol{x}_1 x1 上有预测出的标签集合 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) { l 2 , l 3 } \left\{l_2,l_3\right\} {l2,l3},真实标签集合为 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3}
    • Y 1 Y_1 Y1 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) 的交集为 { l 3 } \left\{l_3\right\} {l3},其基数为 1 1 1
    • h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) 的基数为 2 2 2
    • 故此处得 1 / 2 1/2 1/2
    • 即,被预测为正的标签中,有一半为真正存在的标签
  • 对样本二的预测值为 y p r e d = [ 1 , 1 , 0 , 0 , 0 ] y_{pred} = [1, 1, 0, 0, 0] ypred=[1,1,0,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],则在 x 2 \boldsymbol{x}_2 x2 上有预测出的标签集合 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) { l 1 , l 2 } \left\{l_1,l_2\right\} {l1,l2},真实标签集合为 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5}
    • Y 2 Y_2 Y2 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) 的交集为 { l 1 } \left\{l_1\right\} {l1},其基数为 1 1 1
    • h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) 的基数为 2 2 2
    • 故此处得 1 / 2 1/2 1/2
  • 返回 Precision ⁡ \operatorname{Precision} Precision 的值为 1 2 × ( 1 2 + 1 2 ) = 1 2 \frac{1}{2}\times(\frac{1}{2}+\frac{1}{2})=\frac{1}{2} 21×(21+21)=21

3.3.3 Recall

查全率,是真正例中被预测为正例的样本所占的比例
R e c a l l e x a m ( h ) = 1 N ∑ i = 1 N ∣ Y i ∩ h ( x i ) ∣ ∣ Y i ∣ Recall_{exam}(h)=\frac{1}{N}\sum\limits_{i=1}^N\frac{\left|Y_i\cap h(\boldsymbol{x}_i)\right|}{\left|Y_i\right|} Recallexam(h)=N1i=1NYiYih(xi)

  • 越大越好

示例: 假设有两个样本

  • 对样本一的预测值为 y p r e d = [ 0 , 1 , 1 , 0 , 0 ] y_{pred} = [0, 1, 1, 0, 0] ypred=[0,1,1,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],则在 x 1 \boldsymbol{x}_1 x1 上有预测出的标签集合 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) { l 2 , l 3 } \left\{l_2,l_3\right\} {l2,l3},真实标签集合为 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3}
    • Y 1 Y_1 Y1 h ( x 1 ) h\left(\boldsymbol{x}_1\right) h(x1) 的交集为 { l 3 } \left\{l_3\right\} {l3},其基数为 1 1 1
    • Y 1 Y_1 Y1 的基数为 2 2 2
    • 故此处得 1 / 2 1/2 1/2
    • 即, x i \boldsymbol{x}_i xi 上真正的存在的标签中,有一半被查 (预测) 出来了
  • 对样本二的预测值为 y p r e d = [ 1 , 1 , 0 , 0 , 0 ] y_{pred} = [1, 1, 0, 0, 0] ypred=[1,1,0,0,0],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],则在 x 2 \boldsymbol{x}_2 x2 上有预测出的标签集合 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) { l 1 , l 2 } \left\{l_1,l_2\right\} {l1,l2},真实标签集合为 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5}
    • Y 2 Y_2 Y2 h ( x 2 ) h\left(\boldsymbol{x}_2\right) h(x2) 的交集为 { l 1 } \left\{l_1\right\} {l1},其基数为 1 1 1
    • Y 2 Y_2 Y2 的基数为 3 3 3
    • 故此处得 1 / 3 1/3 1/3
  • 返回 Recall ⁡ \operatorname{Recall} Recall 的值为 1 2 × ( 1 2 + 1 3 ) = 5 12 \frac{1}{2}\times(\frac{1}{2}+\frac{1}{3})=\frac{5}{12} 21×(21+31)=125

3.3.4 F

F 值是对查准率和查全率的综合考量,不同场景下查准和查全的重要程度不同,参数 β \beta β 用来调整查准和查全的权值,当 β \beta β 1 1 1 时,退化为标准的 F 1 F_1 F1
F e x a m β ( h ) = ( 1 + β 2 ) ⋅ P r e c i s i o n e x a m ( h ) ⋅ R e c a l l e x a m ( h ) β 2 ⋅ P r e c i s i o n e x a m ( h ) + R e c a l l e x a m ( h ) F_{exam}^\beta(h)=\frac{(1+\beta^2)\cdot Precision_{exam}(h)\cdot Recall_{exam}(h)}{\beta^2\cdot Precision_{exam}(h)+Recall_{exam}(h)} Fexamβ(h)=β2Precisionexam(h)+Recallexam(h)(1+β2)Precisionexam(h)Recallexam(h)

  • β > 0 \beta > 0 β>0 度量了查全率对查准率的相对重要性
  • β > 1 \beta > 1 β>1 时查全率有更大影响; β < 1 \beta < 1 β<1 时查准率有更大影响
  • β = 1 \beta = 1 β=1 时退化为标准的 F 1 F_1 F1
  • F F F 越大越好

示例: 在前文的例子中有 Precision ⁡ = 1 2 \operatorname{Precision} = \frac{1}{2} Precision=21 Recall ⁡ = 5 12 \operatorname{Recall} = \frac{5}{12} Recall=125

  • F 1 = 2 × Precision ⁡ × Recall ⁡ Precision ⁡ + Recall ⁡ = 5 / 11 F_1 = \frac{2\times\operatorname{Precision}\times\operatorname{Recall}}{\operatorname{Precision}+\operatorname{Recall}}=5/11 F1=Precision+Recall2×Precision×Recall=5/11

3.4 One-error

one-error ⁡ ( f ) = 1 N ∑ i = 1 N ⟦ [ arg ⁡ max ⁡ y ∈ Y f ( x i , y ) ] ∉ Y i ⟧ \operatorname{one-error}\left(f\right)=\frac{1}{N}\sum\limits_{i=1}^N\llbracket\left[\arg\max\limits_{y\in\mathcal{Y}}f\left(\boldsymbol{x}_i,y\right)\right]\notin Y_i\rrbracket one-error(f)=N1i=1N[[[argyYmaxf(xi,y)]/Yi]]

  • ⟦ [ arg ⁡ max ⁡ y ∈ Y f ( x i , y ) ] ∉ Y i ⟧ \llbracket\left[\arg\max\limits_{y\in\mathcal{Y}}f\left(\boldsymbol{x}_i,y\right)\right]\notin Y_i\rrbracket [[[argyYmaxf(xi,y)]/Yi]]:在预测中,最有可能存在于 x i \boldsymbol{x}_i xi 上的标签 y y y 若并不存在于真实标签集合中,则记 1 1 1 分,否则记 0 0 0
  • 越小越好

示例: 假设有两个样本

  • 对样本一的预测值为 y s c o r e = [ 0.3 , 0.4 , 0.5 , 0.1 , 0.15 ] y_{score} = [0.3, 0.4, 0.5, 0.1, 0.15] yscore=[0.3,0.4,0.5,0.1,0.15],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0] x 1 \boldsymbol{x}_1 x1 上的真实标签集合 Y 1 Y_1 Y1 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3}
    • 预测结果认为标签 l 3 l_3 l3 最有可能存在,因为其概率最大,为 0.5 0.5 0.5
    • l 3 ∈ Y 1 l_3\in Y_1 l3Y1,该标签确实存在,故记 0 0 0
  • 对样本二的预测值为 y s c o r e = [ 0.4 , 0.5 , 0.7 , 0.2 , 0.6 ] y_{score} = [0.4, 0.5, 0.7, 0.2, 0.6] yscore=[0.4,0.5,0.7,0.2,0.6],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1] x 2 \boldsymbol{x}_2 x2 上的真实标签集合 Y 2 Y_2 Y2 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5}
    • 预测结果认为标签 l 3 l_3 l3 最有可能存在,因为其概率最大,为 0.7 0.7 0.7
    • l 3 ∈ Y 2 l_3\in Y_2 l3Y2,该标签确实存在,故记 0 0 0
  • 返回 one-error ⁡ \operatorname{one-error} one-error 的值为 1 2 × ( 0 + 0 ) = 0 \frac{1}{2}\times(0+0)=0 21×(0+0)=0

3.5 Coverage

coverage ⁡ ( f ) = 1 N ∑ i = 1 N ( max ⁡ y ∈ Y i r a n k f ( x i , y ) − 1 ) \operatorname{coverage}\left(f\right)=\frac{1}{N}\sum\limits_{i=1}^N\left(\max\limits_{y\in Y_i}rank_f\left(\boldsymbol{x}_i,y\right)-1\right) coverage(f)=N1i=1N(yYimaxrankf(xi,y)1)

  • max ⁡ y ∈ Y i r a n k f ( x i , y ) − 1 \max\limits_{y\in Y_i}rank_f\left(\boldsymbol{x}_i,y\right)-1 yYimaxrankf(xi,y)1:按预测结果概率降序排列后, x i \boldsymbol{x}_i xi 上真实标签中最大的排名减 1 1 1
  • 在 python 的 sklearn 库中对 coverage 的实现没有减 1 1 1,我也不太理解这里公式中为什么要减 1 1 1,现有以下猜测
    • 从程序语言的角度来说,通常从 0 0 0 开始计数,因此第 i i i 个数的索引实际上是 i − 1 i-1 i1,故需要减 1 1 1,所以公式中减 1 1 1
    • 从边界情况来说,如果一个标签都不存在,那么第 0 0 0 个位置处就将 1 1 1 覆盖完了,再减 1 1 1 就是 − 1 -1 1,不太妥当,所以 sklearn 库中的实现没有减 1 1 1?
    • 无论如何,减不减 1 1 1,不影响对效果的评价,关键是要保持一致
  • 越小越好

示例: 假设有两个样本

  • 对样本一的预测值为 y s c o r e = [ 0.3 , 0.4 , 0.5 , 0.1 , 0.15 ] y_{score} = [0.3, 0.4, 0.5, 0.1, 0.15] yscore=[0.3,0.4,0.5,0.1,0.15],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],按概率排序有 [ 0.5 , 0.4 , 0.3 , 0.15 , 0.1 ] [0.5, 0.4, 0.3, 0.15, 0.1] [0.5,0.4,0.3,0.15,0.1],对应的真实标签变为 [ 1 , 0 , 1 , 0 , 0 ] [1, 0, 1, 0, 0] [1,0,1,0,0]
    • 真实标签的最大排名为 3 3 3,即得 3 − 1 = 2 3-1=2 31=2
    • 换句话说,前 3 3 3 个标签将 1 1 1 全部覆盖,这里得到 3 − 1 = 2 3-1=2 31=2
  • 对样本二的预测值为 y s c o r e = [ 0.4 , 0.5 , 0.7 , 0.2 , 0.6 ] y_{score} = [0.4, 0.5, 0.7, 0.2, 0.6] yscore=[0.4,0.5,0.7,0.2,0.6],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],按概率排序有 [ 0.7 , 0.6 , 0.5 , 0.4 , 0.2 ] [0.7, 0.6, 0.5, 0.4, 0.2] [0.7,0.6,0.5,0.4,0.2],对应的真实标签变为 [ 1 , 1 , 0 , 1 , 0 ] [1, 1, 0, 1, 0] [1,1,0,1,0]
    • 真实标签的最大排名为 4 4 4,即得 4 − 1 = 3 4-1=3 41=3
    • 4 4 4 个标签将 1 1 1 全部覆盖,这里得到 4 − 1 = 3 4-1=3 41=3
  • 返回 coverage ⁡ \operatorname{coverage} coverage 的值为 1 2 × ( 2 + 3 ) = 2.5 \frac{1}{2}\times(2+3)=2.5 21×(2+3)=2.5

3.6 Ranking Loss

rloss ⁡ ( f ) = 1 N ∑ i = 1 N 1 ∣ Y i ∣ ∣ Y ˉ i ∣ ∣ { ( y ′ , y ′ ′ ) ∣ f ( x i , y ′ ) ≤ f ( x i , y ′ ′ ) , ( y ′ , y ′ ′ ) ∈ Y i × Y ˉ i } ∣ \operatorname{rloss}(f)=\frac{1}{N} \sum_{i=1}^N \frac{1}{\left|Y_i\right|\left|\bar{Y}_i\right|} \left|\left\{\left(y^{\prime}, y^{\prime \prime}\right) \mid f\left(\boldsymbol{x}_i, y^{\prime}\right) \leq f\left(\boldsymbol{x}_i, y^{\prime \prime}\right), \quad\left(y^{\prime}, y^{\prime \prime}\right) \in Y_i \times \bar{Y}_i\right\} \right| rloss(f)=N1i=1NYi Yˉi 1 {(y,y′′)f(xi,y)f(xi,y′′),(y,y′′)Yi×Yˉi}

  • Y i Y_i Yi x i \boldsymbol{x}_i xi 上存在的标签集合
  • Y ˉ i \bar{Y}_i Yˉi Y i Y_i Yi 对于所有标签的补集,即, x i \boldsymbol{x}_i xi 上不存在的标签集合
  • 1 ∣ Y i ∣ ∣ Y ˉ i ∣ ∣ { ( y ′ , y ′ ′ ) ∣ f ( x i , y ′ ) ≤ f ( x i , y ′ ′ ) , ( y ′ , y ′ ′ ) ∈ Y i × Y ˉ i } ∣ \frac{1}{\left|Y_i\right|\left|\bar{Y}_i\right|} \left|\left\{\left(y^{\prime}, y^{\prime \prime}\right) \mid f\left(\boldsymbol{x}_i, y^{\prime}\right) \leq f\left(\boldsymbol{x}_i, y^{\prime \prime}\right), \quad\left(y^{\prime}, y^{\prime \prime}\right) \in Y_i \times \bar{Y}_i\right\} \right| YiYˉi1 {(y,y′′)f(xi,y)f(xi,y′′),(y,y′′)Yi×Yˉi} :即,由为 0 0 0 的标签集合与为 1 1 1 的标签集合组成的二元组中,将不存在的标签排在存在的标签前面的二元组所占的比例
  • 越小越好

示例: 假设有两个样本

  • 对样本一的预测值为 y s c o r e = [ 0.3 , 0.4 , 0.5 , 0.1 , 0.15 ] y_{score} = [0.3, 0.4, 0.5, 0.1, 0.15] yscore=[0.3,0.4,0.5,0.1,0.15],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],按概率排序后得到 [ 0.5 , 0.4 , 0.3 , 0.15 , 0.1 ] [0.5, 0.4, 0.3, 0.15, 0.1] [0.5,0.4,0.3,0.15,0.1],对应的真实标签变为 [ 1 , 0 , 1 , 0 , 0 ] [1, 0, 1, 0, 0] [1,0,1,0,0],从前往后分别为 l 3 , l 2 , l 1 , l 5 , l 4 l_3,l_2,l_1,l_5,l_4 l3,l2,l1,l5,l4
    • Y 1 Y_1 Y1 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3},其基数为 2 2 2
    • Y ˉ 1 \bar{Y}_1 Yˉ1 { l 2 , l 4 , l 5 } \left\{l_2,l_4,l_5\right\} {l2,l4,l5},其基数为 3 3 3
    • Y 1 × Y ˉ 1 Y_1\times\bar{Y}_1 Y1×Yˉ1 为一个含有 6 6 6 个二元组的集合 { ( l 1 , l 2 ) , ( l 1 , l 4 ) , ( l 1 , l 5 ) , ( l 3 , l 2 ) , ( l 3 , l 4 ) , ( l 3 , l 5 ) } \left\{\left(l_1,l_2\right),\left(l_1,l_4\right),\left(l_1,l_5\right),\left(l_3,l_2\right),\left(l_3,l_4\right),\left(l_3,l_5\right)\right\} {(l1,l2),(l1,l4),(l1,l5),(l3,l2),(l3,l4),(l3,l5)}
    • Y 1 × Y ˉ 1 Y_1\times\bar{Y}_1 Y1×Yˉ1 6 6 6 个二元组中元素的顺序与 l 3 , l 2 , l 1 , l 5 , l 4 l_3,l_2,l_1,l_5,l_4 l3,l2,l1,l5,l4 中元素顺序不同的只有
      • ( l 1 , l 2 ) \left(l_1,l_2\right) (l1,l2)
    • 则这里得到 1 / 6 1/6 1/6
    • 换句话说,分别选择一个存在的标签和不存在的标签,一共有 6 6 6 种可能。在按照预测的结果,只有 l 1 l_1 l1 l 2 l_2 l2 这两个标签被弄错 (认为本不存在的标签 l 2 l_2 l2 出现在 x 1 \boldsymbol{x}_1 x1 上的概率比本就存在的标签 l 1 l_1 l1 出现的概率更大)
  • 对样本二的预测值为 y s c o r e = [ 0.4 , 0.5 , 0.7 , 0.2 , 0.6 ] y_{score} = [0.4, 0.5, 0.7, 0.2, 0.6] yscore=[0.4,0.5,0.7,0.2,0.6],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],按概率排序有 [ 0.7 , 0.6 , 0.5 , 0.4 , 0.2 ] [0.7, 0.6, 0.5, 0.4, 0.2] [0.7,0.6,0.5,0.4,0.2],对应的真实标签变为 [ 1 , 1 , 0 , 1 , 0 ] [1, 1, 0, 1, 0] [1,1,0,1,0],从前往后分别为 l 3 , l 5 , l 2 , l 1 , l 4 l_3,l_5,l_2,l_1,l_4 l3,l5,l2,l1,l4
    • Y 2 Y_2 Y2 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5},其基数为 3 3 3
    • Y ˉ 2 \bar{Y}_2 Yˉ2 { l 2 , l 4 } \left\{l_2,l_4\right\} {l2,l4},其基数为 2 2 2
    • Y 2 × Y ˉ 2 Y_2\times\bar{Y}_2 Y2×Yˉ2 为一个含有 6 6 6 个二元组的集合 { ( l 1 , l 2 ) , ( l 1 , l 4 ) , ( l 3 , l 2 ) , ( l 3 , l 4 ) , ( l 5 , l 2 ) , ( l 5 , l 4 ) } \left\{\left(l_1,l_2\right),\left(l_1,l_4\right),\left(l_3,l_2\right),\left(l_3,l_4\right),\left(l_5,l_2\right),\left(l_5,l_4\right)\right\} {(l1,l2),(l1,l4),(l3,l2),(l3,l4),(l5,l2),(l5,l4)}
    • Y 2 × Y ˉ 2 Y_2\times\bar{Y}_2 Y2×Yˉ2 6 6 6 个二元组中元素的顺序与 l 3 , l 5 , l 2 , l 1 , l 4 l_3,l_5,l_2,l_1,l_4 l3,l5,l2,l1,l4 中元素顺序不同的只有
      • ( l 1 , l 2 ) \left(l_1,l_2\right) (l1,l2)
    • 则这里得到 1 / 6 1/6 1/6
  • 返回 Ranking Loss ⁡ \operatorname{Ranking\ Loss} Ranking Loss 的值为 1 2 × ( 1 6 + 1 6 ) = 1 6 \frac{1}{2}\times(\frac{1}{6}+\frac{1}{6})=\frac{1}{6} 21×(61+61)=61

3.7 Average Precision

avgprec ⁡ ( f ) = 1 N ∑ i = 1 N 1 ∣ Y i ∣ ∑ y ∈ Y i ∣ { y ′ ∣ rank ⁡ f ( x , y ′ ) ≤ rank ⁡ f ( x i , y ) , y ′ ∈ Y i } ∣ rank ⁡ f ( x i , y ) \operatorname{avgprec}(f)=\frac{1}{N} \sum_{i=1}^N \frac{1}{\left|Y_i\right|} \sum_{y \in Y_i} \frac{\left|\left\{y^{\prime} \mid \operatorname{rank}_f\left(\boldsymbol{x}, y^{\prime}\right) \leq \operatorname{rank}_f\left(\boldsymbol{x}_i, y\right), y^{\prime} \in Y_i\right\}\right|}{\operatorname{rank}_f\left(\boldsymbol{x}_i, y\right)} avgprec(f)=N1i=1NYi1yYirankf(xi,y){yrankf(x,y)rankf(xi,y),yYi}

  • ∣ { y ′ ∣ rank ⁡ f ( x , y ′ ) ≤ rank ⁡ f ( x i , y ) , y ′ ∈ Y i } ∣ rank ⁡ f ( x i , y ) \frac{\left|\left\{y^{\prime} \mid \operatorname{rank}_f\left(\boldsymbol{x}, y^{\prime}\right) \leq \operatorname{rank}_f\left(\boldsymbol{x}_i, y\right), y^{\prime} \in Y_i\right\}\right|}{\operatorname{rank}_f\left(\boldsymbol{x}_i, y\right)} rankf(xi,y){yrankf(x,y)rankf(xi,y),yYi}:即,对于值为 1 1 1 的某个标签,在根据预测出的概率降序排序后,排在它前面的 (含它本身) 值为 1 1 1 的标签个数比上它在该排序中的排名。
  • 越大越好

示例: 假设有两个样本

  • 对样本一的预测值为 y s c o r e = [ 0.3 , 0.4 , 0.5 , 0.1 , 0.15 ] y_{score} = [0.3, 0.4, 0.5, 0.1, 0.15] yscore=[0.3,0.4,0.5,0.1,0.15],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],按概率排序有 [ 0.5 , 0.4 , 0.3 , 0.15 , 0.1 ] [0.5, 0.4, 0.3, 0.15, 0.1] [0.5,0.4,0.3,0.15,0.1],对应的真实标签变为 [ 1 , 0 , 1 , 0 , 0 ] [1, 0, 1, 0, 0] [1,0,1,0,0],从前往后分别为 l 3 , l 2 , l 1 , l 5 , l 4 l_3,l_2,l_1,l_5,l_4 l3,l2,l1,l5,l4
    • Y 1 Y_1 Y1 { l 1 , l 3 } \left\{l_1,l_3\right\} {l1,l3}
    • l 1 l_1 l1 的排名为 3 3 3,排在它之前的 (包含它自己) 真实存在标签有 l 3 l_3 l3 l 1 l_1 l1 2 2 2 个,即有 2 / 3 2/3 2/3
    • l 3 l_3 l3 的排名为 1 1 1,排在它之前的 (包含它自己) 真实存在标签只有 l 3 l_3 l3 1 1 1 个,即有 1 / 1 1/1 1/1
    • 这里总共得到 1 2 ( 2 3 + 1 ) = 5 6 \frac{1}{2}(\frac{2}{3}+1)=\frac{5}{6} 21(32+1)=65
  • 对样本二的预测值为 y s c o r e = [ 0.4 , 0.5 , 0.7 , 0.2 , 0.6 ] y_{score} = [0.4, 0.5, 0.7, 0.2, 0.6] yscore=[0.4,0.5,0.7,0.2,0.6],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 1 ] y_{true} =[1, 0, 1, 0, 1] ytrue=[1,0,1,0,1],按概率排序有 [ 0.7 , 0.6 , 0.5 , 0.4 , 0.2 ] [0.7, 0.6, 0.5, 0.4, 0.2] [0.7,0.6,0.5,0.4,0.2],对应的真实标签变为 [ 1 , 1 , 0 , 1 , 0 ] [1, 1, 0, 1, 0] [1,1,0,1,0],从前往后分别为 l 3 , l 5 , l 2 , l 1 , l 4 l_3,l_5,l_2,l_1,l_4 l3,l5,l2,l1,l4
    • Y 2 Y_2 Y2 { l 1 , l 3 , l 5 } \left\{l_1,l_3,l_5\right\} {l1,l3,l5}
    • l 1 l_1 l1 的排名为 4 4 4,排在它之前的 (包含它自己) 真实存在标签有 l 3 l_3 l3 l 5 l_5 l5 l 1 l_1 l1 3 3 3 个,即有 3 / 4 3/4 3/4
    • l 3 l_3 l3 的排名为 1 1 1,排在它之前的 (包含它自己) 真实存在标签只有 l 3 l_3 l3 1 1 1 个,即有 1 / 1 = 1 1/1=1 1/1=1
    • l 5 l_5 l5 的排名为 2 2 2,排在它之前的 (包含它自己) 真实存在标签有 l 3 l_3 l3 l 5 l_5 l5 2 2 2 个,即有 2 / 2 = 1 2/2=1 2/2=1
    • 这里总共得到 1 3 ( 3 4 + 1 + 1 ) = 11 12 \frac{1}{3}(\frac{3}{4}+1+1)=\frac{11}{12} 31(43+1+1)=1211
  • 返回 average precision ⁡ \operatorname{average\ precision} average precision 的值为 1 2 × ( 5 6 + 11 12 ) = 7 8 \frac{1}{2}\times(\frac{5}{6}+\frac{11}{12})=\frac{7}{8} 21×(65+1211)=87

3.8 NDCG

N D C G ( f ) = D C G ( f ) I D C G = ∑ i = 1 k y ^ i log ⁡ ( 1 + l ) ∑ i = 1 m 1 log ⁡ ( 1 + l ) NDCG\left(f\right)=\frac{DCG\left(f\right)}{IDCG}=\frac{\sum\limits_{i=1}^k\frac{\hat{y}_i}{\log\left(1+l\right)}}{\sum\limits_{i=1}^m\frac{1}{\log\left(1+l\right)}} NDCG(f)=IDCGDCG(f)=i=1mlog(1+l)1i=1klog(1+l)y^i

  • NDCG 是 DCG 的归一化
  • DCG:即,根据预测出的概率进行排序,对该排序的打分
  • IDCG:即,完全预测正确时的完美评分
  • 越大越好

示例: 假设有多个样本,可以直接将标签矩阵展开成标签向量

  • 预测值为 y s c o r e = [ 0.3 , 0.4 , 0.5 , 0.1 , 0.15 ] y_{score} = [0.3, 0.4, 0.5, 0.1, 0.15] yscore=[0.3,0.4,0.5,0.1,0.15],真实标签向量为 y t r u e = [ 1 , 0 , 1 , 0 , 0 ] y_{true} = [1, 0, 1, 0, 0] ytrue=[1,0,1,0,0],按概率排序有 [ 0.5 , 0.4 , 0.3 , 0.15 , 0.1 ] [0.5, 0.4, 0.3, 0.15, 0.1] [0.5,0.4,0.3,0.15,0.1],对应的真实标签变为 [ 1 , 0 , 1 , 0 , 0 ] [1, 0, 1, 0, 0] [1,0,1,0,0],完美排序标签为 [ 1 , 1 , 0 , 0 , 0 ] [1, 1, 0, 0, 0] [1,1,0,0,0]
    • DCG 得分为 1 log ⁡ ( 1 + 1 ) + 1 log ⁡ ( 1 + 3 ) \frac{1}{\log\left(1+1\right)}+\frac{1}{\log\left(1+3\right)} log(1+1)1+log(1+3)1,因为两个 1 1 1 的位置在第 1 1 1 位和第 3 3 3
    • IDCG 得分为 1 log ⁡ ( 1 + 1 ) + 1 log ⁡ ( 1 + 2 ) \frac{1}{\log\left(1+1\right)}+\frac{1}{\log\left(1+2\right)} log(1+1)1+log(1+2)1
    • 得到 N D C G = D C G I D C G NDCG=\frac{DCG}{IDCG} NDCG=IDCGDCG

3.9 peak-F1

β \beta β 取值为 1 1 1 时, F β F^\beta Fβ 退化为标准 F 1 F_1 F1,此时查准率和查全率一样重要。对得到的一个预测结果,按概率进行降序排序后,依次将每个标签预测为 1 1 1,可以得到一系列的 F 1 F_1 F1 值,其中最大的那个,就记做 peak-F1

  • 越大越好

4. label-based

针对每个标签可以由一个二元分类器 h ( ⋅ ) h(\cdot) h() 得到以下四个度量性能的指标,下图被称为分类结果混淆矩阵。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a381a30b23624220a40681a07914367f.png
T P j = ∣ { x i ∣ y j ∈ Y i ∧ y j ∈ h ( x i ) , 1 ≤ i ≤ p } ∣ ; F P j = ∣ { x i ∣ y j ∉ Y i ∧ y j ∈ h ( x i ) , 1 ≤ i ≤ p } ∣ T N j = ∣ { x i ∣ y j ∉ Y i ∧ y j ∉ h ( x i ) , 1 ≤ i ≤ p } ∣ ; F N j = ∣ { x i ∣ y j ∈ Y i ∧ y j ∉ h ( x i ) , 1 ≤ i ≤ p } ∣ \begin{gathered} T P_j=\left|\left\{\boldsymbol{x}_i \mid y_j \in Y_i \wedge y_j \in h\left(\boldsymbol{x}_i\right), 1 \leq i \leq p\right\}\right| ; \quad F P_j=\left|\left\{\boldsymbol{x}_i \mid y_j \notin Y_i \wedge y_j \in h\left(\boldsymbol{x}_i\right), 1 \leq i \leq p\right\}\right| \\ T N_j=\left|\left\{\boldsymbol{x}_i \mid y_j \notin Y_i \wedge y_j \notin h\left(\boldsymbol{x}_i\right), 1 \leq i \leq p\right\}\right| ; \quad F N_j=\left|\left\{\boldsymbol{x}_i \mid y_j \in Y_i \wedge y_j \notin h\left(\boldsymbol{x}_i\right), 1 \leq i \leq p\right\}\right| \end{gathered} TPj={xiyjYiyjh(xi),1ip};FPj={xiyj/Yiyjh(xi),1ip}TNj={xiyj/Yiyj/h(xi),1ip};FNj={xiyjYiyj/h(xi),1ip}
前文的精度,查准率,查全率可以根据这 4 4 4 个指标进行定义

  1. Accuracy
    A c c u r a c y = T P + T N T P + F P + T N + F N Accuracy=\frac{TP+TN}{TP+FP+TN+FN} Accuracy=TP+FP+TN+FNTP+TN
  2. Precision
    P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
  3. Recall
    R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

4.1 Macro-averaging 与 Micro-averaging

B ( T P j , F P j , T N j , F N j ) B(TP_j,FP_j,TN_j,FN_j) B(TPj,FPj,TNj,FNj) 为一种特定的二分类度量,即 B ∈ { A c c u r a c y , P r e c i s i o n , R e c a l l , F β } B\in\left\{Accuracy, Precision, Recall, F^\beta\right\} B{Accuracy,Precision,Recall,Fβ},由此可以得到 Macro-averaging 与 Micro-averaging 两种评价指标

4.1.1 Macro-averaging

B macro  ( h ) = 1 L ∑ j = 1 L B ( T P j , F P j , T N j , F N j ) B_{\text {macro }}(h)=\frac{1}{L} \sum_{j=1}^L B\left(T P_j, F P_j, T N_j, F N_j\right) Bmacro (h)=L1j=1LB(TPj,FPj,TNj,FNj)

  • 即,先分别求各个标签的二分类度量,再求均值

4.1.2 Micro-averaging

B micro  ( h ) = B ( ∑ j = 1 L T P j , ∑ j = 1 L F P j , ∑ j = 1 L T N j , ∑ j = 1 L F N j ) B_{\text {micro }}(h)=B\left(\sum_{j=1}^L T P_j, \sum_{j=1}^L F P_j, \sum_{j=1}^L T N_j, \sum_{j=1}^L F N_j\right) Bmicro (h)=B(j=1LTPj,j=1LFPj,j=1LTNj,j=1LFNj)

  • 即,先将所有标签的 T P j , F P j , T N j , F N j TP_j,FP_j,TN_j,FN_j TPj,FPj,TNj,FNj 各自累加起来,得到一个混淆矩阵,再求得二分类度量

4.2 AUCmacro 与 AUCmicro

4.2.1 单标签的 AUC

AUC 是 Area Under ROC Curve 的缩写,而 ROC 是以假正例率为横轴,真正例率为纵轴所绘制出的图线,具体的绘图过程如下,

  1. 按学习器预测结果进行排序
  2. 将分类阈值设为最大,所有样例被分为反例,此时可以得到一个混淆矩阵,因而可以绘制出 ROC 图中的一个点 (0, 0)
  3. 减小阈值,即依次将阈值设为每个样例的预测值,每次可以在 ROC 图中绘制一个点
  4. 用线段连接相邻点即可
    在这里插入图片描述

  1. 假正例率: T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP,即,真正例中被预测为正例的比例
  2. 真正例率: F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP,即,真反例中被预测为正例的反例
  3. A U C AUC AUC 0.5 0.5 0.5 时相当于随机猜测

4.2.2 AUCmacro

A U C macro  = 1 L ∑ j = 1 L A U C j = 1 L ∑ j = 1 L ∣ { ( x ′ , x ′ ′ ) ∣ f ( x ′ , y j ) ≥ f ( x ′ ′ , y j ) , ( x ′ , x ′ ′ ) ∈ Z j × Z ˉ j } ∣ ∣ Z j ∣ ∣ Z ˉ j ∣ A U C_{\text {macro }}=\frac{1}{L} \sum_{j=1}^L A U C_j=\frac{1}{L} \sum_{j=1}^L \frac{\left|\left\{\left(\boldsymbol{x}^{\prime}, \boldsymbol{x}^{\prime \prime}\right) \mid f\left(\boldsymbol{x}^{\prime}, y_j\right) \geq f\left(\boldsymbol{x}^{\prime \prime}, y_j\right),\left(\boldsymbol{x}^{\prime}, \boldsymbol{x}^{\prime \prime}\right) \in \mathcal{Z}_j \times \bar{\mathcal{Z}}_j\right\}\right|}{\left|\mathcal{Z}_j\right|\left|\bar{\mathcal{Z}}_j\right|} AUCmacro =L1j=1LAUCj=L1j=1LZj Zˉj {(x,x′′)f(x,yj)f(x′′,yj),(x,x′′)Zj×Zˉj}

  • 其中, Z j = { x i ∣ y j ∈ Y i , 1 ≤ i ≤ N } ( Z ˉ j = { x i ∣ y j ∉ Y i , 1 ≤ i ≤ N } ) \mathcal{Z}_j=\left\{\boldsymbol{x}_i\mid y_j\in Y_i, 1\leq i\leq N\right\}(\bar{\mathcal{Z}}_j=\left\{\boldsymbol{x}_i\mid y_j\notin Y_i, 1\leq i\leq N\right\}) Zj={xiyjYi,1iN}(Zˉj={xiyj/Yi,1iN})
  • 即,针对每个标签分别求出 A U C AUC AUC 指标,再求均值
  • 可以看出计算单个标签 A U C AUC AUC 的形式与 Ranking Loss ⁡ \operatorname{Ranking\ Loss} Ranking Loss 的式子非常相似,区别在于
    • AUC ⁡ \operatorname{AUC} AUC 是计算将正例排在负例前的奖励分
    • Ranking Loss ⁡ \operatorname{Ranking\ Loss} Ranking Loss 是计算将负例排在正例前的惩罚分
    • AUC ⁡ \operatorname{AUC} AUC 计算 ROC 曲线下的面积,而 Ranking Loss ⁡ \operatorname{Ranking\ Loss} Ranking Loss 计算 ROC 曲线上的面积,二者之和为 1 1 1

4.2.3 AUCmicro

A U C micro  = ∣ { ( x ′ , x ′ ′ , y ′ , y ′ ′ ) ∣ f ( x ′ , y ′ ) ≥ f ( x ′ ′ , y ′ ′ ) , ( x ′ , y ′ ) ∈ S + , ( x ′ ′ , y ′ ′ ) ∈ S − } ∣ ∣ S + ∣ ∣ S − ∣ A U C_{\text {micro }}=\frac{\left|\left\{\left(\boldsymbol{x}^{\prime}, \boldsymbol{x}^{\prime \prime}, y^{\prime}, y^{\prime \prime}\right) \mid f\left(\boldsymbol{x}^{\prime}, y^{\prime}\right) \geq f\left(\boldsymbol{x}^{\prime \prime}, y^{\prime \prime}\right),\left(\boldsymbol{x}^{\prime}, y^{\prime}\right) \in \mathcal{S}^{+},\left(\boldsymbol{x}^{\prime \prime}, y^{\prime \prime}\right) \in \mathcal{S}^{-}\right\}\right|}{\left|\mathcal{S}^{+}\right|\left|\mathcal{S}^{-}\right|} AUCmicro =S+S{(x,x′′,y,y′′)f(x,y)f(x′′,y′′),(x,y)S+,(x′′,y′′)S}

  • 其中, S + = { ( x i , y ) ∣ y ∈ Y i , 1 ≤ i ≤ N } ( S − = { ( x i , y ) ∣ y ∉ Y i , 1 ≤ i ≤ N } ) \mathcal{S}^+=\left\{(\boldsymbol{x}_i,y)\mid y\in Y_i, 1\leq i\leq N\right\}(\mathcal{S}^-=\left\{(\boldsymbol{x}_i,y)\mid y\notin Y_i, 1\leq i\leq N\right\}) S+={(xi,y)yYi,1iN}(S={(xi,y)y/Yi,1iN}),分别代表 x i \boldsymbol{x}_i xi 中有 (无) 标签 y y y,二者的并就是 X \mathcal{X} X Y \mathcal{Y} Y 的笛卡尔积
  • 该式的含义为,先将 X \mathcal{X} X Y \mathcal{Y} Y 求笛卡尔积,得到的 ( x , y ) (\boldsymbol{x}, y) (x,y) 可以根据 x \boldsymbol{x} x 中是否有标签 y y y 来进行分类,从而划分得到两个集合 S + \mathcal{S}^+ S+ S − \mathcal{S}^- S
  • 再将 S + \mathcal{S}^+ S+ S − \mathcal{S}^- S 作笛卡尔积,统计将 S + \mathcal{S}^+ S+ 的元素排在 S − \mathcal{S}^- S 前面的元素所占的比例 (根据预测的概率进行排序)
  • 即,和 Ranking Loss ⁡ \operatorname{Ranking\ Loss} Ranking Loss 相反
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值