You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并多标签分类器输出概率,计算联合与或类归属概率

多标签分类场景下联合/或然概率计算的前提条件

你从多标签Keras模型输出拿到的是单标签的边缘概率,要计算P(A and B)、P(A or B),必须满足以下几个前提条件:

前提1:明确事件的独立性假设

你首先要判断A、B两个标签对应的事件是否相互独立:

  • 如果确认两事件独立:可以直接用独立事件联合概率公式计算:P(A and B) = P(A) * P(B),代入你给出的数值可得结果为0.31*0.45=0.1395;对应的或然概率计算用容斥原理:P(A or B) = P(A) + P(B) - P(A and B),代入后结果为0.6205
  • 如果两事件不独立:仅靠两个单标签的边缘概率无法计算目标值,你需要额外获取条件概率P(A|B)或者P(B|A),或者从数据集标注中统计A、B同时出现的先验联合概率

前提2:确认模型输出的有效性

  • 模型输出层必须使用sigmoid激活函数:多标签分类要求每个标签的概率输出互不约束、不互斥,只有sigmoid激活输出的每个值才对应单个标签的有效边缘概率;如果用了softmax激活,输出的是互斥类别概率,总和为1,完全不能用于多标签场景的联合概率计算
  • 模型输出概率需要经过校准:如果模型概率没有校准(比如过拟合导致输出置信度严重偏离真实分布),计算出来的联合/或然概率误差会非常大,你可以用可靠性图、普拉特缩放等方法先完成概率校准再做计算

交集概率的校验方法

你可以通过两个维度校验计算出来的P(A and B)是否合理:

  • 数据集标注统计比对:从训练/验证集的标注中统计所有样本里A、B同时出现的实际频率,和计算值做比对,如果偏差超出合理范围,说明要么独立性假设不成立,要么模型概率校准不合格
  • 条件概率合理性校验:计算P(A|B) = P(A and B)/P(B),和数据集中B标签出现时A标签同时出现的统计频率做比对,如果偏差过大,说明你的计算前提假设不成立

相关参考资料方向

  • 多标签学习基础:《模式分类(第2版)》多分类器组合章节、《机器学习》(周志华)多标记学习章节
  • 概率校准相关:scikit-learn概率校准模块的内置原理说明
  • 概率论基础:联合概率、边缘概率、条件概率、事件独立性相关的概率论入门教材内容

内容的提问来源于stack exchange,提问作者Matheus Nascimento

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:42:01