学习器(打分器)既产生ROC曲线【西瓜书图2.4】,又产生代价曲线【西瓜书图2.5】。 代价曲线(常将错误率称为代价),代价曲线为一种特殊的直线簇的包络。
评价模型时, ROC下的面积AUC越大越好,代价曲线下的面积越小越好。
我们还可得到非均等代价下相应的ROC曲线和代价曲线。
代价曲线
错误率与代价曲线
前面我们得到了学习器(打分器)
h
h
h的ROC曲线,ROC上的任何一个点
R
R
R对应于一个二分类器
h
R
h_{\mathrm{R}}
hR,现在我们转换为以一条直线来代表这个二分类器。 ROC上任一点
R
(
F
P
R
,
T
P
R
)
R(\mathrm{FPR},\mathrm{TPR})
R(FPR,TPR),拆成另一坐标系下的两点
A
(
0
,
F
P
R
)
A(0,\mathrm{FPR})
A(0,FPR)和
B
(
1
,
1
−
T
P
R
)
B(1,1-\mathrm{TPR})
B(1,1−TPR),由
A
A
A、
B
B
B两点确定一条直线
l
R
l_{\mathrm{R}}
lR即为所求,如图1所示。
我们再考察直线
l
R
l_{\mathrm{R}}
lR上的点(如,
Q
Q
Q点),由直线的参数方程知
Q
=
λ
B
+
(
1
−
λ
)
A
(1)
Q=\lambda B+(1-\lambda)A \tag{1}
Q=λB+(1−λ)A(1)
其中,有
A
(
0
,
F
P
R
)
A(0,\mathrm{FPR})
A(0,FPR)和
B
(
1
,
1
−
T
P
R
)
B(1,1-\mathrm{TPR})
B(1,1−TPR)。
现将该二分类器
h
R
h_{\mathrm{R}}
hR应用于某二类样本空间
Q
\mathcal{Q}
Q,设该空间中正例的概率为
p
p
p,则采样得到的测试集中(近似)有
m
+
m
=
p
\frac{m^+}{m}=p
mm+=p ,其中,
m
m
m为测式集中样本总数,
m
+
m^+
m+为其正例数,由混淆矩阵知,错误率为
E
r
=
F
N
+
F
P
m
=
F
N
m
+
⋅
m
+
m
+
F
P
m
−
⋅
m
−
m
=
F
N
R
⋅
p
+
F
P
R
⋅
(
1
−
p
)
\begin{align} E_{\mathrm{r}} & =\frac{\mathrm{FN}+\mathrm{FP}}{m}\notag \\ & =\frac{\mathrm{FN}}{m^+}\cdot\frac{m^+}{m}+\frac{\mathrm{FP}}{m^-}\cdot\frac{m^-}{m}\notag \\ & =\mathrm{FNR}\cdot p+\mathrm{FPR}\cdot (1-p) \tag{2} \end{align}
Er=mFN+FP=m+FN⋅mm++m−FP⋅mm−=FNR⋅p+FPR⋅(1−p)(2)
结合图1,比较式(1)与式(2),若令
λ
=
p
\lambda=p
λ=p,则
Q
Q
Q点为
(
p
,
E
r
)
(p,E_{\mathrm{r}})
(p,Er),即图1中线段
A
B
AB
AB(对应
h
R
h_{\mathrm{R}}
hR)上的点
Q
Q
Q表达了
h
R
h_{\mathrm{R}}
hR在样本空间
Q
\mathcal{Q}
Q(正例概率为
p
p
p)中的性能(错误率
E
r
E_{\mathrm{r}}
Er)。 点
Q
Q
Q在
A
B
AB
AB上移动,反映了
h
R
h_{\mathrm{R}}
hR在各种
p
p
p下的性能。
现在我们换一个视角:在图1中建立xoy坐标系,设
F
N
R
=
a
,
F
P
R
=
b
\mathrm{FNR}=a,\mathrm{FPR}=b
FNR=a,FPR=b,则有
l
R
:
y
=
a
x
+
(
1
−
x
)
b
(
0
⩽
x
⩽
1
)
(3)
l_{\mathrm{R}}:\qquad y=ax+(1-x)b\quad(0\leqslant x\leqslant 1) \tag{3}
lR:y=ax+(1−x)b(0⩽x⩽1)(3)
而在原坐标系下,ROC曲线上的点
R
(
F
P
R
,
T
P
R
)
R(\mathrm{FPR},\mathrm{TPR})
R(FPR,TPR)即为R
(
b
,
1
−
a
)
(b,1-a)
(b,1−a),它应满足ROC曲线方程,
R
R
R的坐标代入,解出的关系式设为
C
R
O
C
:
b
=
f
(
a
)
(
0
⩽
a
⩽
1
)
(4)
C_{\mathrm{ROC}}:\qquad b=f(a)\quad(0\leqslant a\leqslant 1) \tag{4}
CROC:b=f(a)(0⩽a⩽1)(4)
由式(4)与式(3)的对应关系知:让点
R
R
R在
C
R
O
C
C_{\mathrm{ROC}}
CROC上运动,则线
l
R
l_{\mathrm{R}}
lR对应地变化,形成一直线簇
{
l
1
,
l
2
,
l
3
,
⋯
}
\{l_1,l_2,l_3,\cdots\}
{l1,l2,l3,⋯},取
x
=
x
0
x=x_0
x=x0,则在直线簇中得到一串点
y
1
,
y
2
,
y
3
,
⋯
y_1,y_2,y_3,\cdots
y1,y2,y3,⋯,如图2所示。
设
y
0
=
min
{
y
1
,
y
2
,
y
3
,
⋯
}
y_0=\min \{y_1,y_2,y_3,\cdots\}
y0=min{y1,y2,y3,⋯},则由式(4)与式(3),有
y
0
=
min
b
=
f
(
a
)
a
x
0
+
(
1
−
x
0
)
b
=
min
0
⩽
a
⩽
1
a
x
0
+
(
1
−
x
0
)
f
(
a
)
\begin{align*} y_0 & =\min _{\substack{b=f(a)}}\ ax_0+(1-x_0)b\notag \\ & =\min_{\substack{0\leqslant a\leqslant 1}}\ ax_0+(1-x_0)f(a) \tag{5} \end{align*}
y0=b=f(a)min ax0+(1−x0)b=0⩽a⩽1min ax0+(1−x0)f(a)(5)
注:机器学习中将优化的“目标函数”作为一个整体,故
min
\min
min及
max
\max
max通常会省掉后面整个式子的括号,如,以
f
(
x
)
+
g
(
x
)
f(x)+g(x)
f(x)+g(x)为目标函数时,记
max
f
(
x
)
+
g
(
x
)
=
max
(
f
(
x
)
+
g
(
x
)
)
\max\ f(x)+g(x) = \max(f(x)+g(x) )
max f(x)+g(x)=max(f(x)+g(x)),后续作为机器学习领域的习惯,不再进行说明。
上式的结果消去了
a
a
a,不妨记为
g
(
x
0
)
g({x}_0)
g(x0),即
y
0
=
g
(
x
0
)
(6)
y_0=g({x}_0) \tag{6}
y0=g(x0)(6)
由字符的意义(式(2)中的
p
p
p即为式(3)中的
x
x
x),故式(6)表示在概率
p
=
x
0
p=x_0
p=x0下,最小的错误率
E
r
=
y
0
E_{\mathrm{r}}=y_0
Er=y0,让
x
0
x_0
x0变化,则形成函数,将式(6)中的字母更换为表示变量的字母,即
y
=
g
(
x
)
(7)
y=g({x}) \tag{7}
y=g(x)(7)
式(7)形成的曲线称为代价曲线(常将错误率称为代价),从前面的分析可知,代价曲线为直线簇的包络【西瓜书图2.5】。
综上,学习器(打分器)既产生ROC曲线【西瓜书图2.4】,又产生代价曲线【西瓜书图2.5】。 ROC下的面积AUC越大越好,代价曲线下的面积越小越好。
非均等代价
前述是在均等代价下讨论的,下面我们讨论在非均等代价下的情况.
对于二分类结果我们有混淆矩阵【西瓜书表2.1】,如果我们对其损失进行“计价”:预报准确损失为0,预报不对的给一个失损值。 代价矩阵就是一个“单价表”【西瓜书表2.2】。 为配合矩阵元素下标将二类的正例和负例改称为0类和1类。
可以将这两个表“并”在一起,混淆矩阵当作“重量”,代价矩阵视为“单价”,就可以计算“四件物品”(表中四个格子)的“总价格”。 然而,通常“预报准确”物品的“单价”为 0,故实际只对预测错误的样本进行计价,即为
T
a
l
l
_
C
o
s
t
=
F
N
⋅
c
o
s
t
01
+
F
P
⋅
c
o
s
t
10
\mathrm{Tall\_Cost}=\mathrm{FN}\cdot \mathrm{cost}_{01}+\mathrm{FP}\cdot \mathrm{cost}_{10}
Tall_Cost=FN⋅cost01+FP⋅cost10
将总代价分摊到测试集的所有样本头上,得如下式:
T
a
l
l
_
C
o
s
t
m
=
1
m
[
F
N
⋅
c
o
s
t
01
+
F
P
⋅
c
o
s
t
10
]
(8)
\frac{\mathrm{Tall\_Cost}}{m}=\frac{1}{m}[\mathrm{FN}\cdot \mathrm{cost}_{01}+\mathrm{FP}\cdot \mathrm{cost}_{10}] \tag{8}
mTall_Cost=m1[FN⋅cost01+FP⋅cost10](8)
式(8)的右边当
c
o
s
t
01
\mathrm{cost}_{01}
cost01和
c
o
s
t
10
\mathrm{cost}_{10}
cost10都为1时,正好是错误率,因此,该式可视为带“权重”的错误率,称为“代价敏感”错误率,即
E
(
h
;
D
;
c
o
s
t
)
=
1
m
[
F
N
⋅
c
o
s
t
01
+
F
P
⋅
c
o
s
t
10
]
(9)
E(h;D;\mathrm{cost})=\frac{1}{m}[\mathrm{FN}\cdot \mathrm{cost}_{01}+\mathrm{FP}\cdot \mathrm{cost}_{10}] \tag{9}
E(h;D;cost)=m1[FN⋅cost01+FP⋅cost10](9)
式(9)中的
E
E
E表示错误率,它与分类器
h
h
h、测试集
D
D
D以及代价矩阵
c
o
s
t
\mathrm{cost}
cost相关。 将FN和FP写成“计数”形式,则变为【西瓜书式(2.23)】。
对于式(9)我们仿式(2)的推导,有
E
(
h
;
D
;
c
o
s
t
)
=
F
N
R
⋅
c
o
s
t
01
⋅
p
+
F
P
R
⋅
c
o
s
t
10
⋅
(
1
−
p
)
\begin{align} E(h;D;\mathrm{cost})=\mathrm{FNR}\cdot \mathrm{cost}_{01}\cdot p+\mathrm{FPR}\cdot \mathrm{cost}_{10}\cdot (1-p) \tag{10} \end{align}
E(h;D;cost)=FNR⋅cost01⋅p+FPR⋅cost10⋅(1−p)(10)
然而,与式(2)不同的是式(10)中
E
(
h
;
D
;
c
o
s
t
)
E(h;D;\mathrm{cost})
E(h;D;cost)的范围不一定在区间[0,1]中,好在我们可以通过
max
−
min
\max -\min
max−min归一化公式(见【西瓜书式(2.43)】),这里使用该式时,取
min
E
=
0
,
max
E
=
max
F
N
R
⋅
c
o
s
t
01
⋅
p
+
F
P
R
⋅
c
o
s
t
10
⋅
(
1
−
p
)
=
c
o
s
t
01
⋅
p
+
c
o
s
t
10
⋅
(
1
−
p
)
\min E=0,\ \max E=\max \ \mathrm{FNR}\cdot \mathrm{cost}_{01}\cdot p+\mathrm{FPR}\cdot \mathrm{cost}_{10}\cdot (1-p) =\mathrm{cost}_{01}\cdot p+\mathrm{cost}_{10}\cdot (1-p)
minE=0, maxE=max FNR⋅cost01⋅p+FPR⋅cost10⋅(1−p)=cost01⋅p+cost10⋅(1−p)
转化到这个范围,这时
E
(
h
;
D
;
c
o
s
t
)
E(h;D;\mathrm{cost})
E(h;D;cost)记为
c
o
s
t
n
o
r
m
\mathrm{cost}_{\mathrm{norm}}
costnorm,即得【西瓜书式(2.25)】,进一步变形:
c
o
s
t
n
o
r
m
=
F
N
R
⋅
c
o
s
t
01
⋅
p
+
F
P
R
⋅
c
o
s
t
10
⋅
(
1
−
p
)
c
o
s
t
01
⋅
p
+
c
o
s
t
10
⋅
(
1
−
p
)
=
F
N
R
⋅
[
c
o
s
t
01
⋅
p
c
o
s
t
01
⋅
p
+
c
o
s
t
10
⋅
(
1
−
p
)
]
+
F
P
R
⋅
[
c
o
s
t
10
⋅
(
1
−
p
)
c
o
s
t
01
⋅
p
+
c
o
s
t
10
⋅
(
1
−
p
)
]
=
F
N
R
⋅
P
+
+
F
P
R
⋅
P
−
(两中括号之和为1,引入记号
P
+
与
P
−
)
=
F
N
R
⋅
P
+
+
F
P
R
⋅
(
1
−
P
+
)
%\begin{small} \begin{align} \mathrm{cost}_{\mathrm{norm}} & =\frac{\mathrm{FNR}\cdot \mathrm{cost}_{01}\cdot p+\mathrm{FPR}\cdot \mathrm{cost}_{10}\cdot (1-p)}{\mathrm{cost}_{01}\cdot p+\mathrm{cost}_{10}\cdot (1-p)}\notag \\ & =\mathrm{FNR}\cdot\left[\frac{ \mathrm{cost}_{01}\cdot p}{\mathrm{cost}_{01}\cdot p+\mathrm{cost}_{10}\cdot (1-p)}\right]+\mathrm{FPR}\cdot\left[\frac{ \mathrm{cost}_{10}\cdot (1-p)}{\mathrm{cost}_{01}\cdot p+\mathrm{cost}_{10}\cdot (1-p)}\right]\notag \\ & =\mathrm{FNR}\cdot P^++\mathrm{FPR}\cdot P^- \qquad \text{(两中括号之和为1,引入记号$P^+$与$P^-$)}\notag \\ & =\mathrm{FNR}\cdot P^++\mathrm{FPR}\cdot(1-P^+) \tag{11} \end{align} %\end{small}
costnorm=cost01⋅p+cost10⋅(1−p)FNR⋅cost01⋅p+FPR⋅cost10⋅(1−p)=FNR⋅[cost01⋅p+cost10⋅(1−p)cost01⋅p]+FPR⋅[cost01⋅p+cost10⋅(1−p)cost10⋅(1−p)]=FNR⋅P++FPR⋅P−(两中括号之和为1,引入记号P+与P−)=FNR⋅P++FPR⋅(1−P+)(11)
这样,式(11)就与式(2)形式上完全一致,我们就可以仿前述进行相关的推导,如:
Q
Q
Q点由
(
p
,
E
r
)
(p,E_{\mathrm{r}})
(p,Er)变为
(
P
+
,
c
o
s
t
n
o
r
m
)
(P^+,\ \mathrm{cost}_{\mathrm{norm}})
(P+, costnorm),得到非均等代价下相应的ROC曲线和代价曲线,这里就不一一重复了。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权