ROC曲线与AUC值
混淆矩阵 - confusion matrix
机器学习分类问题中,混淆矩阵(非监督学习中称匹配矩阵match matrix)用于表征算法的性能。如下表所示
True condition | |||
Total population | Condition positive | Condition negative | |
Predicted condition |
Predicted condition positive |
True positive (TP) Power |
False positive (FP) Type I error |
Predicted condition negative |
False negative (FN) Type II error |
True negative (TN) |
由此可得出:
- 真阳性率(True positive rate): \(TPR = \frac{TP}{Condition\,positive} =\frac{TP}{TP + FN}\)
- 假阳性率(False positive rate): \(FPR = \frac{FP}{Condition\,negative} = \frac{FP}{FP + TN}\)
- 真阴性率(True negative rate): \(TNR = \frac{TN}{Condition\,negative} = \frac{TN}{FP + TN}\)
- 假阴性率(False negative rate): \(FNR= \frac{FN}{Condition\,positive}=\frac{FN}{TP + FN}\)
ROC曲线
二分类通常是通过选定阈值对结果进行分类。比如概率选取阈值为0.5,大于0.5的为正样本,小于则为负样本。如果阈值增大,那么假阳性率降低,同时真阳性也会降低;反之阈值减小,虽然真阳性率为增加,但是假阳性率也会增加。阈值的选取在一定程度上反应了分类器的分类能力。
ROC曲线用于衡量二分类模型的性能,横坐标表示假阳性率(FPR),纵坐标表示真阳性率(TPR)。显然ROC的横纵坐标都在\([0,1]\)之间。
理想目标是TPR为1,FPR为0,也就是ROC曲线中的\((0,1)\)点。因此,ROC曲线越偏离45度对角线靠近左上角,分类性能越好。
AUC
为了更直观的反应分类性能,定义ROC曲线下的面积AUC评估分类效果。AUC直观的反应了ROC曲线表达分类的能力。显然最理想情况AUC为1,AUC为0.5时表征只能50%的可能区分正类和负类,对应于随机分类,也就是说该模型没有任何区分正负类的能力。AUC为0时,表示正类预测为负类,负类预测为正类,分类完全错误。
对于多分类问题(\(n\)大于2),通过画\(n\)个AUC-ROC曲线(每一个AUC-ROC曲线表示一个分类与其他所有分类的比较)。