在训练一个深度学习二分类模型时,inference 往往输出一个 0~1 的概率 p。很多工程场景会把它当作 confidence score,再去乘一个“初始结果/基础分数(base result)”,例如:
但概率 p 天生被限制在 $[0,1]$ 之间,直接拿来当乘法权重就无法 突破 1(例如得到 >1 的增强效果)。
下面整理 4 种常用、可落地的方法,把 p 变成一个 无上界(或更适合作为强度)的量。
把概率转成赔率:
\[w = \frac{p}{1-p}\]例子:
数值稳定建议:计算前先对
\[p' = \mathrm{clip}(p,\epsilon,1-\epsilon),\quad w = \frac{p'}{1-p'}\]p做裁剪,避免除 0:其中 $\epsilon$ 可以取
1e-6或1e-7。
Logit 定义为:
\[s = \log\frac{p}{1-p}\]常见映射:
在二分类中,概率通常来自:
\[p = \sigma(z)\]其中 z 是 sigmoid 前的 logit,范围是 $( -\infty, +\infty )$。
z 作为 confidence score(可正可负)许多检测、排序、检索系统更偏好使用 logit/margin 作为“证据强度”,因为它不被 $[0,1]$ 压缩。
如果你只是想把 p 变成“能 >1 的缩放量”,也可以做简单的单调变换(语义由你定义):
这些通常更像“工程映射”,不一定像 odds 那样有“中性点 = 1”的自然解释,但在很多业务里足够好用。
如果你把输出当“可乘的置信权重”,建议考虑 概率校准(calibration):
p 偏大)常见校准方法:
你的目标是:
\[\text{final} = \text{base} \times \text{confidence}\]那么最推荐的选择是:
\[\boxed{w=\frac{p}{1-p}}\]实现时记得先对 p 做裁剪(clip)来保证数值稳定。
如果你愿意补充:你的 base result 是什么(相似度、logit、回归值、检测框分数等),以及希望 $p=0.5$ 时“保持不变”还是“轻微衰减/增强”,就可以进一步把映射函数调得更贴合业务,并避免权重爆炸。