主要参考:
机器学习(周志华)第2.3.4节中,代价曲线的理解? - xf3227的回答 - 知乎
https://www.zhihu.com/question/63492375/answer/247885093
模型评估与选择(后篇)-代价曲线
文章目录
基本概念定义:
注意这里的类别定义有所不同,将第0类作为正类,第1类作为反类。因此代表的是以假为真的代价,是以真为假的代价。令与分别代表样例集D的正例子集和反例子集。
横轴是正例概率代价,纵轴是归一化代价 。
代价直线(未归一化):
横轴是,纵轴是期望代价.其中,(即)是样例为正例的概率;FNR是假反例率;FPR是假正例率。
令=C(+|−)表示实际为反例但预测成正例的代价
令=C(−|+)表示实际为正例但是预测为反例的代价
若令C(+|−)=C(−|+)=1,此时期望代价就是错误率。此时,代价曲线的x轴表示,y轴表示错误率。当x=0时,意味着测试集中全是反例,此时一个分类器在此测试集上的整体错误率等于把正例预测为反例的概率,也就是FNR。当x=1时,意味着测试集中全是正例,此时一个分类器在此测试集上的整体错误率等于把反例预测为正例的概率,也就是FPR。这样ROC空间中的一个分类器对应的点,到代价空间中成了一条线段。就是以这两个A(0,FNR), B(1,FNR)为端点的直线,表达式是
一个例子如下:从左图的代价曲线图可以很容易地看出在什么条件下C4.5分类器更好,在什么条件下1R分类器更好。在交点的左侧,就是C4.5好,右侧则1R好
代价直线(归一化)
C(+|−)≠C(−|+) 的情况下
一个分类器的期望代价则是:
其中,分别表示正类,负类的先验概率,可以理解为empirical的分布
最大期望代价在所有实例都被错误分类(即所有正类都被判别为负,所有负类都被判别为正类,此时FNR=1,FPR=1)的情况下出现,有
用(2)对公式(1)归一化,使最大期望代价为1:
x轴也需要包含误分类代价的信息,直接为,并归一化到[0,1]范围:
还可以定义:
有(2)(3)得到:
现在以作为x轴,以作为y轴,得到代价敏感下的代价空间。按照公式(6)得到的一条直线就是一个分类器对应的代价曲线。
对比未归一化的,主要就是系数p变了。由p变为了。(易得,故可得此)
至此,则可以得到西瓜书中的代价曲线的定义(也即基本概念中所示)
代价曲线
由前所述可知,ROC曲线中的每一点(FPR, TPR),分别都对应一个决策阈值。而这又可以对应一条代价直线
如果我们有两个决策阈值 ,分别对应图中这两条红色交叉线
看绿色虚线这里。显然, 在正例概率是 的情况下, 的代价期望更低,做得更好,所以,我们取 。再看蓝色虚线这里,这时候反过来了, 的代价期望更低,所以我们采用 的期望代价。
我们有许多可能的 ,从负无穷到正无穷都可以。多画几条,再多画几条,面积越围越小,直到最后不怎么变了,形成了图中黄色这条曲线。现在,对每一个正例概率 (横轴),这条黄色曲线所对应的纵轴值是什么?就是在所有的可能性中那最小的代价期望!,围成的面积即为所有条件下学习器的期望总代价
也即:给定一个正类的先验概率,代价曲线上的总是对应的最小期望代价。类比AUC和ROC的关系,如果求面积(积分),很明显,总面积越小的,自然整体的期望代价就越小!!