赞
踩
1.背景
NLP中一个最基本任务就是分词,当我们分词完成之后怎么来评判分词结果的好坏呢?换句话来说就是我该如何对分词结果打分?这个分数怎么算法,依照的标准是什么?例如:
原句子:武汉市长江大桥
分词一:武汉 市长 江大桥
分词二: 武汉市 长江大桥
对于分词一和分词二的打分应该是多少呢?为了搞清楚这个问题,我们先来学习(回顾)一些机器学习中的常见分类评估标准。
2.机器学习中的分类评估
2.1 准确率
准确率(accuracy),是一个用来衡量分类器预测结果与真实结果差异的一个指标,越接近于1说明分类结果越准确。举个例子,比如现在有一个猫狗图片分类器对100张图片进行分类,分类结果显示有38张图片是猫,62张图片是狗,经与真实标签对比后发现,38张猫的图片中有20张是分类正确的,62张狗的图片中有57张是分类正确的,那么准确率是多少呢?显然就应该是 ( 20 + 57 ) / 100 = 0.77 (20+57)/100=0.77 (20+57)/100=0.77,即分对的数量除以总的数量就这么简单,这也是准确率好理解的原因之一。
同时可以发现,对于这100张图片来说,其真实标签为狗75张,猫25张。那么现在问题就来了,假如某分类器使坏,对于输入的任何让本其结果都输出为狗,那么从整个结果来看就是狗的照片全都分对,猫的照片全都分错,准去率为 75 / 100 = 0.75 75/100=0.75 75/100=0.75。可是仔细想想这有意义吗?若是猫狗照片数量为10和90,你啥也不做,就这么一搞准确率就到 0.9 0.9 0.9了,岂不无法无天?那我们应该这么避免这种情况呢?那就要轮到精确率和召回率登场了。
2.2 精确率、召回率与F-score
什么精确率(precision)与召回率(recall)呢?我们先用一个矩阵来把上面猫狗分类的结果给展示出来:
怎么去读这张表呢?首先从这张表可知:数据集中有25张猫的图片,75张狗的图片;同时对于左图20这个值,其含义是将猫预测为猫的数量为20,同理5表示将猫预测为狗的数量,18表示将狗预测成猫的数量,57表示将狗预测为狗的数量。衍生开就是,如右图所示:
图p0140这个矩阵就称为混淆矩阵(confusion matrix),同时我们可以得到如下计算公式:
A c c u r c a y = T P + T N T P + F P + F N + T N P r e c i s i o n = T P T P + F P R e c a l l = T P T P + F N F − s c o r e = ( 1 + β 2 ) P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n + R e c a l l
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。