Skip to content

概率与不确定性

AI 概率、置信度、阈值、误报和漏报取舍图
AI 输出不是绝对对错,阈值要根据误报、漏报和业务风险来设。

基本原理

AI 系统经常面对不完整、噪声和变化中的数据,因此输出通常不是绝对真值,而是概率判断。条件概率关注“在某个条件成立时,另一件事发生的可能性”;贝叶斯思想关注“看到新证据后如何更新原来的判断”。

分类模型输出的置信度可以理解为模型对某个类别的倾向,但它不天然等于真实正确率。一个模型说“缺陷概率 0.82”,只代表在当前模型和数据分布下该类别分数较高,仍需要用独立评估集检查它是否校准。

产品视角

AI 产品设计不能只问“准不准”,还要问“阈值设在哪里”。例如质检场景通常更怕漏检,阈值应偏向提高召回率;客服机器人更怕胡乱回答,低置信度时应转人工或要求澄清;风控场景则要在拦截率、误伤率和业务损失之间权衡。

技术边界

概念PM 应理解的含义产品影响
条件概率某个条件下事件发生的可能性分群、风控、推荐都依赖上下文条件
贝叶斯更新新证据会改变原判断多轮诊断、动态风险评分
置信度模型对输出的分数或概率可用于阈值、排序、人工复核
校准置信度是否接近真实正确率影响自动化决策是否可信
阈值超过某分数才触发动作控制误报、漏报、人工量
不确定性数据不足、分布变化或模型能力不足需要兜底、澄清和人工介入

常见误判

  • 把模型分数当成事实正确率。
  • 只追求总体准确率,不看高风险类别的召回率。
  • 用演示样本设阈值,而不是用独立验证集设阈值。
  • 忽略分布变化:上线后的用户、设备、图像、语料可能和训练数据不同。

沟通问题

  • 这个输出是概率、分数、排序还是校准后的置信度?
  • 阈值由谁决定,依据是评估集还是业务成本?
  • 误报和漏报分别会造成什么损失?
  • 低置信度时是拒答、追问、转人工还是给出低风险建议?

验证方式

验证应同时看模型指标和业务指标。模型侧关注 AUC、准确率、召回率、精确率、F1、校准曲线;业务侧关注人工复核量、误伤率、漏放率、处理时长、投诉率和成本。

Python 示例

python
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import precision_score, recall_score
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=42, stratify=y
)

model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)

prob = model.predict_proba(X_test)[:, 1]

for threshold in [0.3, 0.5, 0.7]:
    pred = (prob >= threshold).astype(int)
    print(
        threshold,
        "precision=", round(precision_score(y_test, pred), 3),
        "recall=", round(recall_score(y_test, pred), 3),
    )

这个示例展示同一个模型在不同阈值下会产生不同精确率和召回率。PM 要关心的不是单个默认阈值,而是业务成本如何决定阈值。

维知 Wiki · 面向应用工程的 AI 知识与训练系统