西瓜书《机器学习》阅读笔记4——Chapter2_代价曲线

来源:互联网 发布:签署淘宝图片空间协议 编辑:程序博客网 时间:2024/04/19 17:23

代价曲线

书中关于代价曲线介绍的太简洁了,只靠书中的内容是无法理解的。建议大家去看原论文。

从分类器的ROC曲线上无法看出分类器的期望代价,而代价曲线是专门用于度量期望代价和operating condition之间的关系的。

在介绍ROC曲线的时候提到过一组指定的(类别分布,误分类代价)称作一个operating condition,并且对应ROC空间中的一簇iso-performance直线。

C(+|)=C(|+)的情况下

C(+|)=C(|+)=1,此时期望代价就是错误率。并且现在operating condition就是p(+)。我们希望用实际使用时的性能来评估分类器,但是实际环境中的p(+)是未知的,所以应该得到所有可能的p(+)值上的性能来对分类器进行评估。
此时,代价曲线的x轴表示p(+),y轴表示错误率。当x=0时,意味着测试集中全是反例,此时一个分类器在此测试集上的整体错误率等于把正例预测为反例的概率,也就是FNR;当x=1时,意味着测试集中全是正例,此时一个分类器在此测试集上的整体错误率等于把反例预测为正例的概率,也就是FPR。这样ROC空间中的一个分类器对应的点,到代价空间中成了一条线段:

这里写图片描述

从左图的代价曲线图可以很容易地看出在什么条件下C4.5分类器更好,在什么条件下1R分类器更好。

C(+|)C(|+)的情况下

此时需要同时把类别分布和误分类代价作为一个operating condition,然后考虑所有可能operating condition下的期望误差。
一个分类器的期望代价为:

E[Cost]=FNRp(+)C(|+)+FPRp()C(+|)(1)

最大期望代价在所有实例都被错误分类的情况下出现,有
maxE[Cost]=p(+)C(|+)+p()C(+|)(2)

用(2)对公式(1)归一化,使最大期望代价为1:
Norm(E[Cost])=FNRp(+)C(|+)+FPRp()C(+|)p(+)C(|+)+p()C(+|)(3)

x轴也需要包含误分类代价的信息,直接为p(+)C(|+),并归一化到[0,1]范围:
PC(+)=p(+)C(|+)p(+)C(|+)+p()C(+|)(4)

还可以定义
PC()=p()C(+|)p(+)C(|+)+p()C(+|)(5)

于是有PC()=1PC(+)

由(2)(3)得到:

Norm(E[Cost])=FNRPC(+)+FPR(1PC(+))(6)

现在以PC(+)作为x轴,以Norm(E[Cost])作为y轴,得到代价敏感下的代价空间。按照公式(6)得到的一条直线就是一个分类器对应的代价曲线。

虽然代价敏感情况下分析分类器的期望误差看起来好像很困难,但实际上相对于代价不敏感情况,唯一的改变只是把x轴和y轴的定义一般化了,得到的代价直线是一样的。

代价空间和ROC空间的双向点/线对偶关系

在原论文第7页有介绍这一关系。由于西瓜书的习题2.7考察的就是这一点,所以把这一点放在本章的习题解答中说明。

参考
[1] Cost curves: An improved method for visualizing classifier performance. Chris Drummond, Robert C. Holte. 2006.

阅读全文
0 0
原创粉丝点击