嘿伙计们,我目前正在阅读有关 AUC-ROC 的信息,并且我已经了解了二进制情况,并且我认为我了解了多分类情况。现在我对如何将其推广到多标签情况有点困惑,我找不到任何关于此事的直观解释性文字。
我想通过一个例子来澄清我的直觉是否正确,让我们假设我们有一些包含三个类(c1、c2、c3)的场景。
让我们从多分类开始:
当我们考虑多分类设置时,我们分别查看每个标签。
因此,如果我们正在查看标签 c1 的 ROC,我们可以将 c2 和 c3 捆绑在一起作为“底片”。
即,当我们有一个属于 c1 的样本时,我们只看 c1 的预测分数,并构建正样本的预测分数分布。然后我们查看属于 c2 和 c3 的样本,即聚集在一起的负样本,我们查看它们的预测分数并构建这些分数的分布。这会导致如下所示:
基于这些分布,我们可以根据一些阈值获得 TPR 和 FPR,并计算 c1 的 ROC。然后我们可以对 c2 和 c3 做同样的事情,如果我们愿意,我们可以对三个 ROC 曲线进行平均,以获得问题的总分。
无论如何,这是我的直觉。
但是多标签场景呢?
这是事情让我感到困惑的时候。我们是否以完全相同的方式计算它?我知道我们仍然单独计算每个班级的 ROC,但我不确定如何考虑它。假设我们从类 c1 的角度来看它。对于每个被视为 c1 的样本(也可能是 c2 和 c3),我们将模型对 c1 的预测分数添加到分布中。但是如果我们遇到例如一个被认为是 c2 AND c3 的样本(这在多类场景中不会发生),我们是否将其视为两个负样本并在分布中添加两个预测分数?
我在这里思考正确的轨道吗?
