性能度量(performance measure)
错误率与精度
适用范围:二分类和多分类
错误率:分类错误的样本数占样本总数的比例。
精度:分类正确的样本数占样本总数的比例。
查准率、查全率与F1
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例、假正例、真反例、假反例四种情形。分类结果的混淆矩阵:
查准率P和查全率R分别定义为:
一般来说,查准率高,查全率就会偏低;查全率偏高,查准率就会偏低。
查准率-查全率曲线(P-R曲线)
学习器A优于学习器C(A曲线完全保住C曲线)
A与B有交点,无法判断,因此定义平衡点(BEP),它是查全率=查准率的点。平衡点数值越大越优,因此A优于B。
优化BEP后定义了F1:
ROC与AUC
ROC:
受试者工作特征(Receicer Operating Characteristic)。根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,。每次计算出两个重要的值,分别以他们为横纵坐标作图就得到了“ROC曲线“。纵轴为真正例率(TPR),横轴为假正例率(FPR)
这里我的理解就是正例的查全率和反例的查全率。
下面是所有正例排在反例之前的理想模型,对角线为随机猜想模型。
现实中测试大概与下图相似。
使用:
若一个学习器的ROC曲线被另一个完全包住,则后者优于前者;
若交叉,则比较ROC曲线下的面积,即AUC(Area Under ROC Curve)
AUC:
假定ROC曲线是由坐标为{(x1,y1),(x2,y2),…,(xm,ym)}的点按序连接形成(x1=0,xm=1),如图(b),AUC可估算为:
如果形式化看,将AUC考虑为样本预测的排序质量,那么它与排序误差就有紧密的联系。
给定m+个正例和m-个反例,令D+和D-分别表示正、反例集合,则排序“损失”(loss)定义为
即考虑每一对正反例,若正例的预测值小于反例,则记一个“罚分”,若相等记0.5个。
lrank对应的是ROC曲线之上的面积:若一个正例在ROC曲线上对应标记点的坐标(x,y),则x恰是排序在其之前的反例所占的比例,即假正比例。因此有
代价敏感错误率与代价曲线
以二分类任务为例,根据人物的领域知识设置“代价矩阵”(cost matrix)
costij表示将第i类样本预测为第j类严格不能的代价。
若将第0类判断成第1类所造成的损失更大,则cost01>cost10。
在非均等代价下,希望最小化“总体代价”(total cost)
令D+与D-分别代表样例集D的正例自己和反例子集,m为样例集总个数,则“代价敏感”(cost-sensitive)错误率为
在非均等代价下,ROC曲线不能直接反应出学习器的期望总体代价,而“代价曲线”(cost curve)可以。
横轴:取值为【0,1】的正例概率代价,p是样例为正例的概率。
纵轴:取值为【0,1】的归一化代价,
假反例率FNR=1-TPR
ROC曲线上每一点对应代价平面上的一条线段,设ROC曲线上点的坐标为(TPR,FPR),则可相应计算出FNR,然后在代价平面上绘制从(0,FPR)到(1,FNR)的线段,线段下的面积即为该条件下的期望总体代价;如此将每一个点都转化为线段,然后去所有线段下界围成的面积为在所有条件下学习器的期望总体代价。