【问题标题】:Classifier scores normalized for comparison, using log scale使用对数标度归一化分类器分数以进行比较
【发布时间】:2015-01-13 16:26:43
【问题描述】:

比较不同分类器的评分结果有什么好方法?

例如,假设我有一个处理 12 种不同水果类别的分类器。 在这 12 个类别中,其中 4 个代表苹果的不同视图,4 个代表香蕉的视图,4 个代表菠萝。这是一个多类分类器,给定一张图像,它为该图像可能属于的所有可能的 12 个水果类分配一个分数。得分最高的类被选为图像的类。

现在除此之外 - 我有 3 个单独的分类器,一个用于苹果,一个用于香蕉,一个用于菠萝。每个分类器处理单个水果的 4 种不同视图。

我想比较使用单个 12 类分类器是否比使用单独的 4 类分类器组合得到更好的结果。

当我对苹果图像运行 12 类分类器时,结果确实不如单独运行苹果分类器的结果准确,香蕉和菠萝也是如此。

我现在要做的是构建 3 个分类器的组合。所以我的程序将在一个图像上运行所有 3 个分类器,并告诉我最可能的类是什么。

问题是 - 如何标准化不同分类器的分数,以便我可以在 3 个分类器的类之间进行比较并选择得分最高的类?虽然用于训练单个分类器的方法是相同的,但我怀疑我是否可以直接比较它们的分数而无需某种标准化。

简单地将所有分数转换为对数刻度然后进行比较是否可行?

【问题讨论】:

  • 如果我理解正确 - 您是说运行具有 12 个可能类的分类器比运行特定的 4 类分类器的准确度要低(但那是因为您假设您在只运行一个水果 4 类分类器吗?)
  • 不确定我是否理解您的问题。但情况是:我有一组训练数据,用于 12 个班级。我用它来训练 12 类分类器。然后我将这些数据分成 3 个块,每个水果一个,并使用每个块来训练一个单独的水果分类器。现在我有一组测试数据。我在上面运行了 12 类分类器并得到了一些结果。然后我将测试数据分成 3 个块(每个水果一个)。并在一个块上运行每个单独的分类器。当我在苹果图像上运行苹果分类器时,我确实得到了更高的准确度。 (但还没有尝试过非苹果图像)。
  • 我仍然不清楚你到底想比较什么
  • 我不确定您如何拆分数据来训练单个分类器?在这种情况下,您应该使用一种针对休息的方法 - 比如在您的训练苹果分类器中,您的目标应该是 1 代表苹果,0 代表 all 其余的
  • 为了将其简化为非常小的数字,就像...图像 1 到 4 显示苹果,5 到 8 显示香蕉,9 到 12 显示菠萝。然后图像 13 到 20 显示底片。所以苹果分类器实际上是在 5 个类别上训练的,图像 1 到 4 代表苹果的每个视图的 4 个类别,而图像 13 到 20 则用于对负类进行分类。香蕉分类器在图像 5 到 8 上进行训练,以识别 4 类香蕉,并在与苹果相同的一组底片(图像 13 到 20)上进行训练。与菠萝分类器相同……这是个坏主意吗?所以它们实际上是 5 类分类器

标签: python machine-learning computer-vision classification logarithm


【解决方案1】:

Platt-Scaling 是一种流行的分类器标准化方法,它在 libSVM 中实现。它是一个直接的规范化,如以下链接中所述。

http://en.wikipedia.org/wiki/Platt_scaling

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多