2.机器学习复习笔记-各种评估指标
文章目录
- TP FP TN FN
- 准确率(Accuracy)
- 精确率(Precision)、召回率(Recall)、PR曲线。
- F1 Score
- RMSE
- ROC
- PR曲线和ROC曲线对比
- 余弦距离、欧氏距离、KL距离
- Reference
TP FP TN FN
准确率(Accuracy)
acc=numcorrectnumallacc = \frac{num_{correct}}{num_{all}} acc=numallnumcorrect
既正确的数量除以错误的数量。
准确率这个指标的短板在于训练数据是否偏斜。以二分类为例,当正样本数量占5%,而负样本数量占95%时,即使模型很拉胯,把所有的测试用例都预测为负的,仍然可以得到acc为95%。所以当样本偏斜较大时,只靠ACC单一指标时不准确的。
解决方案:使用平均准确率。计算每个类别下的准确率,再取平均数。
精确率(Precision)、召回率(Recall)、PR曲线。
Precision=分类正确的正样本数量机器判定为正的数量=TPTP+FPRecall=分类正确的正样本数真正的正样本数=TPTP+FNPrecision = \frac{分类正确的正样本数量}{机器判定为正的数量}=\frac{TP}{TP+FP} \\ \\ Recall = \frac{分类正确的正样本数}{真正的正样本数} = \frac{TP}{TP+FN} Precision=机器判定为正的数量分类正确的正样本数量=TP+FPTPRecall=真正的正样本数分类正确的正样本数=TP+FNTP
再信息检索领域,精确率又叫查全率,召回率又叫查准率。
以排序检索为例:假设排序的前N个我们判定为正,即TOP N。
假设有100个搜索结果是相关的,即真正的正样本数=100。假设模型排序时可以把这100的都排到前面。
我们以前TOP N = 5为正,Precision = 5/5 = 100%。而Recall = 5/100 = 5%
我们要提升Recall,就需要把N = 200时, 即前TOP200认为是正的,那么Precision = 100/200 = 50%。 而Recall = 100/100 = 100%
可见单凭Precision或者Recall是不能正确评估一个排序模型的性能的。需要综合来看。
可以绘制P-R曲线,即精确率-召回率曲线。单凭某个点的Precision Recall值也不能正确描述模型的性能,需要看PR曲线的整体走势。
纵轴为P,横轴为R,N取从高到低分别绘制曲线。
图片来自《百面机器学习》24页。
其他综合指标:F1 score ROC曲线。
F1 Score
F1 score是精确率和召回率的调和平均值:
F1=2×Precision×RecallPrecision+RecallF1 = \frac{2\times Precision \times Recall}{Precision+Recall} F1=Precision+Recall2×Precision×Recall
一般可以综合的反应一个排序模型的性能。
RMSE
RMSE=∑i=1n(yi−y^i)2nRMSE = \frac {\sum_{i=1}^n (y_i -\hat y_i )^2}{n} RMSE=n∑i=1n(yi−y^i)2
均方误差的缺陷也很明显,如果有个别的离群点,即使模型拟合的效果很好,RMSE仍然可能居高不下。
解决方法:
如果认为这些点是噪声,就除掉这些离群点。
如果认为他们不是噪声,就需要提升模型的表达能力。
使用更合适的指标,如平均绝对百分比误差(Mean Absolute Percent Error, MAPE),相当于把目标均一化了。
MAPE=∑i=1n∣yi−y^iyi∣×100nMAPE = \sum_{i=1}^n |\frac{y_i-\hat y_i}{y_i }|\times \frac{100}{n} MAPE=i=1∑n∣yiyi−y^i∣×n100
ROC
ROC和PR曲线功能一样,可以综合评定一个模型的效果。
ROC曲线的
纵坐标为:真阳性率TPR(True Positive Rate)
横坐标为:假阳性率FPR(False Positive Rate)
TPR=TPPFPR=FPNTPR = \frac{TP}{P} \\ FPR= \frac{FP}{N} TPR=PTPFPR=NFP
TPR为:模型判定正确的(真阳)/正样本的数量
FPR为:模型判定为负样本实际是正样本(假阳)/负样本的数量
对于二分类问题,模型一般输出为正样本的概率。那么存在一个阈值,超过这个阈值我们就认为它是正的。再绘制ROC曲线的时候,就通过从高到低调整这个阈值来实现。
图片来源《百面机器学习》P29
阈值较好的点就是真阳性率高且假阳性率低的点。这其实一个很难两全的事。
AUC就是ROC曲线下半部分的面积。越大(曲线越接近左上方)说明模型的分类性能越好。
PR曲线和ROC曲线对比
正负样本的分布发生变化,ROC能基本保持不变,PR曲线形状变化一般比较剧烈。
余弦距离、欧氏距离、KL距离
最常用的距离衡量方法就是欧氏距离,即两点的差平方后求和。
余弦相似度:取值范围是[-1, 1]。相同为1
cos(A,B)=A⋅B∣∣A∣∣2∣∣B∣∣2cos(A,B) = \frac{A \cdot B}{||A||_2 ||B||_2 } cos(A,B)=∣∣A∣∣2∣∣B∣∣2A⋅B
∣∣⋅∣∣2||\cdot||_2∣∣⋅∣∣2是二阶范数。即平方加和再开方,求的是AB的模长。
余弦距离:取值范围是[0,2],相同为0
1−cos(A,B)1-cos(A,B) 1−cos(A,B)
使用区别
如果特征向量的模长是经过归一化的,欧氏距离与余弦距离有着单调的关系。
欧氏距离体现再数据值上的差异,余弦距离体现在角度上的偏差。
例如:对于视频偏好:(0,1) (1,0) 的欧氏距离只有很小,余弦距离很大。我们更关注相对的差异,选择余弦距离。
对于登录次数(10,100)(1,10)用户的余弦距离很近,但是实际上他们的活动频率完全不同。应该选择欧氏距离。
三条距离公理:正定性(不为负)、对称性、三角不等式。余弦距离不满足三角不等式,不能认为是严格的定义。
KL(Kullback-Leibler Divergence),也叫相对熵。可以衡量两个分布之间的差异。再RL的TRPO算法和GAN的推到都有用到。不满足对称性和三角不等式。
Reference
[1]. 诸葛越, 葫芦娃等. 百面机器学习[M]. 人民邮电出版社, 2018
2.机器学习复习笔记-各种评估指标相关推荐
- 哈工大机器学习复习笔记(一)
本篇文章是在参考西瓜书.PPT课件.网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助.这篇笔记只是复习的一个参考,大家一定要结合书本.PPT来进行复习,有些公式 ...
- ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失、L1损失、L2损失、Logistic损失)求梯度/求导、案例应用之详细攻略
ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失.L1损失.L2损失.Logistic损失)求梯度/求导.案例应用之详细攻略 目录 常见损失函数求梯度案例 1.线性回归求梯度 2.L ...
- ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略
ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介.使用方法.代码实现.案例应用之详细攻略 目录 回归预测问题中评价指标简介 RMSE 标准差SD MSE函数
- ML之ME/LF:机器学习中的模型评估指标/损失函数(连续型/离散型)的简介、损失函数/代价函数/目标函数之间区别、案例应用之详细攻略
ML之ME/LF:机器学习中的模型评估指标/损失函数(连续型/离散型)的简介.损失函数/代价函数/目标函数之间区别.案例应用之详细攻略 目录 损失函数的简介 损失函数/代价函数/目标函数之间区别 损失 ...
- 哈工大机器学习复习笔记(四)
本篇文章是在参考西瓜书.PPT课件.网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助.这篇笔记只是复习的一个参考,大家一定要结合书本.PPT来进行复习,有些公式 ...
- 机器学习基础专题:评估指标
评估指标 线下使用机器学习评估指标,线上使用的是业务指标.需要进行多轮模型迭代使两个指标变化趋势相同. 分类指标 精确率和召回率 用于二分类问题,结合混淆矩阵. 精确率 P = TPTP+FP\fra ...
- [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC
一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...
- 笔记︱统计评估指标AUC 详解
文章目录 1 AUC的两种解读视角: 1.1 ROC曲线与坐标轴形成面积 1.2 古典概率模型--求导AUC 2 AUC的特性与优劣 3 AUC多大才算好? 4 线上.线下AUC差异较大成因分析 4. ...
- 机器学习笔记之——模型评估与改进之评估指标与评分
评估指标与评分 到目前为止,我们使用精度(正确分类的样本所占的比例)来评估分类性能,使用 R2 来评估回归性能.但是,总结监督模型在给定数据集上的表现有多种方法,这两个指标只是其中两种.在实践中,这些 ...
最新文章
- c++ 开方_刷屏时尚圈!The Story Shoulder稳坐风尚C位的背后究竟有什么奇妙魔力?...
- python处理csv文件缺失值_python处理数据中缺失值
- SolrJ添加商品数据
- python(matplotlib4)——Scatter 散点图,Bar柱状图(方向:向上,向下),柱状图添加注释
- java求s a aa aaa_Java求s=a+aa+aaa+aaaa+aa...a的值
- 【机器视觉】 dev_set_colored算子
- SAP CRM,C4C和Hybris的页面技术明细信息查看
- Oracle终于安装完成了,开始DBA学习之路
- 【原】无脑操作:ElasticSearch学习笔记(01)
- mysql backup restore_mysql-backup-restore
- windows 下 YII2 配置 memcache
- 第一章、天天生鲜项目框架搭建
- 新能源行业SCM供应链管理平台构建一站式新能源供应链交易闭环
- 《Python程序设计实验指导书》81个实验项目选做参考
- 【HAVENT原创】superagentCallback*** is not defined
- 我的生信自学心得分享
- 〖Python零基础入门篇㉟〗- 私有函数、私有变量及封装
- 量子笔记:单比特量子门、泡利矩阵
- spss分析 sus量表高低分组
- 网上药店需要戴上“紧箍咒”