机器学习中的评价指标
姓名:张新影
学号:19021210945
转载自:https://www.jianshu.com/p/ce493d8c9cb8有删减
【嵌牛导读】不同的机器学习任务需要不同的性能评价指标来评价,文中介绍了常见的评价指标。
【嵌牛鼻子】机器学习 评价指标
【嵌牛提问】 机器学习的评价指标有哪些?
【嵌牛正文】
不同的机器学习任务有着不同的性能评价指标。例如,分类问题,可以使用准确率 (Accuracy)、对数损失函数 (log-loss)、AUC等评价方法。实数序列数据预测问题,可以使用平方根误差 (root mean square error, RMSE) 等指标;又如在搜索引擎中进行与查询相关的项目排序中,可以使用精确率-召回率 (precision-recall)。本文将介绍一些在机器学习中常见的评价指标。
混淆矩阵
混淆矩阵是对分类的结果进行详细描述的一个表,无论是分类正确还是错误,并且对不同的类别进行了区分,对于二分类则是一个2x2的矩阵,对于n分类则是nxn的矩阵。对于二分类,第一行是真实类别为“Positive”的记录个数(样本个数),第二行则是真实类别为“Negative”的记录个数,第一列是预测值为“Positive”的记录个数,第二列则是预测值为“Negative”的记录个数。
准确率(Accuracy)
分类正确的样本个数占所有样本个数的比例:
准确率看起来非常简单。然而,准确率评价指标没有对不同类别进行区分,即其平等对待每个类别。但是这种评价有时是不够的,比如有时要看类别0与类别1下分类错误的各自个数,因为不同类别下分类错误的代价不同,即对不同类别的偏向不同。另一个原因是,可能数据分布不平衡,即有的类别下的样本过多,有的类别下的样本个数过少,两类个数相差较大。这样,样本占大部分的类别主导了准确率的计算,为了解决这个问题,对准确率进行改进,得到平均准确率。
精确率(Precision)
分类正确的正样本个数占分类起所有的正样本个数的比例:
召回率 (Recall)
分类正确的正样本个数占正样本个数的比例:
F1-Score
精确率和召回率的调和平均值,它的值更接近于 Precision 和 Recall 中较小的值:
对数损失函数(log_loss)
在分类输出中,若输出不再是0、1,而是实数值,即属于每个类别的概率,那么可以使用 Log-loss 对分类结果进行评价。这个输出概率表示该记录所属的其对应的类别的置信度。比如如果样本本属于类别 0,但是分类器则输出其属于类别1的概率为 0.51,那么这种情况认为分类器出错了。该概率接近了分类器的分类的边界概率 0.5。Log-loss是一个软的分类准确率度量方法,使用概率来表示其所属的类别的置信度。Log-loss具体的数学表达式:
其中,yi 是指第 i 个样本所属的真实类别 0 或者 1,pi 表示第 i 个样本属于类别 1的概率,这样上式中的两个部分对于每个样本只会选择其一,因为有一个一定为 0,当预测与实际类别完全匹配时,则两个部分都是 0,其中假定 0log0=0。
AUC (Area under the Curve (Receiver Operating Characteristic, ROC))
AUC的全称是Area under the Curve,即曲线下的面积,这条曲线也是ROC曲线。ROC 曲线描述分类器的True Positive Rate(TPR,分类器分类正确的正样本个数占总正样本个数的比例)与False Positive Rate(FPR,分类器分类错误的负样本个数占总负样本个数的比例)之间的变化关系。
如上图,ROC 曲线描述 FPR 不断变化时,TPR 的值,即 FPR 与 TPR 之间的关系曲线。显而易见,最好的分类器便是 FPR=0%,TPR=100%,但是一般在实践中一个分类器很难会有这么好的效果,即一般 TPR 不等于 1,FPR 不等于 0 的。当使用 ROC 曲线对分类器进行评价时,如果对多个分类器进行比较时,如果直接使用 ROC 曲线很难去比较,只能通过将 ROC 分别画出来,然后进行肉眼比较,那么这种方法是非常不便的,因此我们需要一种定量的指标去比较,这个指标便是 AUC 了,即 ROC 曲线下的面积,面积越大,分类器的效果越好,AUC 的值介于 0.5 到 1.0 之间。
RMSE (平方根误差)
回归模型中最常用的评价模型便是 RMSE(root mean square error,平方根误差),其又被称为 RMSD(root mean square deviation),其定义如下:
其中,yi 是第 i 个样本的真实值,yi^ 是第 i 个样本的预测值,n 是样本的个数。该评价指标使用的便是欧式距离。RMSE 虽然广为使用,但是其存在一些缺点,因为它是使用平均误差,而平均值对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。