ROC与AUC

472d12a550d86215.jpg

很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值(threshold)进行比较,若大于阈值则分为正类,否则为反类.例如,神经网络在一般情形下是对每个测试样本预测出一个[0.0,1.0]之间的实值,然后将这个值与 0.5 进行比较,大于 0.5 则判为正例,否则为反例. 这个实值或概率预测结果的好坏, 直接决定了学习器的泛化能力。实际上,根据这个实值或概率预测结果,我们可将测试样本进行序,“最可能” 是正例的排在最前而,“最不可能” 是正例的排在最后面.这样,分类过程就相当于在这个排序中以某个 “截断点” 将样本分为两部分,前一部分判作正例,后一部分则判作反例.

不同的应用任务中,我们可根据任务需求采用不同的截断点,例如若我们更重视“查准率”,则可选择排序中靠前的位置进行截断;若更重视“查全率”,则可选择靠后的位置进行截断.因此,排序本身的质量好坏,体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏,或者说,“一般情况下” 泛化性能的好坏.ROC曲线则是从这个角度出发研究学习器泛化性能的有力工具。

ROC全称是“受试者工作特征”曲线,它源于“二战”中用于敌机检测的雷达信号分析技术,二十世纪六七十年代开始被用于一些心理学、医学检应用中,此后被引入机器学习领域。与P-R曲线相似,我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了"ROC曲线”。与P-R曲线使用查准率、查全率为纵、横轴不同,ROC曲线的纵轴是“真正例率”(True Positive Rate,简称TPR),横轴是“假正例率” (False Positive Rate,简称FPR).
\[ TPR = \frac{TP}{TP+FN} \tag{1} \]
\[ FPR = \frac{FP}{TN+FP} \tag{2} \]

显示ROC曲线的图称为“ROC图”。下图给出了一个示意图,显然,对角线对应于“随机猜测”模型,而点(0,1)则对应于将所有正例排在所有反例之前的“理想模型”。
e2e1c401804f9431.jpg
现实任务中通常是利用有限个试样例来绘制ROC图,此时仅能获得有限个(真正例率,假正例率)坐标对,无法产生光滑ROC曲线,只能绘制出如上图(b)所示的近似ROC曲线.

绘图过程很简单:给定 \(m^+\) 个正例和 \(m^-\) 个反例,根拥学习器预测结果对样例进行排序,然后把分类阈值设为最大,即把所有样例均预测为反例,此时真正例率和假正例率均为 \(0\),在坐标 \((0,0)\) 处标记一个点。然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例。设前一个标记点坐标为 \((x,y)\),当前若为真正例,则对应标记点的坐标为\((x,y+\frac{1}{m^+})\);当前若为假正例,则对应标记点的坐标为\((x+\frac{1}{m^-},y)\),然后用线段连接相邻点即得。

进行学习器的比较时,与P-R图相似,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC线发生交又,则难以一般性地断言两者孰优孰劣,此时如果一定要进行比较,则较为合理的判据是比较ROC曲线下的面积,即AUC(Area Under ROC Curve)。

从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得.假定ROC曲线是由坐标为 \(\{(x_1,y_1),(x_2,y_2),\dots,(x_m,y_m)\}\) 的点按序连接而形成 \(\left( x_1=0,x_m=1 \right)\),则AUC可估算为

\[ AUC = \frac{1}{2} \sum \limits_{i=1}^{m-1}(x_{i+1}-x_i)(y_i+y_{i+1}) \tag{3} \]

形式化地看,AUC考虑的是样本预测的排序质量,因此它与排序误差有紧密联系。给定 \(m^+\) 个正例 \(m^-\) 个反例,令 \(D^+\)\(D^-\) 分别表示正、反例集合,则排序 “损失” (loss)定义为
1754bd088b2faa99.jpg

即考虑每一对正、反例,若正例的预值小于反例,则记一个“罚分”;若相等,则记0.5个“罚分”。容易看出,\(\ell_{rank}\) 对应的是ROC曲线之上的面积:若一个正例在ROC线上对应标记点的坐标为 \((x,y)\), 则 \(x\) 恰是排序在其之前的反例所占的比例,即假正例率。达此有
\[ AUC=1-\ell_{rank} \]

转载于:https://www.cnblogs.com/cheneywilson/p/6802720.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值