Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

机器学习之模型评估

$
0
0
作者: Sam(甄峰)  sam_code@hotmail.com

0. 问题的提出:
对一个机器学习模型,如何评估其好坏。最好有个指标性的数据。

对一些分类模型,首先可以想到使用精准率,如:有90%的分类是准确的。但这个数据在某些情况下,并不足以反映真实情况。

1. 分类评估指标:
1.1:准确率(Accuracy):
它是一种常见的性能指标,表示被正确预测的样本数占参与预测的样本总数的比例。

准确率的优点在于它有直观的解释:被正确预测的样本的百分比。
但在现实世界中,样本数据分布往往会有类别不均衡的问题。例如,99.9%的样本属于分类1,只有0.1%的样本属于分类2. 当存在类别不均衡问题时,使用准确率作为衡量标准会出现模型的准确率高但预测能力不足的情况。
例如:癌症的预测。例如整体人群中,某种癌症的发病率只有 0.1%。我们训练一个模型,准确率为95%. 但简单的创建另一个模型,预测任何人都不患这种癌症,准确率却高达99.9%。 但这个所谓模型却没有任何意义。
为了解决这个问题,我们需要其它指标数据。


如果我们建立一个图,x轴向表示为真实的分类,Y轴表示预测的分类:



TP: 真阳性。
FP:假阳性。
FN:假阴性。
TN:真阴性。

1.2:精确度(Precision):
表示所有预测为正类的样本中被正确预测的样本的百分比。
TP/(TP+FP).  这个值越高越好。
可以把它看作是:衡量预测结果中噪声多少的指标。这个值越高,噪声越少。

1.3:召回率/测准率(Recall):
所有真实为True的样本中,被预测为True的样本的百分比。
TP/(TP+FN)
召回率/测准率衡量的是模型识别证样本的能力。召回率越高,则把正样本识别为正的能力越强。


不过如果有这俩个评估值,如何抉择呢?例如:


这三个算法,如何抉择呢? 如果选择P+R的平均值,则第三个最好,但其实它正是我们想要解决的类别不平衡问题的反应。

1.4: F-Score:
2* (P*R)/(P+R)
这个公式,让P或者R中某一个值太小时,F-Score急剧变小。是个衡量正类预测的正确程度(correctness)的指标。


2. 目标检测算法中衡量指标
2.1: 几个基础概念:
2.1.1: IoU(Intersection over union):
交并比,它衡量的是两个区域的重合程度。是两个区域重叠部分面积占二者总面积的比例。

IoU通常用来计算的是“预测的边框”和“真实的边框”的交集和并集的比值。

在目标检测任务中,如果模型预测的Box和真实标注的Box的IoU超过一个阈值(如0.5).则可以认为它输出了正确结果。

2.2: 精确度(Precision)和召回率/测准率(Recall):
如果我们把超过某个IoU阈值的预测结果作为正,反之作为负。则可以直接引入Precision和Recall概念。
与前面完全相同。

2.3: PR曲线:
目标检测中,我们当然希望P和R均很高才好。但往往不能如愿,他们的结果常常是矛盾的,如何取舍?除了F-Score为,还可以用PR曲线来帮助分析决策。
实例如下:

(图取自网络,谢谢原作者)
数据按置信度排序,而Precision和Recall值,则表明如果以这一行的执行度为阈值,得到的Precision和Recall值。



以Recall值为横轴,Precision值为纵轴,我们就可以得到PR曲线。 




 

Viewing all articles
Browse latest Browse all 158

Trending Articles