在深度学习中,精确率(Precision)召回率(Recall)是常用的评价模型性能的指标,从公式上看两者并没有太大的关系,但是实际中两者是相互制约的。我们都希望模型的精确了和召回率都很高,但是当精确率高的时候,召回率往往较低;召回率较高的时候精确率往往较低。

往往需要对模型的精确率和召回率做出取舍:

比如在一般的搜索任务时,在保证召回率的同时,尽量提高精确率;

在癌症检测、金融诈骗任务时,在保证精确率的同时,尽量提高召回率。

很多时候,我们需要综合权衡这2个指标,这就引出了一个新的指标F-Score,这是综合考虑Precision和Recall的调和值

                                                  F-Score = (1 + \beta ^{2}) \cdot \frac{Precision \cdot Recall}{\beta ^{2}\cdot Precision + Recall}

当 \beta =1时,成为F1-Score,这时召回率和精确率都很重要,权重相同。当有些情况下我们认为精确率更为重要,那就调整 β 的值小于 1 ,如果我们认为召回率更加重要,那就调整 β的值大于1,比如F2-Score。

举个栗子:

癌症检查数据样本有10000个,其中10个是有癌症的样本。假设无癌症的9900个样本中预测正确了9980个,在10个癌症数据中预测正确了9个,此时:
Accuracy = (9+9980)/10000 = 99.89%

Precision = 9/(9 + 10) = 47.36%

Recall = 9 / 10 = 90%

F1-score = 2 x (47.36% x 90%)/(1 x 47.36% + 90%)

F2-score = 2 x (47.36% x 90%)/(4 x 47.36% + 90%)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