文章目录
概
AUC常常在文章中作为评价一个分类器优劣的指标, 却总是忘记其原由, 索性记上一笔.
TPR, FPR
首先理解TP, FP, FN, TN的概念, 下面是其对应的类型. 这里, P表示正样本, 而N表示负样本, 下表中的行为真实的标签, 列为预测的标签.
| 预测\真实 | P | N |
|---|---|---|
| P | TP(True Positive) | FP(False Negative) |
| N | FN(False Negative) | TN(True Positive) |
则
T
P
R
:
=
T
P
T
P
+
F
N
,
F
P
R
:
=
F
P
F
P
+
T
N
,
\mathrm{TPR} := \frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}, \mathrm{FPR}:= \frac{\mathrm{FP}}{\mathrm{FP}+\mathrm{TN}},
TPR:=TP+FNTP,FPR:=FP+TNFP,
即TPR表示正样本分类正确的概率, FPR表示负样本判断错误(即取伪)的概率.
问题是如何通过这俩个指标反映一个二分类器的优劣, 首先假设二分类器由下列方式定义:
f
:
R
d
→
R
,
c
(
x
;
T
)
=
I
(
f
(
x
)
>
T
)
,
f:\mathbb{R}^d \rightarrow \mathbb{R}, \quad c(x;T) = I(f(x)>T),
f:Rd→R,c(x;T)=I(f(x)>T),,
其中
T
T
T便是阈值, 即超过一定的阈值判断其为正样本.
注: 其实此说法有瑕疵, 因为完全有可能选择超过一定的阈值判断其为负样本时分类器效果"更好", 但是这种争论没有多大意义, 逼近只需取 f ′ ( x ) = − f ( x ) f'(x)=-f(x) f′(x)=−f(x)即可.
显示强调
T
T
T的存在, 有
T
P
R
(
T
)
\mathrm{TPR}(T)
TPR(T)和
F
P
R
(
T
)
\mathrm{FPR}(T)
FPR(T), 另外, 此时
f
f
f可以看成一个随机变量, 不妨令
Y
+
Y_+
Y+表示
f
f
f的输入
X
X
X为正样本时的随机变量,
Y
−
Y_-
Y−表示
f
f
f的输入
X
X
X为负样本时的随机变量, 则
T
P
R
(
T
)
=
P
(
Y
+
>
T
)
=
∫
T
∞
p
(
y
∣
+
)
d
y
,
F
P
R
(
T
)
=
P
(
Y
−
>
T
)
=
∫
T
∞
p
(
y
∣
−
)
d
y
.
\mathrm{TPR}(T)=P(Y_+>T) = \int_{T}^{\infty} p(y|+) \mathrm{d}y, \\ \mathrm{FPR}(T)=P(Y_->T) = \int_{T}^{\infty} p(y|-) \mathrm{d}y.
TPR(T)=P(Y+>T)=∫T∞p(y∣+)dy,FPR(T)=P(Y−>T)=∫T∞p(y∣−)dy.
ROC and AUC
ROC曲线就是以
y
=
T
P
R
(
T
)
y=\mathrm{TPR}(T)
y=TPR(T),
x
=
F
P
R
(
T
)
x=\mathrm{FPR}(T)
x=FPR(T)的曲线,
T
T
T在这里充当一个中间变量.
AUC就是ROC曲线下的面积, 其意义是概率
P
(
Y
+
>
Y
−
)
P(Y_+>Y_-)
P(Y+>Y−):
A
U
C
=
∫
0
1
y
(
x
)
d
x
=
∫
0
1
T
P
R
(
F
P
R
−
1
(
x
)
)
d
x
=
∫
+
∞
−
∞
T
P
R
(
T
)
F
P
R
′
(
T
)
d
T
=
∫
+
∞
−
∞
∫
T
∞
p
(
y
∣
+
)
⋅
(
−
p
(
y
∣
−
)
)
d
y
d
T
=
∫
−
∞
+
∞
∫
T
∞
p
(
y
∣
+
)
p
(
y
∣
−
)
d
y
d
T
=
∫
−
∞
+
∞
∫
−
∞
∞
I
(
y
>
T
)
p
(
y
∣
+
)
p
(
y
∣
−
)
d
y
d
T
=
P
(
Y
+
>
Y
−
)
.
\begin{array}{ll} \mathrm{AUC} &= \int_0^1 y(x) \mathrm{d}x = \int_0^1 \mathrm{TPR}(\mathrm{FPR}^{-1}(x)) \mathrm{d}x \\ &= \int_{+\infty}^{-\infty} \mathrm{TPR}(T) \mathrm{FPR}'(T) \mathrm{d}T \\ &= \int_{+\infty}^{-\infty} \int_{T}^{\infty} p(y|+) \cdot(-p(y|-)) \mathrm{d}y \mathrm{d}T \\ &= \int_{-\infty}^{+\infty} \int_{T}^{\infty} p(y|+)p(y|-) \mathrm{d}y \mathrm{d}T \\ &= \int_{-\infty}^{+\infty} \int_{-\infty}^{\infty} I(y>T)p(y|+)p(y|-) \mathrm{d}y \mathrm{d}T \\ &= P(Y_+ > Y_-). \end{array}
AUC=∫01y(x)dx=∫01TPR(FPR−1(x))dx=∫+∞−∞TPR(T)FPR′(T)dT=∫+∞−∞∫T∞p(y∣+)⋅(−p(y∣−))dydT=∫−∞+∞∫T∞p(y∣+)p(y∣−)dydT=∫−∞+∞∫−∞∞I(y>T)p(y∣+)p(y∣−)dydT=P(Y+>Y−).
当然很自然的评价指标是, AUC距离0.5越远越好(这么说是因为AUC=0, 实际上只需 f ′ ( x ) = − f ( x ) f'(x)=-f(x) f′(x)=−f(x)).