校准多类增强分类器

机器算法验证 机器学习 助推
2022-02-15 20:55:32

我已经阅读了 Alexandru Niculescu-Mizil 和 Rich Caruana 的论文“从 Boosting 中获取校准概率”以及线程中的讨论。但是,我仍然无法理解和实现逻辑Platt 的缩放来校准我的多类提升分类器的输出(带有决策树桩的温和提升)。

我对广义线性模型有点熟悉,我想我了解逻辑和 Platt 的校准方法如何在二进制情况下工作,但我不确定我是否知道如何将论文中描述的方法扩展到多类情况。

我使用的分类器输出以下内容:

  • fij=分类器为类投的票数j对于样品i正在分类的
  • yi= 估计等级

在这一点上,我有以下问题:

Q1:我需要使用多项式 logit 来估计概率吗?或者我仍然可以使用逻辑回归来做到这一点(例如以1-vs-all 的方式)?

Q2:我应该如何定义多类案例的中间目标变量(例如 Platt 的标度)?

Q3:我知道这可能有很多问题要问,但是有人愿意为这个问题画出伪代码吗?(在更实际的层面上,我对 Matlab 中的解决方案感兴趣)。

1个回答

这对我来说也是一个实际感兴趣的话题,所以我做了一些研究。以下是作者的两篇论文,在这些问题中经常被列为参考。

  1. 将分类器分数转换为准确的多类概率估计
  2. 通过耦合概率估计将多类减少为二进制

这里提倡的技术的要点是将多类问题简化为二元问题(例如,一个与其余问题,AKA 一个与全部),使用 Platt 之类的技术(最好使用测试集)来确定二进制分数/概率和然后使用论文中讨论的技术将这些组合起来(一个是 Hastie 等人的“耦合”过程的扩展)。在第一个链接中,通过简单地将二进制概率归一化为它们总和为 1 来找到最佳结果。

我很想听听其他建议,如果这些技术中的任何一个已在 R 中实现。