降低分类概率阈值

机器算法验证 机器学习 分类 二进制数据 临界点
2022-02-04 01:42:40

我有一个关于一般分类的问题。假设是一个分类器,它在给定一些数据 D 的情况下输出一组概率。通常,人们会说:好吧,如果,我们将分配一个类 1,否则为 0(假设这是一个二进制分类)。fP(c|D)>0.5

我的问题是,如果我发现,当概率大于例如 0.2 并且分类器表现更好时,我也将类分类为 1。那么在进行分类时使用这个新阈值是否合法?

我会在发出较小信号的数据的背景下解释下分类界的必要性;但对于分类问题仍然很重要。

我意识到这是一种方法。但是,如果这不是降低阈值的正确想法,那么一些数据转换会是什么,它们以类似的方式强调个体特征,从而使阈值可以保持在 0.5?

4个回答

Frank Harrell在他的博客上写过这个:分类与预测,我完全同意。

从本质上讲,他的论点是,当您为新样本的每个类别输出一个概率时,您的练习的统计部分就结束了。选择一个阈值,超过该阈值将新观察分类为 1 与 0 不再是统计数据的一部分。它是决策组件的一部分。在这里,您需要模型的概率输出 - 但还需要考虑以下因素:

  • 决定将新观察视为 1 类与 0 类的后果是什么?然后我会向所有 1 发送廉价的营销邮件吗?或者我是否应用具有大副作用的侵袭性癌症治疗?
  • 将“真”0 视为 1 会产生什么后果,反之亦然?我会打勾客户吗?让某人接受不必要的医疗?
  • 我的“类”真的是离散的吗?或者实际上是否存在一个连续统一体(例如,血压),其中临床阈值实际上只是认知捷径?如果是这样,我现在正在“分类”的情况超出阈值多远?
  • 或者,成为第 1 类的低但肯定的概率实际上是否意味着“获取更多数据”、“运行另一个测试”?

因此,要回答您的问题:与您的分类的最终消费者交谈,并获得上述问题的答案。或者向她或他解释你的概率输出,让她或他完成接下来的步骤。

斯蒂芬的回答很棒。它从根本上取决于你想用分类器做什么。

只是添加几个例子。

找到最佳阈值的一种方法是定义目标函数。对于二元分类,例如,这可以是准确度或 F1 分数。根据您的选择,最佳阈值会有所不同。对于 F1 分数,这里有一个有趣的答案:什么是 F1 最佳阈值?如何计算它?. 但是说“我想使用 F1 分数”是您实际做出选择的地方。这个选择好不好,取决于最终的目的。

另一种看待它的方式是面临探索和利用之间的权衡(斯蒂芬的最后一点):多臂老虎机就是这样一个问题的一个例子:你必须处理两个相互冲突的目标,即获取信息和选择最好的老虎机. 一种贝叶斯策略是以最佳概率随机选择每个老虎机。它不完全是分类,而是以类似的方式处理输出概率。

如果分类器只是决策算法中的一块砖,那么最佳阈值将取决于算法的最终目的。应该根据整个过程的目标函数对其进行评估和调整。

考虑如何计算概率可能有一些价值。如今,分类器使用一个偏置向量,该向量乘以一个矩阵(线性代数)。只要向量中有任何非零值,概率(向量和矩阵的乘积)就永远不会为 0。

我猜这会在现实世界中让那些没有学过线性代数的人感到困惑。他们对他们认为应该为 0 的项目的概率得分这一事实感到困扰。换句话说,他们混淆了统计输入,与基于该输入的决策不同。作为人类,在大多数“实际”用例中,我们可以说概率为 0.0002234 的事物与 0 相同。在更高的认知科学讨论中,也许有一个有趣的讨论,关于为什么偏置向量会这样做,或者更确切地说,这对认知应用是否有效。

没有错误的阈值。您选择的阈值取决于您在预测中的目标,或者更确切地说,您想要偏爱什么,例如精度与召回率(尝试绘制它并测量其相关的 AUC 以比较您选择的不同分类模型)。

我给你这个精度与召回率的例子,因为我现在正在处理我自己的问题案例,我根据我希望我的模型在预测时具有的最小精度(或 PPV 正预测值)来选择我的阈值,但是我不太在乎底片。因此,一旦我训练了我的模型,我就会采用与所需精度相对应的阈值。当我与其他分类模型进行比较时,精度是我的约束,召回是我的模型的性能。