Appearance
概率与不确定性
基本原理
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 要关心的不是单个默认阈值,而是业务成本如何决定阈值。
