机器学习的评价指标

个人觉得机器学习算法的好坏主要由4个因素决定:

  • 模型精度
  • 判别速度
  • 模型占用资源情况
  • 模型训练速度

后面三个的情况的好坏都比较直观(判别速度就是模型的吞吐量,每秒可以处理多少条数据;模型占用资源就是模型需要占用多少内存;训练速度就是模型训练需要花费多长时间),而精度的评价指标却比较多,而且评价指标在一定程度上相当于损失函数,模型优化的对象。现在就来总结一下常见的模型精度的评价指标。

回归问题

回归问题常见的评价指标有:

RMSE(Root Mean Square Error)

Ermse=Ni=1(y^iyi)2N E r m s e = ∑ i = 1 N ( y ^ i − y i ) 2 N

MSE (Mean Square Error)

Emse=Ni=1(y^iyi)2N E m s e = ∑ i = 1 N ( y ^ i − y i ) 2 N

前面两个由于误差是平房形式的,所以对某一两个异常值特别敏感,一两个异常值会使得整个模型有所偏斜。但是他们的好处是方便求导,符合高斯分布的假设,用的是最多的。

MAE(mean absolute error)

Emae=Ni=1|y^iyi|N E m a e = ∑ i = 1 N | y ^ i − y i | N

MAPE(mean absolute percentage error)

Emape=1Ni=1N|y^iyi||yi| E m a p e = 1 N ∑ i = 1 N | y ^ i − y i | | y i |

改进的MAPE

Emape=2Ni=1N|y^iyi||yi|+|y^i| E m a p e = 2 N ∑ i = 1 N | y ^ i − y i | | y i | + | y ^ i |

避免了 yi y i 为0的情况,但会比“直观感受”偏小一点。MAPE相当于相对误差,MAE和MSE相当于绝对误差。

拟合优度(Goodness of Fit)

GoF=1Ni=1(yiy^i)2Ni=1(yiy¯i)2 G o F = 1 − ∑ i = 1 N ( y i − y ^ i ) 2 ∑ i = 1 N ( y i − y ¯ i ) 2

这个是越大越好。

分类问题

分类问题的评价指标比回归要丰富的多,因为分类的场景不同,需要的评价指标也不同。分类问题对错最基础的概念就是混淆矩阵:

混淆矩阵真实值为真真实值为假
预测值为真TPFP
预测值为假TNFN

confuse matrix

同理可以推广到多分类问题上,各种评价指标都是依赖于这个矩阵产生的。

准确率(Accuracy)

acc=TP+TNTP+FP+TN+FN= a c c = T P + T N T P + F P + T N + F N = 预 测 结 果 正 确 的 样 本 数 样 本 总 数

精确率(Precision)

P=TPTP+FP P = T P T P + F P

感觉他另一个名字“查准率”更能体现这个指标的意思,当不要误判成为很关键的因素的时候,就需要重点看这个指标了。用通俗的话解释他就是A类别的精确率等于预测为A且正确的样本数除以预测为A的样本总数。

召回率(Recall)

R=TPTP+FN R = T P T P + F N

另外一个名字“查全率”更容易理解。当不要漏判成为很关键的因素的时候,就需要重点看这个指标了。用通俗的话解释他就是A类别的精确率等于预测为A且正确的样本数除以A的样本总数。

F1 score

f1=2PRP+R f 1 = 2 ⋅ P ⋅ R P + R

Fα F α score

fα=(1+α2)PRα2P+R f α = ( 1 + α 2 ) ⋅ P ⋅ R α 2 P + R

F系列的指标是精确率、召回率的调和平均,体现了对精确率和召回率的权衡,加入 α α 相当于一个对精确率召回率的偏好。

Gini系数

Gini=1ip2i G i n i = 1 − ∑ i p i 2

mean(Gini)=1Nk=1KnkGinik m e a n ( G i n i ) = 1 N ∑ k = 1 K n k G i n i k

Gini系数相当于纯度, pi p i 是集合中数据为 i i 类的概率

