机器学习性能度量指标: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}))\]