机器学习的性能度量

机器学习评估方法讲的是可行的实验估计方法。而为了评价模型的泛化能力,不仅需要可行的实验估计方法,还需要有衡量泛化能力的评估标准,这就是性能度量。使用不同的性能度量可能会导致不同的评判结果。

因此,模型的“好坏“”是相对的,关于模型“好坏”的判断,不仅取决于算法和数据, 还取决于当前任务需求。

1、回归的性能度量

1.1 平均绝对误差 MAE

平均绝对误差MAE(Mean Absolute Error)又被称为L1范数损失

MAE计算公式

1.2 均方误差MSE

均方误差MSE(Mean Squared Error)又被称为L2范数损失

MSE计算公式

1.3 均方根误差 RMSE

RMSE计算公式

但是MAE、MSE、RMSE的取值大小与具体使用场景有关,比如说利用机器学习算法预测上海的房价RMSE在2000元,我们是可以接受的,但是当四五线城市的房价RMSE为2000元,我们还可以接受吗?有没有一种与应用场景无关的,统一的评价指标呢?这就推出了决定系数R^2。

1.4 决定系数R^2

决定系数计算公式

其中,SST = SSR + SSE,因此决定系数是一个0-1之间的数值。

2、分类的性能度量

相比于回归,分类的性能指标更加复杂。

2.1 错误率与精度

精度:预测正确的样本占总样本的比例

精度计算公式

其中

错误率等于 Err = 1 - Acc

2.2 查准率与查全率

要计算查准率和查全率,并理解他们的含义,首先需要得到混淆矩阵。

混淆矩阵
查准率和查全率

含义:

查准率表示预测为正例的样本中,真正的正样本所占的比例。比如模型将5个样本预测为正例,其中有3个样本是正本,2个是负样本,则查准率为3/5=0.6。

查全率表示正样本中,预测为正样本的样本数所占的比例。比如模型共有10个正样本,有8个正样本被预测为正样本,其余的被预测为负样本,则查全率为8/10=0.8。

查准率和查全率是一对比较矛盾的度量。例如,我想提高查准率,那么只挑出最有把握的样本预测为正例。这样的话,一些正样本被误判为负例,查全率下降。反之亦然。

3、Fβ Score

如上所说,查准率和查全率是相互矛盾的,在不同的场景中,侧重不同,有的要求查准率高,有的要求查全率高,因此用 Fβ Score来均衡两个指标。
Fβ Score计算公式

β越大,查全率所占比重越大。β越小,查准率比重越大。β=1时,两者权重相等。

4、ROC 和 AUC

ROC(Receiver Operating Characteristic),翻译为“受试者工作特征”。听起来比较拗口。那ROC曲线是怎么得到的呢?

我们根据学习器的预测结果,对样本依概率从高到低进行进行排序,然后按照顺序逐个把样本作为正例进行预测,计算出此时的TPR(真正例率)作为纵坐标,FPR(假正例率)作为横坐标,画出的曲线就是ROC曲线。
这就相当于将判定阈值不断变小,如图所示,阈值从A到B再到C,不断变小,相应的TPR=T1/(T1+T2)逐渐增大,FPR=F1/(F1+F2)也逐渐增大。


阈值从大到小变化

在阈值分别取A、B、C时,坐标变化如下图


ROC曲线

阈值的选取根据具体任务选择。对样本排序的质量体现了综合考虑学习器在不同任务下泛化能力的好坏。如何根据ROC曲线去衡量泛化能力呢,我们用一个标量值AUC来量化它。AUC值为ROC曲线所覆盖的区域面积,AUC越大,分类器分类效果越好。

AUC物理意义:
AUC就是从所有1样本中随机选取一个样本, 从所有0样本中随机选取一个样本,然后根据你的分类器对两个随机样本进行预测,把1样本预测为1的概率为p1,把0样本预测为1的概率为p0,p1>p0的概率就等于AUC。所以AUC反应的是分类器对样本的排序能力。

AUC计算方法:
我们首先把所有样本按照score(概率大小)排序,依次用rank表示他们。例如:最大score的样本,rank=n (n为样本总数,n=n0+n1,其中n0为负样本个数,n1为正样本个数),其次为n-1。

那么对于正样本中rank最大的样本,rank_max,有(n1-1)个其他正样本比他score小,那么就有(rank_max-1)-(n1-1)个负样本比他score小。其次为(rank_second-1)-(n1-2)。以此计算,最后我们得到正样本大于负样本的概率为
iAUC计算公式

你可能感兴趣的:(机器学习的性能度量)