学习笔记四:性能度量
1. 基本概念
1.1 性能度量
性能度量(performance measure)是衡量模型泛化能力的评价标准。
- 性能度量反映任务需求:不同的性能度量往往导致不同的评判结果
- 模型的"好坏"是相对的:与算法、数据以及任务需求都有关
1.2 任务类型
- 分类任务:预测离散类别
- 回归任务:预测连续值
2. 性能度量方法
2.1 分类任务的性能度量
2.1.1 基础度量
错误率(Error Rate)
定义:分类错误的样本数占样本总数的比例。
精度(Accuracy)
定义:分类正确的样本数占样本总数的比例。
关系:精度 = 1 - 错误率
2.1.2 查准率与查全率
混淆矩阵
二分类问题中,样本可分为四类:
| 预测为正例 | 预测为反例 | |
|---|---|---|
| 真实为正例 | TP(真正例) | FN(假反例) |
| 真实为反例 | FP(假正例) | TN(真反例) |
- 真正例(TP):实际为正例,预测为正例
- 假正例(FP):实际为反例,预测为正例
- 真反例(TN):实际为反例,预测为反例
- 假反例(FN):实际为正例,预测为反例
查准率(Precision, P)
定义:被预测为正例中真正为正例的比例。
如何度量:
P=TPTP+FPP = \frac{TP}{TP + FP}P=TP+FPTP
查全率(Recall, R)
定义:所有真正正例中被正确预测的比例。
如何度量:
R=TPTP+FNR = \frac{TP}{TP + FN}R=TP+FNTP
查准率与查全率的矛盾关系
查准率和查全率是一对矛盾的度量:查准率高时,查全率往往偏低;查全率高时,查准率往往偏低。
P-R曲线
定义:以查全率(R)为横轴、查准率(P)为纵轴绘制的曲线。
评估方法:
- 若一个学习器的P-R曲线被另一个完全"包住",则后者性能优于前者
- 若曲线相交,可通过AUC-PR(P-R曲线下的面积)进行比较
平衡点(BEP)
定义:"查准率 = 查全率"时的取值。
局限性:过于简化,更常用F1度量。
2.1.3 F1度量与F_beta度量
F1度量(F1 Score)
定义:查准率和查全率的调和平均。
如何度量:
F1=2⋅P⋅RP+RF1 = \frac{2 \cdot P \cdot R}{P + R}F1=P+R2⋅P⋅R
F_beta度量
定义:允许对查准率和查全率赋予不同权重的F1推广。
如何度量:
Fβ=(1+β2)⋅P⋅R(β2⋅P)+RF_{\beta} = \frac{(1 + \beta^2) \cdot P \cdot R}{(\beta^2 \cdot P) + R}Fβ=(β2⋅P)+R(1+β2)⋅P⋅R
参数说明:
β = 1:退化为F1度量β > 1:查全率有更大影响β < 1:查准率有更大影响
2.1.4 宏平均与微平均
当需要在多个混淆矩阵上综合考察查准率和查全率时使用:
-
宏平均(macro-averaging):先在各混淆矩阵上分别计算P和R,再计算平均值
-
微平均(micro-averaging):先将各混淆矩阵的对应元素平均,再计算P、R和F1
2.2 ROC与AUC
2.2.1 真正例率与假正例率
真正例率(TPR)
定义:所有真正的正例中被正确预测的比例,也称为召回率或灵敏度。
如何度量:
TPR=TPTP+FNTPR = \frac{TP}{TP + FN}TPR=TP+FNTP
假正例率(FPR)
定义:所有真正的反例中被错误预测为正例的比例。
如何度量:
FPR=FPTN+FPFPR = \frac{FP}{TN + FP}FPR=TN+FPFP
2.2.2 ROC曲线
定义:以假正例率(FPR)为横轴、真正例率(TPR)为纵轴绘制的曲线。
如何绘制:
- 根据预测结果对测试样本排序
- 将排序后的样本逐个作为截断点
- 计算每个截断点的FPR和TPR
- 以FPR为横坐标,TPR为纵坐标绘制曲线
评估方法:
- 若一个学习器的ROC曲线被另一个完全"包住",则后者性能优于前者
- 若曲线相交,可通过AUC进行比较
2.2.3 AUC(Area Under ROC Curve)
定义:ROC曲线下的面积,反映模型的排序质量。
2.3 回归任务的性能度量
均方误差(MSE):最常用的回归任务性能度量
2.4 代价敏感错误率与代价曲线
2.4.1 代价矩阵
在现实任务中,不同类型的错误往往具有不同的代价。代价矩阵定义不同类型错误的代价:
| 预测为第0类 | 预测为第1类 | |
|---|---|---|
| 真实为第0类 | 0 | cost₀₁ |
| 真实为第1类 | cost₁₀ | 0 |
cost_ij表示将真实标记为第i类的样本预测为第j类所产生的代价- 正确分类的代价通常为0:
cost_{ii} = 0
2.4.2 代价敏感错误率
定义:考虑不同错误代价的错误率度量。
2.4.3 代价曲线
定义:可视化不同代价设置下期望总体代价的曲线。
3. 总结
性能度量是衡量模型泛化能力的评价标准。不同的性能度量往往导致不同的评判结果,因此选择性能度量应与实际任务需求相匹配。对于分类任务,常用错误率、精度、查准率、查全率、F1度量、ROC曲线和AUC等指标;对于回归任务,常用均方误差(MSE);对于代价敏感任务,需要使用代价敏感错误率和代价曲线。核心要点是性能度量反映任务需求,需要根据任务特点选择合适的方法。
