机器学习基础专题:评估指标
评估指标
线下使用机器学习评估指标,线上使用的是业务指标。需要进行多轮模型迭代使两个指标变化趋势相同。
分类指标
精确率和召回率
用于二分类问题,结合混淆矩阵。
精确率 P = TPTP+FP\frac{TP}{TP+FP}TP+FPTP
召回率 R = TPTP+FN\frac{TP}{TP+FN}TP+FNTP
精确率:也称作查准率。在被识别为正类别的样本中,确实是正类别的比例。
召回率:也成为查全率。在所有正类别样本中,被正确识别为正类别的比例
以召回率R为横轴,以精确率P为纵轴画P-R曲线,越靠近右上角性能越好。曲线下的面积为AP分数(Average Precision Score) 。
如果一个PR曲线完全包含另一个,则前者性能更优。如果两个曲线发生交叉,则比较平衡点,远离原点的更好。
F值
2F1=1P+1R\frac{2}{F_1} = \frac{1}{P} + \frac{1}{R}F12=P1+R1
可泛化成为Fα=(1+α2)∗P∗Rα2∗P+RF_\alpha = \frac{(1+\alpha^2)*P*R}{\alpha^2*P+R}Fα=α2∗P+R(1+α2)∗P∗R
在不同的情况下,对精准率和召回率的偏重是不一样的,如在推荐系统中,为了尽可能少打扰用户,更希望推荐的内容是用户喜欢的,这时,精准率比较重要;而在逃犯检索系统中,更希望尽可能少漏掉逃犯,此时召回率比较重要。
当参数α\alphaα>1时,召回率有更大影响,可以考虑为,α\alphaα无穷大时,分母中的R和分子中的1都可忽略不计,则F=R,只有召回率起作用。
准确率和错误率
不要将精确率和准确率搞混。准确率是模型预测正确的结果所占的比例。
而且精确率仅仅适用于二分类概念。
ROC
接受者操作特征 Receiver Operating Characteristic (ROC)
解决了使用精确率等指标进行模型评估时,需要对预测概率设分类阈值,增添超参数,的问题。
真正率 TPR = TPTP+FN\frac{TP}{TP+FN}TP+FNTP
假正率 FPR = FPFP+TN\frac{FP}{FP+TN}FP+TNFP
以假正率为x轴,以真正率为y轴,ROC曲线越靠近左上角越好。此时TPR=1,FPR=0。在采用有限测试样例绘制ROC图时,无法画出光滑曲线。过程:给定m1m_1m1个正例和m2m_2m2个反例,根据预测结果对样例进行排序,把分类阈值设为最大,即把所有样例均预测成为反例,此时TPR=FPR=0,在(0,0)处标记一个点。然后,将分类阈值依次设为每个样例的预测值,依次将每个样例划分为正例。设前一个标记点坐标为(x,y)(x,y)(x,y),当前若为真正例,则对应标记点坐标为(x,y+1m1)(x,y+\frac{1}{m_1})(x,y+m11),否则对应标记点坐标为(x+1m2,y)(x+\frac{1}{m_2},y)(x+m21,y)。用线段连接相邻点。
相较于PR曲线,ROC曲线在正负样本的分布发生变化时更容易保持稳定。
AUC
Area Under ROC Curve (AUC)是指ROC曲线下的面积。取值越大,说明模型越可能将正样本放在负样本前面。AUC计算主要与排序有关,对预测分数没那么敏感。
lrank=1m1+m2∑x+∑x−I(f(x+)<f(x−)+0.5I(f(x+)=f(x−)))l_{rank} = \frac{1}{m_1+m_2} \sum_{x^+}\sum_{x^-} I(f(x^+)<f(x^-) + 0.5I(f(x^+) = f(x^-)))lrank=m1+m21∑x+∑x−I(f(x+)<f(x−)+0.5I(f(x+)=f(x−)))
AUC=1−lrankAUC = 1-l_{rank}AUC=1−lrank
在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,而代价曲线可以。横轴是取值为[0,1]的正例概率代价,纵轴是取值为[0,1]的归一化代价。
cost01,cost10cost_{01}, cost_{10}cost01,cost10 分别代表type one error和type two error。
P(+)cost=p∗cost01p∗cost01+(1−p)∗cost10P(+)cost = \frac{p*cost_{01}}{p*cost_{01} + (1-p)*cost_{10}}P(+)cost=p∗cost01+(1−p)∗cost10p∗cost01
costnorm=FNR∗p∗cost01+FPR∗(1−p)∗cost10p∗cost01+(1−p)∗cost10cost_{norm} = \frac{FNR*p*cost_{01} + FPR*(1-p)*cost_{10}}{p*cost_{01} + (1-p)*cost_{10}}costnorm=p∗cost01+(1−p)∗cost10FNR∗p∗cost01+FPR∗(1−p)∗cost10
对数损失
logistic loss = −logP(Y∣X)-logP(Y|X)−logP(Y∣X) = −1NC∑i=0N∑j=0Cyij∗logpij-\frac{1}{NC}\sum_{i=0}^N\sum_{j=0}^C{y_{ij}*logp_{ij}}−NC1∑i=0N∑j=0Cyij∗logpij
衡量预测概率分布和真实概率分布的差异性。取值越小越好。对预测概率敏感。
回归指标
平均绝对误差
平均绝对误差Mean Absolute Error,也称为L1范数损失。
MAE = 1N∑i=0N∣yi−pi∣\frac{1}{N}\sum_{i=0}^N{|y_i-p_i|}N1∑i=0N∣yi−pi∣
对数据分布的中值进行拟合。
缺点:
- 有些模型(如XGBoost)必须要求损失函数有二阶导,不能直接优化MAE。
加权平均绝对误差Weighted Mean Absolute Error是其变种。比如可以考虑时间因素。
WMAE = 1N∑i=0Nwi∣yi−pi∣\frac{1}{N}\sum_{i=0}^N{w_i|y_i-p_i|}N1∑i=0Nwi∣yi−pi∣
平均绝对百分误差
MAPE = 100N∑i=0N∣yi−pi∣yi\frac{100}{N}\sum_{i=0}^N{\frac{|y_i-p_i|}{y_i}}N100∑i=0Nyi∣yi−pi∣,要求yi≠0y_i\neq0yi=0
优点:
- 其计算与量纲无关,易于比较。
缺点:
- 对负值误差的惩罚大于正值误差(因为分母y小了)。
- 在yiy_iyi = 0处无定义,或者太小的时候导致MAPE过大
均方根误差
对数据分布的平均值进行拟合。
RMSE = 1N∑i=0N(yi−pi)2\sqrt{\frac{1}{N}\sum_{i=0}^N{(y_i-p_i)^2}}N1∑i=0N(yi−pi)2
缺点:
- 对大误差样本有更大惩罚。有可能模型在95%的情况下都有较好的预测结果,但是剩下的情况导致模型的RMSE一直居高不下。
- 对离群点敏感,健壮性不如MAE。
均方根对数误差
Root Mean Squared Logarithmic Error (RMSLE)
RMSLE = 1N∑i=0N(log(yi+1)−log(pi+1))2\sqrt{\frac{1}{N}\sum_{i=0}^N{(log(y_i+1)-log(p_i+1))^2}}N1∑i=0N(log(yi+1)−log(pi+1))2
缺点:
对预测值偏小的样本惩罚比对预测值偏大的样本惩罚更大。
有可能无法直接优化RMSLE,但是若可以优化RMSE,可以先对预测目标进行对数变换ynew=log(y+1)y_{new}=log(y+1)ynew=log(y+1)。
排序指标
// TODO
平均准确率均值
Mean Average Precision (MAP)
公式分两部分计算
AP@K =
归一化贴现累计收益
Normalized Discounted Cumulative Gain (NDCG)
比较检验
假设检验
我们不知道学习器泛化错误率,只能知道测试错误率。设泛化错误率是ϵ\epsilonϵ,测试错误率是ϵ^\hat\epsilonϵ^, 测试样本为m,其中有e个样本被误分类。则该学习器被测出来测试错误率为ϵ^\hat\epsilonϵ^的概率是P(ϵ^;ϵ)=C(m,ϵ^∗m)ϵϵ^∗m(1−ϵ)m−ϵ^P(\hat\epsilon;\epsilon)=C(m, \hat\epsilon*m)\epsilon^{\hat\epsilon*m}(1-\epsilon)^{m-\hat\epsilon}P(ϵ^;ϵ)=C(m,ϵ^∗m)ϵϵ^∗m(1−ϵ)m−ϵ^.
交叉验证t test
可采用5*2交叉验证:做5次2折交叉验证。每次2折交叉验证之前随即将数据打乱。
t=μ0.2∑i=15σi2t = \frac{\mu}{\sqrt{0.2\sum_{i=1}^5\sigma_i^2}}t=0.2∑i=15σi2μ
McNemar检验
若我们假设两学习器性能相同,应该有e01e_{01}e01 = e10e_{10}e10(下标分别表示两个学习器分类是否正确的情况). 变量|e01e_{01}e01-e10e_{10}e10|应当服从正态分布,均值为1,方差为e01e_{01}e01+e10e_{10}e10。称作卡方分布。
Friedman检验与Nemenyi后续检验
在一组数据集上比较多组算法。
距离
余弦距离
在文本、图像等领域,研究的对象特征维度很高,余弦相似度应用较广。欧氏距离的数值受到维度影响较大,范围不固定,含义比较模糊。
Reference
- 《美团机器学习实践》by美团算法团队,第一章
- 《机器学习》by周志华,第二章
- 《百面机器学习:算法工程师带你去》by葫芦娃,第二章
机器学习基础专题:评估指标相关推荐
- 机器学习中的评估指标与损失函数
1. 写在前面 在准备找工作面试时, 发现机器学习中的评估指标和损失函数是一个经常要问题的话题, 对于一个算法工程师,衡量模型的好坏以及怎么根据出现的问题进行调整是必备的技能,损失函数代表着模型的优化 ...
- 评估指标_机器学习评估方法与评估指标总结
离线评估方法 离线评估的基本原理是在离线环境中,将数据集划分为"训练集"和"测试集",用"训练集"训练模型,用"测试集" ...
- 机器学习框架及评估指标详解
目录 机器学习的步骤 train_test_split函数的详解 机器学习评估指标 分类模型评估指标
- 【机器学习】--模型评估指标之混淆矩阵,ROC曲线和AUC面积
一.前述 怎么样对训练出来的模型进行评估是有一定指标的,本文就相关指标做一个总结. 二.具体 1.混淆矩阵 混淆矩阵如图: 第一个参数true,false是指预测的正确性. 第二个参数true,p ...
- 机器学习基础专题:特征工程
特征工程 特征提取 将原始数据转化为实向量之后,为了让模型更好地学习规律,对特征做进一步的变换.首先,要理解业务数据和业务逻辑. 其次,要理解模型和算法,清楚模型需要什么样的输入才能有精确的结果. 探 ...
- 机器学习基础专题:样本选择
样本选择 选择最少量的训练集S⊂\sub⊂完整训练集T,模型效果不会变差. 优势: 缩减模型计算时间 相关性太低的数据对解决问题没有帮助,直接剔除 去除噪声 数据去噪 噪声数据 特征值不对(缺失.超出 ...
- 机器学习基础专题:高斯混合模型和最大期望EM算法以及代码实现
高斯混合模型 混合模型是潜变量模型的一种,是最常见的形式之一.而高斯混合模型(Gaussian Mixture Models, GMM)是混合模型中最常见的一种.zzz代表该数据点是由某一个高斯分布产 ...
- 机器学习基础专题:逻辑回归
逻辑回归 广义线性模型. 原理 输入 训练集数据T=(x1,y1)...(xM,yM)T = {(x_1,y_1) ... (x_M,y_M)}T=(x1,y1)...(xM,yM),xi∈X ...
- 机器学习基础专题:感知机
感知机 原理 思想是错误驱动.一开始赋予w一个初始值,通过计算被错误分类的样本不断移动分类边界. 输入 训练集数据D=(x1,y1)...(xM,yM)D = {(x_1,y_1) ... (x_M, ...
最新文章
- linux3.0 nand分区,OK6410(256MRAM2Gnandflash) Linux3.0.1内核移植
- MongoDB 空指针引用拒绝服务漏洞
- 华南师范大学计算机学院广东录取,华南师范大学2020年广东省各批次分专业录取分数统计(含位次)...
- php mysql上传多张图片_PHP实现一次性多张图片上传功能
- kafka manager 2.0 工具下载 已打包完成
- java注解 @SuppressWarnings注解用法
- 函数加正则实现简单计算器
- QA:阿里云K8s启动容器后无法访问网络
- 畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现
- mysql 字段 符号_mysql数据库字段带符号的问题
- VBS写出有趣的整人代码
- xsmax无法进入dfu模式_iPhoneXS/XSMax如何强制重启?如何进入恢复模式或DFU模式?...
- 可能是全网唯一Elastic/Kibana认证考试报名还有优惠的地方
- HTML网页上播放AVI视频代码示例
- regulator框架
- linux小记 查看dd进度,linux小记:查看dd进度
- 有关与windows的一些资料以及链接(一)
- iphone相册储存空间已满_苹果iPhone手机存储空间满了怎么办以及解决方法
- 度阴山先生的《知行合一王阳明》有感
- 复现东方证券研报--特质波动率因子研究