【转】代价曲线的理解
主要参考:
机器学习(周志华)第2.3.4节中,代价曲线的理解? - xf3227的回答 - 知乎
https://www.zhihu.com/question/63492375/answer/247885093
模型评估与选择(后篇)-代价曲线
文章目录
- 基本概念定义:
- 代价直线(未归一化):
- 代价直线(归一化)
- 代价曲线
基本概念定义:
注意这里的类别定义有所不同,将第0类作为正类,第1类作为反类。因此cost01cost_{01}cost01代表的是以假为真的代价,cost10cost_{10}cost10是以真为假的代价。令D+D^+D+与D−D^-D−分别代表样例集D的正例子集和反例子集。
横轴是正例概率代价P(+)∗costP(+)*costP(+)∗cost,纵轴是归一化代价 costnormcost_{norm}costnorm。
代价直线(未归一化):
横轴是p(+)p(+)p(+),纵轴是期望代价EcostE_{cost}Ecost.其中,ppp(即p(+)p(+)p(+))是样例为正例的概率;FNR是假反例率;FPR是假正例率。
令cost10cost_{10}cost10=C(+|−)表示实际为反例但预测成正例的代价
令cost01cost_{01}cost01=C(−|+)表示实际为正例但是预测为反例的代价
若令C(+|−)=C(−|+)=1,此时期望代价就是错误率。此时,代价曲线的x轴表示p(+)p(+)p(+),y轴表示错误率。当x=0时,意味着测试集中全是反例,此时一个分类器在此测试集上的整体错误率等于把正例预测为反例的概率,也就是FNR。当x=1时,意味着测试集中全是正例,此时一个分类器在此测试集上的整体错误率等于把反例预测为正例的概率,也就是FPR。这样ROC空间中的一个分类器对应的点,到代价空间中成了一条线段。就是以这两个A(0,FNR), B(1,FNR)为端点的直线,表达式是pA+(1−p)BpA+(1-p)BpA+(1−p)B
一个例子如下:从左图的代价曲线图可以很容易地看出在什么条件下C4.5分类器更好,在什么条件下1R分类器更好。在交点的左侧,就是C4.5好,右侧则1R好
代价直线(归一化)
C(+|−)≠C(−|+) 的情况下
一个分类器的期望代价则是:
其中p(+)+p(−)=1p(+)+p(-)=1p(+)+p(−)=1,分别表示正类,负类的先验概率,可以理解为empirical的分布
最大期望代价在所有实例都被错误分类(即所有正类都被判别为负,所有负类都被判别为正类,此时FNR=1,FPR=1)的情况下出现,有
用(2)对公式(1)归一化,使最大期望代价为1:
x轴也需要包含误分类代价的信息,直接为p(+)∗C(−∣+)p(+)∗C(−∣+)p(+)∗C(−∣+),并归一化到[0,1]范围:
还可以定义:
有(2)(3)得到:
现在以PC(+)PC(+)PC(+)作为x轴,以Norm(E[Cost])Norm(E[Cost])Norm(E[Cost])作为y轴,得到代价敏感下的代价空间。按照公式(6)得到的一条直线就是一个分类器对应的代价曲线。
对比未归一化的,主要就是系数p变了。由p变为了PC(+)PC(+)PC(+)。(易得PC(−)=1−PC(+)PC(−)=1−PC(+)PC(−)=1−PC(+),故可得此)
至此,则可以得到西瓜书中的代价曲线的定义(也即基本概念中所示)
代价曲线
由前所述可知,ROC曲线中的每一点(FPR, TPR),分别都对应一个决策阈值。而这又可以对应一条代价直线
如果我们有两个决策阈值η1,η2\eta_1, \eta_2η1,η2 ,分别对应图中这两条红色交叉线
看绿色虚线这里。显然, 在正例概率是 pGp_GpG的情况下, η2\eta_2η2 的代价期望更低,做得更好,所以,我们取 η2\eta_2η2 。再看蓝色虚线这里,这时候反过来了,η1\eta_1η1 的代价期望更低,所以我们采用 η1\eta_1η1 的期望代价。
我们有许多可能的 η\etaη ,从负无穷到正无穷都可以。多画几条,再多画几条,面积越围越小,直到最后不怎么变了,形成了图中黄色这条曲线。现在,对每一个正例概率 ppp (横轴),这条黄色曲线所对应的纵轴值是什么?就是在所有的可能性中那最小的代价期望!,围成的面积即为所有条件下学习器的期望总代价
也即:给定一个正类的先验概率ppp,代价曲线上的总是对应的最小期望代价。类比AUC和ROC的关系,如果求面积(积分),很明显,总面积越小的,自然整体的期望代价就越小!!
【转】代价曲线的理解相关推荐
- roc与auc曲线的理解
roc:专业术语称为"受试者工作特征"(Receiver Operating Characteristic)曲线:它是真正例与假正例比值:首先后面两字"正例"就 ...
- 【深度学习入门到精通系列】目标检测评估之P-R曲线深入理解
文章目录 1 概述 2 其他指标 3 结论 4 MAP 1 概述 P-R曲线中,P为图中precision,即精准度,R为图中recall,即召回率. 2 其他指标 1.准确率(Accuracy) 准 ...
- 西瓜书学习记录-模型评估与选择(第二章)
西瓜书学习记录-模型评估与选择 第二章啦 整个过程可以描述为在训练集上去训练,在验证集上去调参,调完参之后再到训练集上去训练,直到结果满意,最后到测试集上去测试. 例子(反例): 上图选择蓝色的线,坏 ...
- ROC-AUC 浅谈理解ROC曲线和AUC值
这是一个评价二分类器的指标,特点是不受不平衡数据集的影响.但事实理解起来有点难.下面先介绍ROC-AOC是什么,然后再谈谈我的一种理解.ps,理解这个指标,首先得对经典的F1, Recall,Prec ...
- 理解逻辑回归中的ROC曲线和KS值
1.回归和分类任务 分类和回归都属于监督学习(训练样本带有信息标记,利用已有的训练样本信息学习数据的规律预测未知的新样本标签) 分类预测的结果是离散的(例如预测明天天气-阴,晴,雨) 回归预测的任务是 ...
- 深入理解机器学习——机器学习模型的性能度量
分类目录:<深入理解机器学习>总目录 对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(Performance Measure ...
- (8) 支持向量机(下)(模型评估指标、ROC曲线)
文章目录 1 二分类SVC的进阶 1.1 参数C的理解进阶 1.2 二分类SVC中的样本不均衡问题:重要参数class_weight 2 SVC的模型评估指标 2.1 混淆矩阵 2.1.1 模型整体效 ...
- matlab 贝塞尔曲线,matlab实现贝塞尔曲线绘图pdf查看
贝塞尔曲线绘图方法: %Program 3.7 Freehand Draw Program Using Bezier Splines %Click in Matlab figure window to ...
- 模型评价指标—ROC曲线
对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵.F1值.KS曲线.ROC曲线.AUC面积等.也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率.覆盖率. ...
- Android Studio Canvas 实现鼠标贝塞尔曲线拖尾特效
Android Studio Canvas 实现鼠标贝塞尔曲线拖尾特效 特效预览图 什么是贝塞尔曲线? 百度百科: 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图 ...
最新文章
- 电子科技大学技术交流报道
- LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)
- docker hub下载慢解决方法 使用daocloud的mirror
- EasyPR-Java开源中文车牌识别系统工程部署
- 杭电1325java实现
- intellij idea 部署项目的时候 图中application context 写不写有什么关系?有什么作用?...
- oracle判断数据表的字段内容是否为空
- OPA 11 - how is check called in my iClickTheCreateButton
- 荐书 | 攻克世纪难题,拒绝领取菲尔兹奖的孤独数学天才的一生
- mysql数据库group_key_【MySQL】数据库复制:组复制(Group Replication)
- python乐观锁代码实现_Django的乐观锁与悲观锁实现
- python 集合(set)
- 阿里云语音合成1.0版
- 游戏陪练 预约交友 语音聊天 双端APP源代码+编译说明
- PLC通讯之串口转以太网/WIFI的透传模块(DTU)的专用OPC软件和DLL通讯组件
- 【Arduino实验08 红外传感器】
- 关于HP笔记本的老毛桃装系统。
- 一个在线学习正则表达式的网站
- USB设备仿真框架设计指南——11.在托管代码中开发DSF应用程序
- Markdown优雅地插入图片