衡量模型泛化能力的评价标准就是性能度量。性能度量反映了任务需求。
评估学习器f的性能,就是将学习器预测结果f(x)与真实标记y进行比较。
“均方误差”:(2-1)
错误率是分类错误的样本数占总样本数的比例,定义为:(2-2)
精度是分类真确的样本数占样本总数的比例,定义为:(2-3)
1)真正例(TP)、假真例(FP)、真反例(TN)、假反例(FN),TP+FP+TN+FN=样例总数,分类结果的混淆矩阵如下:
表1 分类结果混淆矩阵
真实情况 |
预测结果 |
|
正例 |
反例 |
|
正例 |
TP(真正例) |
FN(假反例) |
反例 |
FP(假正例) |
TN(真反例) |
则查准率P : (2-4) 查全率R:
(2-5) 查准率与查全率是一对矛盾的量。
2)我们将学习器的预测结果对样例进行排序,并按次序对样本作为正例进行预测,以查准率为纵轴,查全率为横轴作图,得到“P-R图”。
图1 P-R曲线与平衡点示意图
若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则后者的性能优于前者,如上图显示A的性能优于学习器C;若两个学习器的P-R曲线发生交叉,一个合理判断两者性能的依据是比较P-R曲线下的面积大小。在图中“查准率=查全率”的点称为“平衡点”(BEP),C的BEP为0.64,如基于BEP做性能比较,则A优于B。
1)上述有BEP做性能比较过于简化,更常用的是F1。结合(2-4)(2-5)式得F1度量:
M为样例总数(由于在LaTeX公式编译器中汉字打不上去暂且用M表示)
2)F1度量的一般形式——:
(2-7)
>0度量了查全率对查准率的相对重要性,
=1时退化为标准的F1,
>1时查全率有更大影响,
<1时查准率有更大影响。
3)“宏查准率”(macro-P),“宏查全率”(macro-R)是在个混淆矩阵上分别算出查准率和查全率,在计算平均值得到,可以相应的计算“宏F1”(macro-F1)。
4)“微查准率”(micro-P),“微查全率”(micro-R)是将各混淆矩阵的对应元素进行平均,得到TP,FP,TN,FN的平均值,基于这些平均值计算得到的。可以相应的计算“微F1”(micro-F1)。
学习器为测试样本产生一个实值或概率预测,将这个值和一个分类阈值进行比较,大于阈值分为正类,否则为反类。根据这个实值或概率预测结果我们将测试样本进行排序,“最可能”是正例的排在最前面,“最不可能”是正例的排在最后面。分类过程中有一个“截断点”将样本分为两部分,前一部分判为正例,后一部分为反例。我们可以根据任务需求采用不同的截断点,如我们更重视“查准率”,则可以在排序中靠前的位置进行截断,若更重视“查全率”,则在靠后的位置进行截断。
1)ROC全称“受试者工作特征”,“ROC曲线”是研究学习器泛化性能的工具,它是以“真正例率”(TPR)为纵轴,以“假正例率”(FPR)为横轴。
图2 ROC曲线与AUC示意图
2)AUC可通过对ROC曲线下各部分的面积求和得到。
排序损失定义为:
若正例的预测值小于反例,则记一个“罚分”,若相等,则记0.5个“罚分”。
(2-18)
表示将第i类样本样本预测为第j类样本的代价。
表2 二分类代价矩阵
真实类别 |
预测类别 |
|
第0类 |
第1类 |
|
第0类 |
0 |
|
第1类 |
|
0 |
在非均等代价下,我们所希望的不再是简单的最小化错误次数,而是希望最小化“总体代价”。而ROC曲线不能直接反映学习器的期望总体代价,这时候“代价曲线”可以达到该目的。
“代价敏感”错误率: (2-19)
正例概率代价: (2-20)p是样例为正例的概率
“代价曲线”的横轴取值是[0,1],纵轴是取值[0,1]的归一化代价: (2-21)
其中FPR是假正例率,FNR=1-TPR (2-22)
将ROC上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,则“代价曲线”围成的面积即为所有条件下学习器的期望总体代价。