交叉熵

loss=iyilny^i

交叉熵也是从概率的角度来确定损失函数的,直观

准确率、 Gini系数、交叉熵的各个类别类是平权的,精确率更在意的预测为真的不要预测错了,召回率更在意的是本来是真的不要预测错了。 f1 f 1 fα f α 是精确率和召回率的权衡。

等错误率(EER, Equal Error Rate)

FA(False Acceptance)错误接受率: FA=FPTP+FP=1P F A = F P T P + F P = 1 − P
FR(False Rejection)错误拒绝率: FR=FNTN+FN F R = F N T N + F N
等错误率(EER, Equal Error Rate): 当 FA=FR F A = F R 时, EER=FA=FR E E R = F A = F R

ROC曲线与AUC值

纵轴为真阳性率(TPR),即,灵敏度、命中率、召回,定义为 TPR=TPTP+FN T P R = T P T P + F N
横轴假阳性率(FPR),即,误检率,定义为 FPR=FPFP+TN F P R = F P F P + T N
如果ROC是光滑的,那么基本可以判断没有太大的overfitting。
ROC曲线下方的面积为AUC值。
ROC

PRC曲线与mAP

PRC(precision recall curve):如果只能选一个指标的话,肯定是选PRC了。可以把一个模型看的一清二楚。在正负样本分布得极不均匀(highly skewed datasets)的情况下,PRC比ROC能更有效地反应分类器的好坏。mAP值是PRC的面积。
PRC

检验分布的评价指标

卡方分布:n个独立同分布的随机变量,都服从标准正态分布,那么平方和服从的分布就是自由度为n的卡方分布。

卡方检验

卡方检验是用来检验一个分布是否满足一个已知的分布。具体计算公式是

χ2=i=1Kfinpinpi χ 2 = ∑ i = 1 K f i − n p i n p i

fi f i 是落在某一区间的实验频次, npi n p i 为理论值,他应该服从自由度为 K1 K − 1 的卡方分布,查表判断是否拒绝设定的分布假设。

K-S检验

K-S检验时判断两个分布是否同为相同分布。计算需要做比较的两组观察数据的累积分布函数,然后求这两个累积分布函数的差的绝对值中的最大值D。最后通过查表以确定D值是否落在所要求对应的置信区间内。
这里写图片描述

t检验

t分布:n个标准正态分布的均值的分布
t检验:比较两个平均数的差异是否显著,主要用于样本含量较小(例如n<30),总体标准差 σ σ 未知的正态分布。

  • 步骤1.计算统计量
    • 单总体t检验: t=x¯μs/n t = x ¯ − μ s / n , s=ni=1(xix¯)n1 s = ∑ i = 1 n ( x i − x ¯ ) n − 1
    • 双总体t检验: t=x¯1x¯2(n11)s21+(n21)s22n1+n22(1n1+1n2) t = x ¯ 1 − x ¯ 2 ( n 1 − 1 ) s 1 2 + ( n 2 − 1 ) s 2 2 n 1 + n 2 − 2 ( 1 n 1 + 1 n 2 ) , s=ni=1(xix¯)n1 s = ∑ i = 1 n ( x i − x ¯ ) n − 1
    • 配对样本t检验:若二群配对样本满足 xi=y1iy2i x i = y 1 i − y 2 i t=x¯μs/n t = x ¯ − μ s / n , s=ni=1(xix¯)n1 s = ∑ i = 1 n ( x i − x ¯ ) n − 1 , μ μ 为本身配对的常数差距。
  • 步骤2.满足n-1的t分布,查表判断是否拒绝

F检验

两个分布的方差的比满足f分布,查表判断两组数据的方差没有显著差异

Ad-Fuller test(augmented Dickey–Fuller test (ADF) tests)

检验过程是否平稳。 yt+1=ρyt+utΔyt=δyt+ut y t + 1 = ρ y t + u t ⇒ Δ y t = δ y t + u t ,回归之后查表看 δ δ 是否满足平稳。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值