machine|【机器学习-西瓜书】二、性能度量(召回率;P-R曲线;F1值;ROC;AUC)

关键词:准确率(查准率,precision);召回率(查全率,recall);P-R曲线,平衡点(Break-Even Point, BEP);F1值,F值;ROC(Receiver Operating Characteristic,受试者工作特征);AUC(Area Under ROC Curve);非均等代价(unequal cost)
推荐阅读:召回率(查全率,recall);F1值,F值
【machine|【机器学习-西瓜书】二、性能度量(召回率;P-R曲线;F1值;ROC; AUC)】2.3性能度量
关键词:准确率(查准率,precision);召回率(查全率,recall)。
对于分类问题,通常说的“准确率”指的是accuracy,是精度。而真正的准确率应该是针对某一个类别而言的。以下针对二分类而言(正例与反例), precision 是学习器判断为正例的那堆中,判得正确的占多少, recall 是实际上有那么多正例,学习器找回了多少。
具体可将样例根据真是类别与学习器预测类别的组合划分为真正例(true postive),假正例(false postive),真反例(true negative),假反例(false negative),显然TP + FP +TN +FN = 样例总数。分类结果的混淆矩阵(confusion matrix)如下表:
machine|【机器学习-西瓜书】二、性能度量(召回率;P-R曲线;F1值;ROC;AUC)
文章图片

正确率(precision)P=TPTP+FP
召回率(recall)P=TPTP+FN
可以看到,分子是一样的,分母不同,FP 和FN 是矛盾的,一个高了另外一个就低了。
关键词:P-R曲线,平衡点(Break-Even Point, BEP)
P-R曲线用来衡量分类器性能的优劣,横轴为recall ,纵轴为precision,P-R曲线是如何衡量分类器性能的呢?
如图,有三个分类器,A,B,C,若一个学习器的P-R曲线完全被另外一个学习器完全”包住”,则说后则性能优于前者。 如学习器A优于C,但是有交叉时,就要用平衡点(BEP)来衡量。平衡点即precision 等于 recall 时的值。那么可以认为A优于B。
machine|【机器学习-西瓜书】二、性能度量(召回率;P-R曲线;F1值;ROC;AUC)
文章图片

关键词:F1值,F值。
采用BEP还是过于简单。实际应用中更常见的是用F值来衡量。
一般形式如下F=(1+β2)P?Rβ2?P+R , F1 是基于正确率和召回率的调和平均定义的,即β=1,正确率,召回率同等重要,F1值还可以写成这个形式(在 吴恩达 的课程上看到的) F1=21P+1R
而有所偏好的情况下,可根据β来调整。当β大于1时,召回率有更大影响,β小于1时,正确率有更大影响。
关键词:ROC(Receiver Operating Characteristic,受试者工作特征)。
源于二战。ROC曲线 横轴是假正例率(False Positive Rate,FPR),纵轴是真正例率(True Positive Rate,TPR)。
TPR=TPTP+FN
FPR=FPTN+FP
machine|【机器学习-西瓜书】二、性能度量(召回率;P-R曲线;F1值;ROC;AUC)
文章图片

(0,1)点是最理想状况,通常ROC曲线不是光滑,而是像右边这样的。
关键词:AUC(Area Under ROC Curve)。
当两条ROC相交时,就采用AUC来衡量学习器。AUC越大,学习器性能越好。
关键词:非均等代价(unequal cost)。
现实任务中会遇到这样的情况:不同类型的错误所造成的后果不同。例如,错误地把患者诊断为健康人与错误地把健康人诊断为患者,其“代价”是不一样的。因此可以根据具体问题来设计“代价”。

    推荐阅读