机器学习的评估指标

机器学习中的评估指标

分类指标

首先明确
TP(True Positive): 真实为0,预测也为0

FN(False Negative): 真实为0,预测为1

FP(False Positive): 真实为1,预测为0

TN(True Negative): 真实为1,预测也为1

1,精确率和召回率(P-R曲线,AP分数,F1值)

定义如下:
精 确 率 ( p r e c i s i o n ) = T P T P + F P 精确率(precision)= \frac{TP}{TP+FP} precision=TP+FPTP
召 回 率 ( r e c a l l ) = T P T P + F N 召回率(recall)=\frac{TP}{TP+FN} recall=TP+FNTP

P-R曲线是以召回率为横轴,精确率为纵轴所画曲线。
在这里插入图片描述

AP分数:由于曲线越靠近右上边性能越好,描述曲线下方面积叫AP分数(Average Precision Score),AP分数越高,表示性能越好。

F 1 F_1 F1值:F1值是精确率与召回率的调和平均值,相较与算术平均值,调和平均值更受小数影响
2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1
F α F_\alpha Fα值:加权调和平均值。
F α = ( 1 + α 2 ) × P × R α 2 × P + R F_\alpha=\frac{(1+\alpha^2)\times P \times R}{\alpha^2 \times P + R} Fα=α2×P+R1+α2×P×R

2,准确率和错误率

准 确 率 ( 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
错 误 率 ( e r r o r r a t e ) = F P + F N T P + F P + T N + F N 错误率(error rate)=\frac{FP+FN}{TP+FP+TN+FN} errorrate=TP+FP+TN+FNFP+FN

这里可以看到精确率和准确率是不一样的两个概念

3,真正率和假正率(ROC与AUC)

真 正 率 ( T P R ) = T P T P + F N 真正率(TPR)= \frac{TP}{TP+FN} TPR=TP+FNTP
假 正 率 ( F P R ) = F P F P + T N 假正率(FPR)= \frac{FP}{FP+TN} FPR=FP+TNFP

ROC与AUC:
意义:对于使用精确率,召回率等指标进行模型进行模型评估时,需要设置一个阈值,大于阈值的视为正例,否则为负例,这使得模型多了一个超参数,并且这个超参数会影响模型的泛化能力。
ROC(Receiver Operating Characteristic)绘制方法:以假正率为横轴,真正率为纵轴的曲线,首先对所有样本按预测结果排序,然后以每条结果的预测概率为阈值,计算对应TPR和FPR,然后用线段连接,可以看出ROC曲线越接近左上角性能越好。
在这里插入图片描述

AUC(Area Under Roc Curve)即ROC曲线下的面积,取值越大说明模型越可能将正样本排在负样本前面。AUC还有一些统计特性:AUC等于随机挑选一个正样本(P)和负样本(N)时,分类器将正样本排前面的概率;AUC和Wilcoxon Test of Ranks等价;AUC还和基尼(Gini)系数有联系,满足等式Gini + 1 = 2 • AUC。
AUC的计算方法有多种,从物理意义角度理解,AUC计算的是ROC曲线下的面积:
A U C = ∑ i ∈ ( P + N ) ( T P R i + T P R i − 1 ) . ( F P R i + F P R i − 1 ) 2 AUC=\sum_{i\in (P+N)} \frac{(TPR_i+TPR_{i-1}).(FPR_i+FPR_{i-1})}{2} AUC=i(P+N)2(TPRi+TPRi1).(FPRi+FPRi1)
从概率意义角度理解,AUC考虑的是样本的排序质量,它与排序误差有密切关系,可得到计算公式:
A U C = ∑ i n s i ∈ p o s i t i v e c l a s s r a n k i n s i − M × ( M + 1 ) 2 M × N AUC= \frac{\sum _{ins_i\in positiveclass}rank_{ins_i}-\frac{M \times (M +1)}{2}}{M \times N} AUC=M×Ninsipositiveclassrankinsi2M×(M+1)

r a n k i n s i rank_{ins_i} rankinsi,代表第i条样本的序号。(概率得分从小到大排,排在第rank个位置)
M,N分别是正样本的个数和负样本的个数
∑ i n s i ∈ p o s i t i v e c l a s s \sum _{ins_i\in positiveclass} insipositiveclass只把正样本的序号加起来。

理解:如果所有的正样本概率值都是大于负样本的,那个每个正样本的rank值减去比自己概率小的正样本数量和自己本身为1,得到的值应该为所以负样本的数量,即N,将每个正样本如此计算累加得到的值为 M × N M\times N M×N。对于所有的正样本,比自己概率小的正样本数量+1为1,2,3,····,M-2,M,全部加起来为 M × ( M + 1 ) 2 \frac{M \times (M +1)}{2} 2M×(M+1),那么 ∑ i n s i ∈ p o s i t i v e c l a s s r a n k i n s i − M × ( M + 1 ) 2 \sum _{ins_i\in positiveclass}rank_{ins_i}-\frac{M \times (M +1)}{2} insipositiveclassrankinsi2M×(M+1)代表所有正样本概率大于负样本的数量的累积,其值 &lt; = M × N &lt;=M\times N <=M×N,则 A U C = ∑ i n s i ∈ p o s i t i v e c l a s s r a n k i n s i − M × ( M + 1 ) 2 M × N &lt; = 1 AUC= \frac{\sum _{ins_i\in positiveclass}rank_{ins_i}-\frac{M \times (M +1)}{2}}{M \times N}&lt;=1 AUC=M×Ninsipositiveclassrankinsi2M×(M+1)<=1,值越大正样本排在负样本前面的概率越高。

4,对数损失

对数损失(Logistic Loss,logloss)是对预测概率的似然估计,其标准形式为:
l o g l o s s = − l o g P ( Y │ X ) logloss=-logP(Y│X) logloss=logP(YX)
对于二分类问题:
l o g l o s s = − 1 N ∑ i = 1 N ( y . l o g p i + ( 1 − y ) . l o g p i ) ) logloss=-\frac{1}{N}\sum_{i=1}^{N}(y.logp_i+(1-y).logp_i)) logloss=N1i=1N(y.logpi+(1y).logpi))
多分类问题:
l o g l o s s = − 1 N . 1 C . ∑ i = 1 N ∑ i = 1 C y i j . l o g p i j logloss=-\frac{1}{N}.\frac{1}{C}.\sum_{i=1}^{N}\sum_{i=1}^{C}y_{ij}.logp_{ij} logloss=N1.C1.i=1Ni=1Cyij.logpij
其中,N为样本数,C为类别数,yij=1表示第i条样本的类别为j,pij为第i条样本类别j的概率。
logloss衡量的是预测概率分布和真实概率分布的差异性,取值越小越好。与AUC不同,logloss对预测概率敏感。

参考文献

[1] 美团算法团队 . 美团机器学习实践[M]. 北京:人民邮电出版社, 2018.8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值