神经网络性能评价指标

神经网络性能评价指标

对于一个好不容易训练出来的模型,我们需要用数学工具直观的了解它的性能好坏。

先来了解混淆矩阵

一.混淆矩阵

img

首先,所有的样本(数据)中,可以被分为正样本和负样本。

其次,我们在对样本进行分类的时候也会分出正样本和负样本,但我们的判断是有错误的,故存在以下情况:

True Positive(真正,TP):将正样本预测为正样本

True Negative(真负,TN):将负样本预测为负样本

False Positive(假正,FP):将负样本预测为正样本

False Negative(假负,FN):将正样本预测为负样本

所以,P为正样本,N为负样本,就有以下关系:
T P + F N = P F P + T N = N TP + FN = P \\ FP + TN = N TP+FN=PFP+TN=N
根据混淆矩阵提供的概念,我们可以延伸出准确率(Accuracy)错误率(Error rate)灵敏度(sensitive)特效度(sensitive)精确率、精度(Precision)召回率(recall)综合评价指标(F-Measure) 。这些指标是评价网络的基础要素。

1、准确率(Accuracy)

首先,它的计算公式:
A C C = T P + T N P + N ACC = \frac{TP+TN}{P+N} ACC=P+NTP+TN
直白的看,意思就是在所有样本中,我们判断对了多少。 显然是ACC越高越好(保持其他变量不变的话)。

但是!ACC很高(100%除外)并不一定代表网络优秀。这里提问自己,ACC的用途主要适用于那些方面,以及那些方面是不适用的。

打个比方:有10w个样本,其中9.999w都是正样本,剩下的只有10个负样本,你的网络只要在正样本中表现的好就能达到很高的准确率。所以那10个负样本的重要性被忽略了,如果那10个负样本才是重心的话,这个准确率就没有什么现实意义。(其中也暴露出另一个问题,数据的分布对网络的训练和评价也是非常重要的!)

2、错误率(Error rate)

首先,它的计算公式:
E r = F P + F N P + N Er = \frac{FP+FN}{P+N} Er=P+NFP+FN
也就是:
1 − A C C = E r 1-ACC = Er 1ACC=Er

3、灵敏度(Sensitive) 特效度(Specificity)**

灵敏度的计算公式:
S e n s i t i v e = T P P Sensitive = \frac{TP}{P} Sensitive=PTP
特效度的计算公式:
S p e c i f i c i t y = T N N Specificity = \frac{TN}{N} Specificity=NTN
如计算公式所示,灵敏度和特效度分别是所有正样本中被判断正确的比例 和 所有负样本中被判断正确的比例,分别衡量了分类器对正负样本的识别能力。

这个分别计算 ‘准确率’ 我认为比单纯地计算准确率会来的更严谨,但前提应该是正样本和负样本的数量都足够大。

其中灵敏度等于召回率

4、精确率、精度(Precision)

公式:
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
表示被分为正样本的数据中实际为正样本的比例。

5、综合评价指标(F-Measure)

精度和灵敏度有时候会出现矛盾的情况,所以需要被综合考虑,常用的有F-Measure(又称为F-Score)

F-Measure为Precision和Sensitive的加权平均:
F = ( α 2 + 1 ) ∗ P ∗ R α 2 ( P + R ) F = \frac{(\alpha^2+1)*P*R}{\alpha^2(P+R)} F=α2(P+R)(α2+1)PR
当α=1的时候,就是F1指标:
F 1 = 2 ∗ P ∗ R P + R F1 = \frac{2*P*R}{P+R} F1=P+R2PR
可见F-Measure的计算调和了Precision和Sensitive,且F-Measure的值越高说明网络性能越强

现在来看一下另一个常见的指标

ROC曲线

ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和假负率(TP_rate)为轴的曲线。

通常我们称ROC曲线下面积为AUC,如图所示:

神经网络性能评价指标_第1张图片

TP_rate指的就是灵敏度(相对无脑来说,越高越好)
T P r a t e = T P P TPrate = \frac{TP}{P} TPrate=PTP
FP_rate指的是负样本中误判断为正样本的概率(相对无脑来说,越低越好)
F P r a t e = F P N FPrate = \frac{FP}{N} FPrate=NFP

所以A的性能最好,B的性能最差。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。

也可以判断出,L2的性能比L1要好。

其中,对角线CD的数学含义,指TP_rate==FP_rate,实际含义就是五五开,瞎猜的概率。(由此可知,对角线之下的点,就表明网络的性能。。。咳咳咳,还不如瞎猜)

*小总结:大部分的评价标准都建立在数据的合理分布之上

你可能感兴趣的:(神经网络,神经网络)