机器学习性能评估指标

Sep 7,2017   2099 words   8 min

Tags: DeepLearning

首先是相关数据描述。假设原始样本中有两类数据,其中:

  • 总共有P个类别为1的样本,假设类别1为正例
  • 总共有N个类别为0的样本,假设类别0为负例

经过分类后:

  • 有TP个类别为1的样本被系统正确判定为类别1,FN个类别为1的样本被系统误判定为类别0,显然有P=TP+FN
  • 有FP个类别为0的样本被系统误判断定为类别1,TN个类别为0的样本被系统正确判为类别0,显然有N=FP+TN

1.精确率(Precision)

\[P=\frac{TP}{TP+FP}\]

精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。 那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。 它反映的是被分类器判定的正例中真正的正例样本的比重。

2.准确率(Accuracy)

\[A = \frac{TP+TN}{P+N}=\frac{TP+TN}{TP + FN + FP + TN}\]

它反映的是分类器统对整个样本的判定能力——能将正的判定为正,负的判定为负的能力。

3.召回率(Recall)

\[R = \frac{TP}{TP+FN}\]

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。 那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。 也称为True Positive Rate(TPR),它反映了被正确判定的正例占总的正例的比重。

下图直观反映了精确率与召回率的关系。

4.ROC

In signal detection theory, a receiver operating characteristic (ROC), or simply ROC curve, is a graphical plot which illustrates the performance of a binary classifier system as its discrimination threshold is varied.

在逻辑回归中,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。 如果我们减小这个阀值,那么更多的样本会被识别为正类。 这会提高正类的识别率,但同时也可能使得更多的负类被错误识别为正类。 为了形象化这一变化,引入ROC,ROC曲线可以用于评价一个分类器好坏。

ROC关注两个指标:True Positive Rate(TPR)和False Positive Rate(FPR)。

\[TPR = \frac{TP}{TP+FN}\] \[FPR = \frac{FP}{FP+TN}\]

直观上,TPR代表能将正例分对的概率,FPR代表将负例错分为正例的概率。 在ROC空间中,每个点的横坐标是FPR,纵坐标是TPR,这也就描绘了分类器在TP(真正率)和FP(假正率)间的trade-off。

5.AUC

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。

The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.

翻译过来就是,随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是AUC值。 简单说:AUC值越大的分类器,正确率越高。

  • AUC=1 完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5<AUC<1 优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC=0.5 跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC<0.5 比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在AUC<0.5的情况。

既然已经这么多评价标准,为什么还要使用ROC和AUC呢? 因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。 在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)。

6.平均绝对误差(MAE)

平均绝对误差MAE(Mean Absolute Error)又被称为l1范数损失(l1-norm loss)。

\[MAE(y,\hat{y})=\frac{1}{n_{samples}}\sum_{i=1}^{n_{samples}}\left | y_{i}-\hat{y}_{i} \right |\]

7.平均平方误差(MSE)

平均平方误差 MSE(Mean Squared Error)又被称为l2范数损失(l2-norm loss)。

\[MSE(y,\hat{y})=\frac{1}{n_{samples}}\sum_{i=1}^{n_{samples}}(y_{i}-\hat{y}_{i})^{2}\]

本文作者原创,未经许可不得转载,谢谢配合

返回顶部