模型评估及评估指标

1 模型评估

模型评估是对训练好的模型性能进行评估,机器学习的任务有回归,分类和聚类,(见博客:机器学习基础概念),针对不同的任务有不同的评价指标,下文详解.

2 分类模型评价指标

2.1 一级指标

序号一级指标真实值模型预测值说明
1TPTruePositive真正,即真实值和预测值均是样本,表示预测正确
2TNTrueNegative真负,即真实值和预测值均为负样本,表示预测正确
3FNFalseNegative假负,即真实值为正,预测值为负,表示预测错误,若表示通过,该参数可表示误拒率
4FPFalsePositive假正,即真实值为负,预测值为正,表示预测错误,若表示通过,该参数可表示误入率

2.2 二级指标

序号二级指标计算说明
1准确率(ACC)Accuracy= T P + T N T P + T N + F P + F N \frac{TP+TN}{TP+TN+FP+FN} TP+TN+FP+FNTP+TN分类模型预测正确的结果占总观测样本的比例,即所有预测结果中,预测正确的比例
2精确率(PPV)Precision= T P T P + F P \frac{TP}{TP+FP} TP+FPTP模型预测为Positive所有结果中,模型预测正确的比例,从预测角度出发,取出一类预测结果,评估预测准确率
3灵敏度(TPR)Sensitivity=Recall= T P T P + F N \frac{TP}{TP+FN} TP+FNTP真实值是Positive所有结果中,模型预测正确的比例,从真实值角度出发,取出一类结果,评估预测准确率,查全率
4特异度(TNR)Specificity= T N T N + F P \frac{TN}{TN+FP} TN+FPTN真实值是Negative所有结果中,模型预测正确的比例

2.3 三级指标

F 1 S c o r e F_1 Score F1Score是精度和召回率的调和平均数,通过该方法,取值较小会分配更高的权重,因此,只有当召回率和精度都很高时,分类器才会获得较高的 F 1 F_1 F1分数.
【F1 Score】
计算:
F 1 S c o r e = 2 1 P + 1 R = 2 P R P + R F_{1}Score=\frac{2}{\frac{1}{P}+\frac{1}{R}}=\frac{2PR}{P+R} F1Score=P1+R12=P+R2PR
其中,P为Precision,R为Recall,该参数综合了Precision和Recall的结果,取值范围[0, 1],0表示模型预测效果最差,1表示模型预测效果最好.

2.4 混淆矩阵

混淆矩阵是监督学习中的可视化工具,用于比较分类结果即预测结果和实际数据的匹配度,行表示预测类别,列表示实际类别.

2.4.1 矩阵

混淆矩阵真实值
PositiveNegative
预测值PositiveTPFP
NegativeFNTN

2.4.2 例证

以人脸识别为例,人脸识别图片中的人脸是否在人脸库中,约定如下:若在则记为合法,不在则记为非法,人脸库共有250张人脸.

【(1) 混淆矩阵】

混淆矩阵真实值
合法非法
预测值合法10040
非法6050

【(2) 二级指标】

序号二级指标计算说明
1准确率(ACC)Accuracy= T P + T N T P + T N + F P + F N = 150 250 \frac{TP+TN}{TP+TN+FP+FN}=\frac{150}{250} TP+TN+FP+FNTP+TN=250150=60%分类模型预测正确的结果占总观测样本的比例,即所有预测结果中,预测正确的比例
2精确率(PPV)Precision= T P T P + F P = 100 100 + 40 \frac{TP}{TP+FP}=\frac{100}{100+40} TP+FPTP=100+40100=71.4%模型预测为Positive所有结果中,模型预测正确的比例,从预测角度出发,取出一类预测结果,评估预测准确率
3灵敏度(TPR)Sensitivity=Recall= T P T P + F N = 100 100 + 60 \frac{TP}{TP+FN}=\frac{100}{100+60} TP+FNTP=100+60100=62.5%真实值是Positive所有结果中,模型预测正确的比例,从真实值角度出发,取出一类结果,评估预测准确率
4特异度(TNR)Specificity= T N T N + F P = 50 40 + 50 \frac{TN}{TN+FP}=\frac{50}{40+50} TN+FPTN=40+5050=55.5%真实值是Negative所有结果中,模型预测正确的比例

2.5 ROC和AUC

2.5.1 ROC

接受者操作特征曲线(Reciver Operating Characteristic Curve,ROC)曲线用于描述二分类系统性能(分类器阈值是变化的),反应敏感性和特异性连续变化的综合指标,ROC曲线上的点反应对同一信号刺激的感受性.ROC三种形式:
在这里插入图片描述

图2.1 不同情况的ROC曲线

2.5.2 AUC

曲线面积(Area Under Curve,AUC)模型评价中定义为ROC曲线下的面积,取值[0, 1],由于ROC曲线一般在 y = x y=x y=x上方,因此AUC取值[0.5, 1],值越大,表明分类器效果越好.AUC三种取值:

序号AUC取值描述
11100%准确预测分类器,存在至少一个阈值可实现100%预测,实际不存在
2(0.5, 1)该情况优于随机猜测,设定合适的阈值,预测准确度高达90%
30.5该情况和正常的猜硬币一样,没有预测价值
4(0, 0.5)比随机猜测效果还差,若反预测,则预测效果优于随机猜测

在这里插入图片描述

图2.2 不同情况的AUC曲线

2.6 AP与mAP

2.6.1 AP

