机器学习性能度量指标:ROC曲线、查准率、查全率、F1

时间:2023-03-10 01:47:40
机器学习性能度量指标:ROC曲线、查准率、查全率、F1

错误率

在常见的具体机器学习算法模型中,一般都使用错误率来优化loss function来保证模型达到最优。
\[错误率=\frac{分类错误的样本}{样本总数}\]
\[error=\frac{1}{m} \sum_{i=1}^{m} I(f(x_{i})\neq y_{i})\]

但是错误率有一个严重的缺点:
错误率会掩盖样本如何被错误分类事实,这样对于有的问题很难进行下一步的分析

混淆矩阵 confusion matrix

真正例: True Positive
真反例: True Negative
假正例: False Positive
假反例: False Negative

下面是一个二分类的混淆矩阵:

真实情况 预测 结果
正例 反例
正例 TP(真正) FN(假反)
反例 FP(假正) TN(真反)

查准率(正确率):
\[precision=\frac{真正正确的个数}{分类中正确的个数}\]
\[P=\frac{TP}{TP+FP}\]

查全率(召回率):
\[recall=\frac{预测为正确的个数}{真实情况正确的个数}\]
\[R=\frac{TP}{TP+FN}\]

综合考虑查准率和查全率的性能度量

F1:
F1是基于查全率和查准率的调和平均(harmonic mean)定义的
\[\frac{1}{F_{1}}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})\]
\[\frac{1}{F_{1}}=\frac{2*P*R}{P+R}=\frac{2*TP}{总样本树+TP-TN}\]

度量分类中非均衡分类问题 ROC 与AUC

ROC:receiver operating characteristic 受试者工作特征
横坐标:假正例率
\[FPR=\frac{FP}{FP+TN}\]
纵坐标:真正例率 就是回归率
\[TPR=\frac{TP}{TP+FN}\]

图形绘制过程:西瓜书 2.3.3 p34
一共有 \(m^{+}\)个正例,\(m^{-}\)个反例

  • 1.先将样例按照学习器的预测结果进行排序
  • 2.将分类阈值设置为最大,这样所有的样例都预测为反例。这就是图形的左下点(0,0)
  • 3.将分类阈值设置为每个预测结果值,依次将每个样例预测为正例
  • 4.假设前一个标记点坐标(x,y).如果当前例为TP,则对应标记点的坐标为\((x,y+\frac{1}{m^{+}})\) 如果当前例为FP,则对应标记点坐标为\((x+\frac{1}{m^{-}},y)\)

不同的ROC曲线根据AUC来进行比较
AUC:area under ROC curve
可根据微积分的定义来求解:
\[AUC=\frac{1}{2} \sum_{i=1}^{m-1}(x_{i+1}-x_{i}(y_{i}+y_{i+1}))\]