机器学习-评价指标对比

Precision vs Recall

precision是查准率——是所有做出正类预测的情况下,正确的概率

公式:P = 预测为正且真实为正的样本 / 模型预测为正的所有样本

recall是查全率——对所有真实为正的样本,模型所覆盖的比例。查全率recall越高,则正样本被覆盖到的比例越大;如果放到信息检索任务中,recall越高,则越多有价值的信息被检索出来。

公式:R = 预测为正且真实为正的样本 / 真实为正的所有样本

如果贪婪地尽可能把测试样本标记为正,则正样本覆盖率增加,查全率recall会随之增加,但查准率precision下降,在某乎上看到的一个很形象的比喻可以用来描述这种做法:宁可错杀一千,不肯放过一个。

如果保守地只对确信无疑的样本才标记为正,那么查准率precision自然会升高,而不可避免地会产生大量漏检,查全率recall也就降低了。

F1-score and Fβ-score

F1-score可以全面考虑precision和recall,

公式:F1-score = 2 P R / (P + R)。 由公式可以看出,查全率和查准率对于F1-score的贡献是相同的,并且单纯看F1-score值的话没有办法判断是precision低了还是recall低了,于是在多分类的场景下,通常可以把每一个类别的P,R,F1都计算出来,然后综合对比这三个指标。

其实,F1-score是Fβ-score的一种特殊情况。Fβ-score的公式为:

 

查全率和查准率是相互矛盾的两个指标(通常一个低了,另外一个会更高)。由于根据应用场景的不同,我们会对P和R有不同的偏好, 比如在信贷风险评估的任务中,我们希望尽可能降低风险,那么就会对recall更加注重(宁可错杀一千,不肯放过一个!)。Fβ-score为P和R的偏好提供了一种方便的设置方法,通过降低β就增加了recall的权重,降低了precision的权重,对于recall相对较高的模型,最终的Fβ-score也会较高。同理,增加β就增加了precision的权重,降低了recall的权重。β = 1时recall和precision权重相等,等价于F1-score。 

ROC曲线和AUC指标

注意:ROC和AUC是二分类独有的一种评测指标。

ROC曲线的绘制,是基于真正例率True positive rate(简称TP) 和假正例率False positive rate(简称FP)。

真正例率TP = 所有正样本中被模型标记为正的比例 = 模型标记为正且真实为正的样本数 / 所有正样本数

假正例率FP = 所有负样本中被模型标记为正的比例 = 模型标记为正但真实为负的样本数 / 所有负样本数

如何绘制ROC曲线呢?二分类模型对于每一个测试样本都会输出一个概率值,该概率值代表了测试样本标记为正例的可能性,我们把模型对所有测试样本输出的概率值,按照概率值由大到小,对这些测试样本做一个降序排序。接着,以FP为横轴,TP为纵轴,作为绘制ROC的坐标系。对降序排列的测试样本,依次把每一个样本标记为正,同时计算当前时刻下的FP和TP,并在ROC的坐标系中对应的点做一个标记。在所有测试样本都被标记为正之后,假如有t个测试样本,就有t个时刻的FP和TP,即t个坐标点,把这t个点连接起来,就得到了ROC曲线(如下图所示)。ROC曲线与FP轴、FP=1围成的面积,等于AUC(如下图中阴影部分面积)。AUC可以用于描述二分类模型对于正负样本的区分程度,区分程度越好的模型,AUC的值越接近1。

                         

对这种区分程度,可以这样理解:区分程度越好的二分类模型,能够对正例输出更大的概率值,对负例输出更低的概率值,那么对所有测试样本的输出概率做降序排列之后,由于区分度更好的模型能够对大部分正例输出更大的概率值,故大部分正例会被排列在左侧,大部分负例会因为更小的输出值而被排列在右侧,所以在从大到小依次把每个样本标记为正的这个过程中,曲线先是沿着TP方向(纵轴)不断上升,上升到接近1的时候,大部分正例都被遍历到了,这时曲线才开始沿着FP方向不断往右走...TP和FP与TP=1,FP=1围成的是一个面积为1的正方形,故对于区分度很显著的模型,我们最终绘制出的ROC曲线,其AUC值就接近于1了。

AUC的优势在于,在样本数量足够多的情况下,样本不平衡问题对于AUC的影响较小,且样本分布发生一定变化的情况下AUC也也能保持稳定。AUC的劣势在于,只能用于二分类场景,多分类无法使用AUC。

NLP相关指标

BLEU-n

BLEU主要考察的是生成文本的n-gram对正确答案n-gram的覆盖程度,公式如下:

Pn = 生成文本的n-gram有多少个出现在了正确答案的n-gram中 / 生成文本的n-gram总数

注意:生成文本如果有多个相同n-gram,取值最大不超过正确答案的该n-gram数量的最大值

可以看到,当生成文本越短时,Pn容易更高,因此可以引入惩罚因子BP,惩罚短的生成文本。

为了综合考量文本生成的质量,通常选择n=1->4的BLEU值相加求平均,然后乘以惩罚因子得到最终的指标结果(平衡各阶统计量的值):

BLEU = BP · exp(wΣlogPn)             w=1/4

BLEU的缺点主要有以下几点:

1.倾向于短文本,即使引入惩罚因子也还是会有偏向;

2.没有考虑句子结构,句子意义;

3.不能很好的处理形态丰富的语言,比如语素多的语言(如秘鲁语);

4.只考虑了准确率,没有考虑召回率,没考虑正确答案中哪些n-gram在生成文本中没出现。

Meteor

Meteor首先执行对齐,对齐是指在两个文本中寻找单词与单词之间的唯一映射关系,会有多种对齐方式,所以会通过启发式的方法寻找到chunk数量最少的对齐方式,chunk是指连续的、且在两部分文本中都出现、词序相同的单词片段,对齐过程中会考虑同义词和词干相同的单词;划分好对齐方式后,根据对齐关系,得到能生成文本和正确答案中共现的单词数量m,之后根据生成文本和正确答案中共现的单词数量m计算准确率和找回率:

准确率P = m/生成文本长度,

召回率R = m/正确答案长度,

接着计算P和R的调和平均(有一个超参α),得到F值,针对最终的F值,引入了惩罚系数BP:

BP = r(chunk/m)β ,

其中r和β是超参。结合惩罚系数之后,最终得到

 score = (1-BP)×F值。

从直觉上看,惩罚系数的意义在于:chunk数越小,单词对齐数量m越多,说明句子越流畅,则惩罚系数越小。

与BLEU相比,Meteor的优点在于:①利用wordNet等外部知识扩充了同义词集,即考虑了同义词;同时考虑了单词的词形,对于相同词干的部分匹配的词,会给予一定的奖励;②利用chunk评价句子流畅性,寻找连续的单词形成“生成文本”和“正确答案”能对齐的chunk,chunk越少说明每个chunk平均长度越长,意味着候选译文和参考译文的语序越一致;③召回率和准确率二者都考虑了,用F值作为最后的评价指标。

Meteor的缺点在于:①超参数多,针对不同数据集可能有不同的最合适超参;②需要外部知识如wordNet提供同义词集,进行单词对齐,如果是wordNet中不包含的语言,就没办法采用meteor指标。

ROUGE-L

ROUGE-L中的“L”代表“最长公共子序列”的首字母,其计算方式是:

P=最长公共子序列的长度/生成文本的长度,

R=最长公共子序列的长度/正确答案的长度,

P和R做一个调和平均,综合考虑了准确率和召回率。

直觉上来看,ROUGE-L缺点是没有考虑句子的含义,不好评价表达方式比较丰富的语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值