人工智能程序员面试笔试宝典
上QQ阅读APP看书,第一时间看更新

2.2 性能度量

衡量模型泛化能力的评价标准就是性能度量,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果。在性能度量时,回归问题和分类问题用的指标往往不同,所以需要分开讨论。

2.2.1 回归问题常用的性能度量指标有哪些

1)均方误差。

2)Root Mean Squared Error(RMSE)均方根误差是观测值与真值偏差的平方和与观测次数m比值的平方根,用来衡量观测值同真值之间的偏差。

3)和方误差。

4)Mean Absolute Error(MAE)直接计算模型输出与真实值之间的平均绝对误差。

5)Mean Absolute Percentage Error(MAPE)不仅考虑预测值与真实值的误差,还考虑了误差与真实值之间的比例。

6)平均平方百分比误差。

7)决定系数。

2.2.2 分类问题常用的性能度量指标有哪些

常用的性能度量指标有精确率、召回率、F1、TPR、FPR。

表2-1中TP表示正样本被预测为正样本(真正例,true positive)。

表2-1 TP、FN、FP和TN定义

FN表示正样本被预测为负样本(假负例,false negative)。

FP表示负样本被预测为正样本(假正例,false positive)。

TN表示负样本被预测为负样本(真负例,true negative)。

精确率Precision=

召回率Recall=

真正例率即为正例被判断为正例的概率

假正例率即为反例被判断为正例的概率

精确率又称查准率,顾名思义适用于对准确率要求高的应用,例如网页检索与推荐。召回率又称查全率,适用于检测信贷风险信息、逃犯信息等。由于精确率与召回率是一对矛盾的度量,所以需要找一个平衡点,研究者们往往使用F1F1是精确率与召回率的调和平均值:

(1)错误率和准确率

错误率

准确率acc=1-e

(2)AUC与ROC曲线

对于0、1分类问题,一些分类器得到的结果并不是0或1,如神经网络得到是0.5、0.6等。此时就需要取一个阈值cutoff,那么小于cutoff的归为0类,大于等于cutoff的归为1类,可以得到一个分类结果。取不同的阈值,最后得到的分类情况也不同。

ROC曲线(Receiver Operational Characteristic Curve)是以False Positive Rate为横坐标,True Positive Rate为纵坐标的绘制的曲线。曲线的点表示了在敏感度和特殊性之间的平衡,例如越往左,也就是假阳性越小,则真阳性也越小。曲线下方的面积越大,则表示该方法越有利于区分两种类别。AUC即为ROC曲线所覆盖的区域面积。AUC值是一个概率值,当随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。所以AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。而如果AUC=0.5,跟随机猜测一样(例如丢硬币),模型没有预测价值。如图2-1所示。

图2-1 ROC曲线

ROC曲线的主要意义是方便观察阈值对学习器的泛化性能影响,所以有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。

代码如下: