机器学习中的模型评估指标

机器学习中的模型评估指标

一、分类问题

1.1 混淆矩阵

先明确几个概念,真/假阳性,真/假阴性。
机器学习中的模型评估指标
对于这样的一个混淆矩阵,我们希望模型能够做到,TP和TN尽可能地高,而FP和FN尽可能地低。但是对于一个定量的评估来说,这样只凭借混淆矩阵看一眼来比较是不够科学客观的,因此后面也在真/假阳性,真/假阴性定义的基础上,题出了更多的标准。

1.2 准确率 Accuracy

Accuracy=TP+TNTP+FP+TN+FN=Accuracy=\frac{TP+TN}{TP+FP+TN+FN}=\frac{正确分类样本个数}{样本总个数}
通过准确率来进行模型评估是最简单直观的办法,但是也有一个很重要的缺陷,当分类的样本不均衡时,准确率并不够客观。

假如在所有的样本中,99%的样本都是负样本,那么模型直接无脑全部判别为负样本,依然会有99%的准确率,这显然是我们不希望的。

1.2 精确率 (Precision) 、召回率(Recall) 、P-R曲线

精确率是指分类正确的正样本的个数,与分类为正样本的个数之比。
Precision=TPTP+FPPrecision=\frac{TP}{TP+FP}
召回率是指分类正确的正样本的个数,与实际为正样本的个数之比。
Recall=TPTP+FNRecall=\frac{TP}{TP+FN}
可以看出,Precision和Recall是两个既矛盾又统一的两个指标,为了提高Precision,模型会“小心翼翼”的把最可能是正样本的例子分类为正,而这又会漏掉部分正样本,导致了Recall的降低。

因此,可以知道,一个好的模型具备这种特征:Precision和Recall都尽可能地高。自然的,就有了P-R曲线:横轴为Recall,纵轴为Precision。其缺点是,当正负样本的比率变化时,P-R曲线也会发生较大的变换,因此这个评价方法也不够客观,这也引出了接下来的ROC曲线。

1.3 真阳性率(TPR) 、假阳性率(FPR) 、ROC曲线

对于真阳性率(True Positive Rate):
TPR=TPTP+FNTPR=\frac{TP}{TP+FN}
发现他的公式与Recall是同样的。同时TPR又叫做灵敏度 Sensitivity.
对于假阳性率(False Positive Rate):
FPR=FPTN+FPFPR=\frac{FP}{TN+FP}
ROC曲线:Reciever Operating Characteristic。以假阳性率为横轴,真阳性率为纵轴进行绘制。
同时也有一个AUC的定义:Area Uncer Curve。即ROC曲线下的面积,当AUC越接近1时,说明模型越好,一般来说,AUC的取值范围是(0.5,1)(0.5,1),如果当AUC<0.5AUC<0.5时,可以考虑将分类的结果进行反转,即Predction=1PredictionPredction = 1-Prediction,可以得到更好的效果。若AUC=0.5AUC=0.5,说明模型什么也没学习到,只是在进行一个随机的分类。

二、回归问题

回归问题的评估量化思想主要有两个,即L1与L2范数的思想。

2.1 平方根误差

最常见的是平方根误差:
RMSE=i=1n(yiyi^)2nRMSE=\sqrt{\frac{\sum_{i=1}^{n}(y_i-\hat{y_i})^2}{n}}
其思想来自L2正则化,衡量的是两个向量之间的欧式距离,即他们的长度方面的误差。RMSE能很好的反应预测值与真实值之间的偏离程度,但它的缺点是对个别的偏离较大的异常点比较敏感。

2.2 平均绝对百分比误差

平均绝对百分比误差:Mean Absolute Percent Error
MAPE=i=1nyiyi^yi×100nMAPE=\sum_{i=1}^{n}\left| \frac{y_i-\hat{y_i}}{y_i} \right|\times\frac{100}{n}
相对于RMSE,MAPE对每个点的误差进行了归一化,降低了离群点带来的误差影响。他的鲁棒性比RMSE更好。