2.机器学习复习笔记-各种评估指标

TP FP TN FN

在这里插入图片描述

准确率(Accuracy)

a c c = n u m c o r r e c t n u m a l l acc = \frac{num_{correct}}{num_{all}} acc=numallnumcorrect

既正确的数量除以错误的数量。

准确率这个指标的短板在于训练数据是否偏斜。以二分类为例,当正样本数量占5%,而负样本数量占95%时,即使模型很拉胯,把所有的测试用例都预测为负的,仍然可以得到acc为95%。所以当样本偏斜较大时,只靠ACC单一指标时不准确的。

解决方案:使用平均准确率。计算每个类别下的准确率,再取平均数。

精确率(Precision)、召回率(Recall)、PR曲线。

P r e c i s i o n = 分 类 正 确 的 正 样 本 数 量 机 器 判 定 为 正 的 数 量 = T P T P + F P R e c a l l = 分 类 正 确 的 正 样 本 数 真 正 的 正 样 本 数 = T P T P + F N Precision = \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是精确率和召回率的调和平均值:
F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1 = \frac{2\times Precision \times Recall}{Precision+Recall} F1=Precision+Recall2×Precision×Recall
一般可以综合的反应一个排序模型的性能。

RMSE

R M S E = ∑ i = 1 n ( y i − y ^ i ) 2 n RMSE = \frac {\sum_{i=1}^n (y_i -\hat y_i )^2}{n} RMSE=ni=1n(yiy^i)2

均方误差的缺陷也很明显,如果有个别的离群点,即使模型拟合的效果很好,RMSE仍然可能居高不下。

解决方法:

  • 如果认为这些点是噪声,就除掉这些离群点。

  • 如果认为他们不是噪声,就需要提升模型的表达能力。

  • 使用更合适的指标,如平均绝对百分比误差(Mean Absolute Percent Error, MAPE),相当于把目标均一化了。
    M A P E = ∑ i = 1 n ∣ y i − y ^ i y i ∣ × 100 n MAPE = \sum_{i=1}^n |\frac{y_i-\hat y_i}{y_i }|\times \frac{100}{n} MAPE=i=1nyiyiy^i×n100

ROC

ROC和PR曲线功能一样,可以综合评定一个模型的效果。

ROC曲线的

  • 纵坐标为:真阳性率TPR(True Positive Rate)

  • 横坐标为:假阳性率FPR(False Positive Rate)

T P R = T P P F P R = F P N TPR = \frac{TP}{P} \\ FPR= \frac{FP}{N} TPR=PTPFPR=NFP

TPR为:模型判定正确的(真阳)/正样本的数量

FPR为:模型判定为负样本实际是正样本(假阳)/负样本的数量

对于二分类问题,模型一般输出为正样本的概率。那么存在一个阈值,超过这个阈值我们就认为它是正的。再绘制ROC曲线的时候,就通过从高到低调整这个阈值来实现。

在这里插入图片描述

图片来源《百面机器学习》P29

阈值较好的点就是真阳性率高且假阳性率低的点。这其实一个很难两全的事。

AUC就是ROC曲线下半部分的面积。越大(曲线越接近左上方)说明模型的分类性能越好。

PR曲线和ROC曲线对比

正负样本的分布发生变化,ROC能基本保持不变,PR曲线形状变化一般比较剧烈。

余弦距离、欧氏距离、KL距离

最常用的距离衡量方法就是欧氏距离,即两点的差平方后求和。

余弦相似度:取值范围是[-1, 1]。相同为1
c o s ( A , B ) = A ⋅ B ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 cos(A,B) = \frac{A \cdot B}{||A||_2 ||B||_2 } cos(A,B)=A2B2AB

∣ ∣ ⋅ ∣ ∣ 2 ||\cdot||_2 2是二阶范数。即平方加和再开方,求的是AB的模长。

余弦距离:取值范围是[0,2],相同为0
1 − c o s ( A , B ) 1-cos(A,B) 1cos(A,B)

使用区别

如果特征向量的模长是经过归一化的,欧氏距离与余弦距离有着单调的关系。

欧氏距离体现再数据值上的差异,余弦距离体现在角度上的偏差。

例如:对于视频偏好:(0,1) (1,0) 的欧氏距离只有很小,余弦距离很大。我们更关注相对的差异,选择余弦距离。

对于登录次数(10,100)(1,10)用户的余弦距离很近,但是实际上他们的活动频率完全不同。应该选择欧氏距离。

三条距离公理:正定性(不为负)、对称性、三角不等式。余弦距离不满足三角不等式,不能认为是严格的定义。

KL(Kullback-Leibler Divergence),也叫相对熵。可以衡量两个分布之间的差异。再RL的TRPO算法和GAN的推到都有用到。不满足对称性和三角不等式。

Reference

[1]. 诸葛越, 葫芦娃等. 百面机器学习[M]. 人民邮电出版社, 2018

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值