【西瓜书plus】性能度量
作者:互联网
文章目录
性能度量
1 错误率与精度
错误率是分类错误的样本数占样本总数的比例。
精度则是分类正确的样本数占样本总数的比例。
精
度
+
错
误
率
=
1
精度+错误率=1
精度+错误率=1
错误率与精度都不难理解,我们重点来看下文的性能度量。
2 查准率、查全率与F1
首先,为什么要用查准率、查全率?
西瓜书中有两个例子:
(1)挑选西瓜时我们关心
“挑出的西瓜中有多少比例是好瓜”,(查准)
“所有好瓜中有多少比例被挑了出来”(查全)
(2)信息检索供应商关心:
“检索出的信息中有多少比例是用户感兴趣的”(查准)
“用户感兴趣的信息中有多少被检索出来了”.(查全)
对于这种需求,错误率与精度就无法度量了,而“查准率”(precision,亦称准确率)与“查全率”(recall,亦称召回率)则更为适用。
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为
真正例(True Positive):样本预测结果为正Positive,预测正确True(真实情况也为正)
假正例(False Positive):样本预测结果为正Positive,预测错误False(真实情况为反)
真反例(True Negative):样本预测结果为反Negative,预测正确True(真实情况也为反)
假反例(False Negative):样本预测结果为反Negative,预测错误False (真实情况为正)
四种情形。
令
T
P
、
F
P
、
T
N
、
F
N
TP、FP、TN、FN
TP、FP、TN、FN分别表示其对应的样例数,则显然有
T
P
+
F
P
+
T
N
+
F
N
TP+ FP+TN +FN
TP+FP+TN+FN
=
预
测
结
果
为
正
的
样
本
(
T
P
,
F
P
)
+
预
测
结
果
为
反
的
样
本
(
T
N
,
F
N
)
=预测结果为正的样本(TP,FP)+预测结果为反的样本(TN,FN)
=预测结果为正的样本(TP,FP)+预测结果为反的样本(TN,FN)
=
预
测
正
确
的
样
本
(
T
P
,
T
N
)
+
预
测
错
误
的
样
本
(
F
P
,
F
N
)
=预测正确的样本(TP,TN)+预测错误的样本(FP,FN)
=预测正确的样本(TP,TN)+预测错误的样本(FP,FN)
=
真
实
情
况
为
正
的
样
本
(
T
P
,
F
N
)
+
真
实
情
况
为
反
的
样
本
(
T
N
,
F
P
)
=真实情况为正的样本(TP,FN)+真实情况为反的样本(TN,FP)
=真实情况为正的样本(TP,FN)+真实情况为反的样本(TN,FP)
=
样
例
总
数
=样例总数
=样例总数
分类结果的“混淆矩阵”(confusion matrix)如表2.1所示。
查准率定义为:
P = T P T P + F P P=\frac{T P}{T P+F P} P=TP+FPTP
表示在被所有预测为正的样本中实际为正的样本所占的比率。
查全率定义为:
R
=
T
P
T
P
+
F
N
R=\frac{T P}{T P+F N}
R=TP+FNTP
表示在真实情况下为正的样本中被预测为正的样本所占的比率。
查准率和查全率是相互矛盾的。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
例如:
若希望将好瓜尽可能多地选出来,则可通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低;
若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得查全率较低。
因此,需要设计一个综合考虑查准率和差全率的度量。
绘制查准率-查全率关系曲线——P-R曲线,可以观察两者的关系。
举个例子来看看P-R曲线是怎么绘制的[1]:
首先,我们可根据学习器的预测结果对样本进行排序,排在最前面是学习器认为“最可能”是正例的样本,排在最后的则是学习器认为“最不可能”是正例的样本。
然后,按此顺序 逐个把样本作为正例进行预测,我们把第一个样本作为正例:
此时的混淆矩阵为:
此时的 查准率 P 与 查全率 R 分别为:
P
=
T
P
T
P
+
F
P
=
1
1
+
0
=
1
P=\frac{T P}{T P+F P}=\frac{1}{1+0}=1
P=TP+FPTP=1+01=1
R = T P T P + F N = 1 3 + 1 = 1 4 R=\frac{T P}{T P+F N}=\frac{1}{3+1}=\frac{1}{4} R=TP+FNTP=3+11=41
不难看出,当我们假设 第一个为正例 的时候,预测指标 > 0.95,此时的查准率很高,但查全率很低。
接着,我们把前三个当作正例:
此时的混淆矩阵为:
此时的 查准率 P 与 查全率 R 分别为:
P
=
T
P
T
P
+
F
P
=
3
3
+
0
=
1
P=\frac{T P}{T P+F P}=\frac{3}{3+0}=1
P=TP+FPTP=3+03=1
R = T P T P + F N = 3 3 + 1 = 3 4 R=\frac{T P}{T P+F N}=\frac{3}{3+1}=\frac{3}{4} R=TP+FNTP=3+13=43
显然,当我们假设 前三个为正例的时候,预测指标 > 0.90,此时的查准率很高,而且查全率也有提升。
我们按顺序逐个把样本作为正例进行预测,就可以计算出相应的查全率、查准率。
以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,如图所示:
P-R图直观地显示出学习器在样本总体上的查全率、查准率。在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者,例如图2.3中学习器A的性能优于学习器C;
如果两个学习器的P-R曲线发生了交叉,例如图2.3中的A与B,则难以一般性地断言两者孰优孰劣,只能在具体的查准率或查全率条件下进行比较。
然而,在很多情形下,人们往往仍希望把学习器A与B比出个高低。这时一个比较合理的判据是比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例。但这个值不太容易估算,因此,人们设计了一些综合考虑查准率、查全率的性能度量。
“平衡点”(Break-Event Point,简称BEP)就是这样一个度量,它是“查准率=查全率”时的取值,例如图2.3中学习器C的BEP是0.64,而基于BEP的比较,可认为学习器A优于B。
但BEP还是过于简化了些,更常用的是 F 1 F1 F1度量:
F1是基于查准率与查全率的调和平均(harmonic mean)定义的:
1
F
1
=
1
2
⋅
(
1
P
+
1
R
)
\frac{1}{F 1}=\frac{1}{2} \cdot\left(\frac{1}{P}+\frac{1}{R}\right)
F11=21⋅(P1+R1)
F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} F1=P+R2×P×R= 样例总数 +TP−TN2×TP
F
1
F1
F1度量的一般形式——
F
β
F_{\beta}
Fβ,能让我们表达出对查准率/查全率的不同偏好,它是
P
P
P和
R
R
R的加权平均:
1
F
β
=
1
1
+
β
2
⋅
(
1
P
+
β
2
R
)
\frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}} \cdot\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right)
Fβ1=1+β21⋅(P1+Rβ2)
F
β
=
(
1
+
β
2
)
×
P
×
R
(
β
2
×
P
)
+
R
F_{\beta}=\frac{\left(1+\beta^{2}\right) \times P \times R}{\left(\beta^{2} \times P\right)+R}
Fβ=(β2×P)+R(1+β2)×P×R
其中 β > 0 β>0 β>0,它度量了查全率对查准率的相对重要性. β = 1 β = 1 β=1时退化为标准的 F 1 F1 F1; β > 1 β >1 β>1时查全率有更大影响; β < 1 β<1 β<1时查准率有更大影响.
宏 ∗ ∗ ∗ *** ∗∗∗和 微 ∗ ∗ ∗ *** ∗∗∗都不难理解,这里略过。
3 ROC与AUC
ROC曲线出发点:
很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值(threshold)进行比较,若大于阈值则分为正类,否则为反类。
例如,神经网络在一般情形 下是对每个测试样本预测出一个 [0.0, 1.0]之间的实值,然后将这个值与0.5进行比较,大于0.5则判为正例,否则为反例。这个实值或概率预测结果的好坏,直接决定了学习器的泛化能力。
实际上,根据这个实值或概率预测结果,我们可将测试样本进行排序,“最可能”是正例的排在最前面,'最不可能”是正例的排在最后面.这样,分类过程就相当于在这个排序中以某个“截断点”(cut point)将样本分为两部分,前一部分判作正例, 后一部分则判作反例。
在不同的应用任务中,我们可根据任务需求来采用不同的截断点:
- 若我们更重视“查准率”,则可选择排序中靠前的位置进行截断;
- 若更重视“查全率”,则可选择靠后的位置进行截断。
因此,排序本身的质量好坏,体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏,或者说,“一般情况下”泛化性能的好坏。ROC曲线则是从这个角度出发来研究学习器泛化性能的有力工具.
与P-R曲线相似,我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了“ROC曲线”.与P-R曲线使用查准率、查全率为纵、横轴不同,ROC曲线的纵轴是“真正例率”(True Positive Rate, 简称TPR),横轴是“假正例率”(False PositiveRate,简称FPR),两者分别定义为
T
P
R
=
T
P
T
P
+
F
N
\mathrm{TPR}=\frac{T P}{T P+F N}
TPR=TP+FNTP
真正例率与查全率相同,表示在真实情况下为正的样本中被预测为正的样本所占的比率。
F
P
R
=
F
P
T
N
+
F
P
\mathrm{FPR}=\frac{F P}{T N+F P}
FPR=TN+FPFP
假正例率表示真实情况下为负的样本中被预测为正的样本所占的比率。
下图为ROC曲线示意图:
接下来我们考虑ROC曲线图中的四个点和一条线。[2]
T
P
R
=
T
P
T
P
+
F
N
\mathrm{TPR}=\frac{T P}{T P+F N}
TPR=TP+FNTP
F
P
R
=
F
P
T
N
+
F
P
\mathrm{FPR}=\frac{F P}{T N+F P}
FPR=TN+FPFP
第一个点,(0,1),即
F
P
R
=
0
,
T
P
R
=
1
FPR=0, TPR=1
FPR=0,TPR=1,这意味着
F
N
=
0
FN=0
FN=0,并且
F
P
=
0
FP=0
FP=0。这是一个完美的分类器,它将所有的样本都正确分类。
第二个点,(1,0),即 F P R = 1 FPR=1 FPR=1, T P R = 0 TPR=0 TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。
第三个点,(0,0),即 F P R = T P R = 0 FPR=TPR=0 FPR=TPR=0,即 F P = T P = 0 FP=TP=0 FP=TP=0,可以发现该分类器预测所有的样本都为负样本。
第四个点(1,1),分类器实际上预测所有的样本都为正样本。
对于ROC曲线图中的虚线 y = x y=x y=x上的点。这条对角线上 F P R = T P R FPR=TPR FPR=TPR,也就是说没有侧重哪一方,对应于“随机猜测模型。
经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。
现实任务中通常是利用有限个测试样例来绘制ROC图,此时仅能获得有限个(真正例率,假正例率)坐标对,无法产生图(a)中的光滑ROC曲线,只能绘绘制出如图(b)所示的近似ROC曲线.
绘图过程很简单:给定 m + m^+ m+个正例和 m − m^- m−个反例,根据学习器预测结果对样例进行排序,然后把分类阈值设为最大,下即把所有样例均预测为反例.此时真正例率和假正例率均为0,在坐标(0,0)处标记一个点.然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例.设前一个标记点坐标为 ( x , y ) (x , y) (x,y),
- 当前若为真正例,则对应标记点的坐标为 ( x , y + 1 m + ) (x,y+\frac{1}{m^+}) (x,y+m+1);
- 当前若为假正例,则对应标记点的坐标为 ( x + 1 m − , y ) (x+\frac{1}{m^-} , y) (x+m−1,y),然后用线段连接相邻点即得。
举个例子[3]:
下面举个绘图例子: 有10个样例子,5个正例子,5个反例子。有两个学习器A,B,分别对10个例子进行预测:
根据学习器A的预测结果对数据进行排序,标签顺序为:[反正正正反反正正反反]
根据学习器B的预测结果对数据进行排序,标签顺序为 : [反正反反反正正正正反]
类似于绘制P-R曲线,对上面表格中的数据自上而下计算学习器A的ROC曲线上的点:
起始点为(0,0)
第一个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
1
/
5
,
0
)
=
>
(
0.2
,
0
)
(x+1/n,y)=>(1/5,0) => (0.2,0)
(x+1/n,y)=>(1/5,0)=>(0.2,0)
第二个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.2
,
1
/
5
)
=
>
(
0.2
,
0.2
)
(x,y+1/m) =>(0.2,1/5) => (0.2,0.2)
(x,y+1/m)=>(0.2,1/5)=>(0.2,0.2)
第三个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.2
,
1
+
1
/
5
)
=
>
(
0.2
,
0.4
)
(x,y+1/m) =>(0.2,1+1/5) => (0.2,0.4)
(x,y+1/m)=>(0.2,1+1/5)=>(0.2,0.4)
第四个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.2
,
2
+
1
/
5
)
=
>
(
0.2
,
0.6
)
(x,y+1/m) =>(0.2,2+1/5) => (0.2,0.6)
(x,y+1/m)=>(0.2,2+1/5)=>(0.2,0.6)
第五个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
1
+
1
/
5
,
0.6
)
=
>
(
0.4
,
0.6
)
(x+1/n,y)=>(1+1/5,0.6) => (0.4,0.6)
(x+1/n,y)=>(1+1/5,0.6)=>(0.4,0.6)
第六个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
2
+
1
/
5
,
0.6
)
=
>
(
0.6
,
0.6
)
(x+1/n,y)=>(2+1/5,0.6) => (0.6,0.6)
(x+1/n,y)=>(2+1/5,0.6)=>(0.6,0.6)
第七个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.6
,
3
+
1
/
5
)
=
>
(
0.6
,
0.8
)
(x,y+1/m) =>(0.6,3+1/5) => (0.6,0.8)
(x,y+1/m)=>(0.6,3+1/5)=>(0.6,0.8)
第八个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.6
,
4
+
1
/
5
)
=
>
(
0.6
,
1
)
(x,y+1/m) =>(0.6,4+1/5) => (0.6,1)
(x,y+1/m)=>(0.6,4+1/5)=>(0.6,1)
第九个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
3
+
1
/
5
,
1
)
=
>
(
0.8
,
1
)
(x+1/n,y)=>(3+1/5,1) => (0.8,1)
(x+1/n,y)=>(3+1/5,1)=>(0.8,1)
第十个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
4
+
1
/
5
,
1
)
=
>
(
1
,
1
)
(x+1/n,y)=>(4+1/5,1) => (1,1)
(x+1/n,y)=>(4+1/5,1)=>(1,1)
计算学习器B的ROC曲线上的点的点:
起始点为(0,0)
第一个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
1
/
5
,
0
)
=
>
(
0.2
,
0
)
(x+1/n,y)=>(1/5,0) => (0.2,0)
(x+1/n,y)=>(1/5,0)=>(0.2,0)
第二个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.2
,
1
/
5
)
=
>
(
0.2
,
0.2
)
(x,y+1/m) =>(0.2,1/5) => (0.2,0.2)
(x,y+1/m)=>(0.2,1/5)=>(0.2,0.2)
第三个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
1
+
1
/
5
,
0.2
)
=
>
(
0.4
,
0.2
)
(x+1/n,y)=>(1+1/5,0.2) => (0.4,0.2)
(x+1/n,y)=>(1+1/5,0.2)=>(0.4,0.2)
第四个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
2
+
1
/
5
,
0.2
)
=
>
(
0.6
,
0.2
)
(x+1/n,y)=>(2+1/5,0.2) => (0.6,0.2)
(x+1/n,y)=>(2+1/5,0.2)=>(0.6,0.2)
第五个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
3
+
1
/
5
,
0.2
)
=
>
(
0.8
,
0.2
)
(x+1/n,y)=>(3+1/5,0.2) => (0.8,0.2)
(x+1/n,y)=>(3+1/5,0.2)=>(0.8,0.2)
第六个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.8
,
1
+
1
/
5
)
=
>
(
0.8
,
0.4
)
(x,y+1/m) =>(0.8,1+1/5) => (0.8,0.4)
(x,y+1/m)=>(0.8,1+1/5)=>(0.8,0.4)
第七个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.8
,
2
+
1
/
5
)
=
>
(
0.8
,
0.6
)
(x,y+1/m) =>(0.8,2+1/5) => (0.8,0.6)
(x,y+1/m)=>(0.8,2+1/5)=>(0.8,0.6)
第八个实际为"正“预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.8
,
3
+
1
/
5
)
=
>
(
0.8
,
0.8
)
(x,y+1/m) =>(0.8,3+1/5) => (0.8,0.8)
(x,y+1/m)=>(0.8,3+1/5)=>(0.8,0.8)
第九个实际为正预测为正,即真正例,标记点
(
x
,
y
+
1
/
m
)
=
>
(
0.8
,
4
+
1
/
5
)
=
>
(
0.8
,
1
)
(x,y+1/m) =>(0.8,4+1/5) => (0.8,1)
(x,y+1/m)=>(0.8,4+1/5)=>(0.8,1)
第十个实际为反预测为正,即假正例,标记点
(
x
+
1
/
n
,
y
)
=
>
(
4
+
1
/
5
,
1
)
=
>
(
1
,
1
)
(x+1/n,y)=>(4+1/5,1) => (1,1)
(x+1/n,y)=>(4+1/5,1)=>(1,1)
A:
y
:
[
0
,
0
,
0.2
,
0.4
,
0.6
,
0.6
,
0.6
,
0.8
,
1
,
1
,
1
]
y:[0,0,0.2,0.4,0.6,0.6,0.6,0.8,1,1,1]
y:[0,0,0.2,0.4,0.6,0.6,0.6,0.8,1,1,1]
x
:
[
0
,
0.2
,
0.2
,
0.2
,
0.2
,
0.4
,
0.6
,
0.6
,
0.6
,
0.8
,
1
]
x:[0,0.2,0.2,0.2,0.2,0.4,0.6,0.6,0.6,0.8,1]
x:[0,0.2,0.2,0.2,0.2,0.4,0.6,0.6,0.6,0.8,1]
B:
y
:
[
0
,
0
,
0.2
,
0.2
,
0.2
,
0.2
,
0.4
,
0.6
,
0.8
,
1
,
1
]
y:[0,0,0.2,0.2,0.2,0.2,0.4,0.6,0.8,1,1]
y:[0,0,0.2,0.2,0.2,0.2,0.4,0.6,0.8,1,1]
x
:
[
0
,
0.2
,
0.2
,
0.4
,
0.6
,
0.8
,
0.8
,
0.8
,
0.8
,
0.8
,
1
]
x:[0,0.2,0.2,0.4,0.6,0.8,0.8,0.8,0.8,0.8,1]
x:[0,0.2,0.2,0.4,0.6,0.8,0.8,0.8,0.8,0.8,1]
绘制曲线结果如下:
进行学习器的比较时,与P-R图相似,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;(如上面例子中A优于B)若两个学习器的ROC曲线发生交叉,则较为合理的判据是比较ROC曲线下的面积,即 AUC (Area UnderROC Curve)。
从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得.假定ROC曲线是由坐标为
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
m
,
y
m
)
}
\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots,\left(x_{m}, y_{m}\right)\right\}
{(x1,y1),(x2,y2),…,(xm,ym)}的点按序连接而形成
(
x
1
=
0
,
x
m
=
1
)
(x_1= 0,x_m = 1)
(x1=0,xm=1);参见图(b),则AUC可估算为
A
U
C
=
1
2
∑
i
=
1
m
−
1
(
x
i
+
1
−
x
i
)
⋅
(
y
i
+
y
i
+
1
)
\mathrm{AUC}=\frac{1}{2} \sum_{i=1}^{m-1}\left(x_{i+1}-x_{i}\right) \cdot\left(y_{i}+y_{i+1}\right)
AUC=21i=1∑m−1(xi+1−xi)⋅(yi+yi+1)
形式化地看,AUC考虑的是样本预测的排序质量,因此它与排序误差有紧密联系.给定
m
+
m^+
m+个正例和
m
−
m^-
m−个反例,令
D
+
D^+
D+和
D
−
D^-
D−分别表示正、反例集合,则排序“损失”(loss)定义为
ℓ
rank
=
1
m
+
m
−
∑
x
+
∈
D
+
∑
x
−
∈
D
−
(
I
(
f
(
x
+
)
<
f
(
x
−
)
)
+
1
2
I
(
f
(
x
+
)
=
f
(
x
−
)
)
)
\ell_{\text {rank }}=\frac{1}{m^{+} m^{-}} \sum_{\boldsymbol{x}^{+} \in D^{+}} \sum_{\boldsymbol{x}^{-} \in D^{-}}\left(\mathbb{I}\left(f\left(\boldsymbol{x}^{+}\right)<f\left(\boldsymbol{x}^{-}\right)\right)+\frac{1}{2} \mathbb{I}\left(f\left(\boldsymbol{x}^{+}\right)=f\left(\boldsymbol{x}^{-}\right)\right)\right)
ℓrank =m+m−1x+∈D+∑x−∈D−∑(I(f(x+)<f(x−))+21I(f(x+)=f(x−)))
即考虑每一对正、反例,若正例的预测值小于反例,则记一个“罚分”,若相等,则记0.5个“罚分”.
例子:
预测指标比编号1反例小的正例有5个,比编号5和6反例小的正例都有2个,总的有9个,
l
r
a
n
k
=
9
/
25
l_{rank}=9/25
lrank=9/25
等于蓝线以上部分的面积。
从上面的例子可以看到,
ℓ
rank
\ell_{\text {rank }}
ℓrank 对应的是ROC曲线之上的面积:若一个正例在ROC曲线上对应标记点的坐标为
(
x
,
y
)
(x, y)
(x,y),则
x
x
x恰是排序在其之前的反例所占的比例,即假正例率.因此有
A
U
C
=
1
−
ℓ
rank
\mathrm{AUC}=1-\ell_{\text {rank }}
AUC=1−ℓrank
4 代价敏感错误率与代价曲线[4]
代价敏感错误率不难理解,这里略过,重点看代价曲线。
西瓜书中提到,ROC曲线中的每一点(FPR, TPR),分别都对应一个决策阈值。而这又可以对应一条代价直线。
如果我们有两个决策阈值
η
1
,
η
2
\eta_1,\eta_2
η1,η2 ,分别对应图中这两条红色交叉线
看绿色虚线,显然, 在正例概率是 p G p_G pG 的情况下, η 2 \eta_2 η2 的代价期望更低,做得更好,所以,我们取 η 2 \eta_2 η2 。
再看蓝色虚线,这时候反过来了, η 1 \eta_1 η1 的代价期望更低,所以我们采用 η 1 \eta_1 η1 的期望代价。
我们有许多可能的 η \eta η,从负无穷到正无穷都可以。多画几条,再多画几条,面积越围越小,直到最后不怎么变了,形成了图中黄色这条曲线。
现在,对每一个正例概率 p p p(横轴),这条黄色曲线所对应的纵轴值是什么?就是在所有的可能性中那最小的代价期望!围成的面积即为所有条件下学习器的期望总代价。
也即:给定一个正类的先验概率 p p p,代价曲线上的总是对应的最小期望代价。类比AUC和ROC的关系,如果求面积(积分),很明显,总面积越小,整体的期望代价就越小。
参考:
[1]https://www.zhihu.com/question/348073311/answer/837781413
[2] https://blog.csdn.net/pipisorry/article/details/51788927
[3]https://blog.csdn.net/Amy_lxq/article/details/89491208
[4]https://blog.csdn.net/twt9628/article/details/88711755
标签:0.8,西瓜,0.2,0.6,查全率,plus,样本,查准率,度量 来源: https://blog.csdn.net/weixin_44378835/article/details/112725824