我正在学习一门机器学习课程,讲座幻灯片包含我发现与推荐书籍相矛盾的信息。
问题如下:有三个分类器:
- 分类器 A在阈值的较低范围内提供更好的性能,
- 分类器 B在较高的阈值范围内提供更好的性能,
- 分类器 C我们通过翻转 p 硬币并从两个分类器中进行选择得到的结果。
从 ROC 曲线上看,分类器 C 的性能如何?
讲座幻灯片指出,只要掷硬币,我们就可以得到分类器 A 和 B 的 ROC 曲线的神奇“凸包”。
我不明白这一点。抛硬币,我们如何获取信息?
讲座幻灯片
书上说了什么
另一方面,推荐的书(Ian H. Witten、Eibe Frank 和 Mark A. Hall 的《数据挖掘...》)指出:
要看到这一点,请为方法 A 选择一个特定的概率截止值,分别给出 tA 和 fA 的真阳性率和假阳性率,并为方法 B 选择另一个截止值,给出 tB 和 fB。如果您以概率 p 和 q 随机使用这两种方案,其中 p + q = 1,那么您将获得 p 的真阳性率和假阳性率。tA + q 。tB 和 p。fA + q 。fB。这表示位于连接点 (tA, fA) 和 (tB, fB) 的直线上的一个点,通过改变 p 和 q,您可以绘制出这两点之间的整条线。
在我的理解中,这本书所说的是,要真正获得信息并到达凸包,我们需要做一些比简单地翻转 p 硬币更高级的事情。
AFAIK,正确的方法(如书中所建议)如下:
- 我们应该找到分类器 A 的最佳阈值 Oa
- 我们应该找到分类器 B 的最佳阈值 Ob
定义 C 如下:
- 如果 t < Oa,则使用分类器 A 和 t
- 如果 t > Ob,使用分类器 B 和 t
- 如果 Oa < t < Ob,则在分类器 A 与 Oa 和 B 与 Ob 之间进行选择,概率为我们在 Oa 和 Ob 之间的线性组合。
它是否正确?如果是,则与幻灯片所建议的内容相比,存在一些关键差异。
- 这不是简单的抛硬币,而是一种更高级的算法,需要根据我们所处的区域手动定义点和选择。
- 它从不使用阈值介于 Oa 和 Ob 之间的分类器 A 和 B。
如果我的理解不正确,您能否向我解释这个问题以及理解它的正确方法是什么?
如果我们只是像幻灯片所暗示的那样简单地翻转一个 p 硬币会发生什么?我认为我们会得到一条介于 A 和 B 之间的 ROC 曲线,但在给定点永远不会比更好的曲线“更好”。
据我所知,我真的不明白幻灯片是如何正确的。左侧的概率计算对我来说没有意义。
更新: 找到发明凸包方法的原作者写的文章: http ://www.bmva.org/bmvc/1998/pdf/p082.pdf