精度平均值(Average Precision, AP)表征模型对某一类别物品评估的平均精度,即2.2节中二级指标:精度的平均值.
A P = ∑ P r e c i s i o n c N u m b e r c AP = \frac{\sum Precision_{c}}{Number_{c}} AP=NumbercPrecisionc
其中,Precision为模型精度,见2.2节,c为某一物品类别,Number为某类物品验证集数量.
如有验证集自行车有200张图片,计算每张图片的精度,然后求200张图片精度的平均值,即为精度平均值.
A P = ∑ P r e c i s i o n b i k e 20 0 b i k e AP = \frac{\sum Precision_{bike}}{200_{bike}} AP=200bikePrecisionbike

2.6.2 mAP

平均精度的均值(Mean Average Precision, mAP)即所有类别的平均精度.如10个类别,计算10个类别的平均精度的平均值.
m A P = ∑ i n A P i n mAP=\frac{\sum_i^n AP_{i}}{n} mAP=ninAPi
其中,AP为某一类别物品的平均识别精度,i为某一物品,n为物品种类数量.
如10个类别,计算10个类别的平均精度的平均值.
m A P = ∑ i 10 A P i 10 mAP=\frac{\sum_i^{10} AP_{i}}{10} mAP=10i10APi

3 回归模型评价指标

3.1 方差

方差(Variance, Var),反映数据集中数据离散程度。
V a r = 1 n ∑ i = 1 n ( y r e a l − μ ) 2 Var ={\frac{1}{n}\sum_{i=1}^{n}(y_{real}-\mu)^2} Var=n1i=1n(yrealμ)2
其中, n n n为数据集数据数量, y r e a l y_{real} yreal训练数据集即真实的数据集, μ = 1 n ∑ i = 1 n y i \mu=\frac{1}{n}\sum_{i=1}^{n}y_i μ=n1i=1nyi为数据集均值.

3.2 标准差

标准差(Standard Deviation, SD)方差的平方根,反映数据集中数据离散程度.
S D = 1 n ∑ i = 1 n ( y r e a l − μ ) 2 SD=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_{real}-\mu)^2} SD=n1i=1n(yrealμ)2
其中, n n n为数据集数据数量, y r e a l y_{real} yreal训练数据集即真实的数据集, μ = 1 n ∑ i = 1 n y i \mu=\frac{1}{n}\sum_{i=1}^{n}y_i μ=n1i=1nyi为数据集均值.

3.3 平均绝对误差

平均绝对误差(Mean Absolute Error, MAE),反映预测值和真实值的误差,更接近于实际情况.
M A E = 1 n ∑ i = 1 n ∣ ( y r e a l − y p r e d i c t ) ∣ MAE=\frac{1}{n}\sum_{i=1}^{n}|(y_{real}-y_{predict})| MAE=n1i=1n(yrealypredict)
其中, n n n为数据集数据数量, y r e a l y_{real} yreal训练数据集即真实的数据集, y p r e d i c t y_{predict} ypredict模型预测数据集.

3.4 平均平方误差

平均平方误差(Mean Squared Error, MSE)即均方误差,评价数据的变化程度,MSE越小,说明预测模型描述实验数据的准确率越高, 表示:
M S E = 1 n ∑ i = 1 n ( y r e a l − y p r e d i c t ) 2 MSE=\frac{1}{n}\sum_{i=1}^{n}(y_{real}-y_{predict})^2 MSE=n1i=1n(yrealypredict)2
其中, n n n为数据集数据数量, y r e a l y_{real} yreal训练数据集即真实的数据集, y p r e d i c t y_{predict} ypredict模型预测数据集,神经网络中的梯度下降方法中优化的数据就是均方误差.

3.5 均方根误差

均方根误差(Root Mean Squared Error)是均方根误差的算数平方根, 应用广泛,但是,它使用平均误差,对异常点(outliers)较敏感,如果回归器对某个点的回归值不理性,误差就会很大,从而对RMSE的值影响较大,平均值是非鲁棒性的,在训练神经网络模型时,为提高神经网络的鲁棒性(Robust),引入滑动平均模型,控制模型跟新速度,提高模型健壮性.
R M S E = 1 n ∑ i = 1 n ( y r e a l − y p r e d i c t ) 2 RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_{real}-y_{predict})^2} RMSE=n1i=1n(yrealypredict)2
其中, n n n为数据集数据数量, y r e a l y_{real} yreal训练数据集即真实的数据集, y p r e d i c t y_{predict} ypredict模型预测数据集.

4 总结

(1) 模型评估分为分类模型和回归模型评估,评估指标分别针对模型训练结束和训练过程中;
(2) 分类模型评估是模型训练结束后的评估,主要指标是 F 1 F_1 F1分数和ROC曲线和AUC曲线;
(3) 回归模型评估是模型训练过程的评估,这个评估是在训练时使用的手段,如训练神经网络过程中,梯度下降使用的均方误差进行优化,使用滑动平均模型提高模型鲁棒性;
(4) 机器学习训练分类模型的过程是先回归,回归评估(优化),在分类,分类优化,最后评估分类模型;


[参考文献]
[1]https://blog.csdn.net/Orange_Spotty_Cat/article/details/80520839
[2]http://www.cnblogs.com/guoyunzhe/p/6063495.html
[3]https://blog.csdn.net/tanzuozhev/article/details/79109311
[4]http://m.elecfans.com/article/712572.html
[5]https://www.cnblogs.com/zongfa/p/9431807.html
[6]https://blog.csdn.net/qq_31821675/article/details/82025527
[7]https://www.cnblogs.com/zongfa/p/9783972.html


  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值