04 满足指标(Satisficing Metrics)与优化指标(Optimizing Metrics)
04 满足指标(Satisficing Metrics)与优化指标(Optimizing Metrics)
04 满足指标(Satisficing Metrics)与优化指标(Optimizing Metrics)
一、问题背景
在机器学习系统开发中,我们常常需要同时考虑多个性能指标(如准确率、运行时间、内存占用、假阳性率等)。
然而,将所有指标线性组合成一个单一实数评估指标(例如加权求和)往往不自然、不直观,甚至可能误导模型选择。
例如:
- 准确率(accuracy)越高越好
- 推理时间(inference time)越短越好
但二者单位不同、量纲不同,强行加权组合(如 $\text{Score} = w_1 \cdot \text{acc} - w_2 \cdot \text{time}$)缺乏理论依据,且权重选择主观。
二、核心思想:分离“优化”与“满足”
为解决多目标权衡问题,提出一种更合理、更实用的策略:
选择一个主要指标作为 优化指标 (Optimizing Metric),其余指标作为 满足指标 (Satisficing Metrics)。
✅ 定义:
优化指标(Optimizing Metric) :
你希望最大化或最小化的指标。这是你“追求极致”的目标。例如:分类准确率、召回率、F1 分数等。
满足指标(Satisficing Metric) :
只需达到某个阈值即可,无需进一步优化。一旦达标,其具体数值不再重要。“Satisfice” = Satisfy + Suffice(满足即可)
三、经典案例分析
案例 1:猫图像分类器
- 优化指标:分类准确率(accuracy) → 最大化
- 满足指标:推理时间 ≤ 100 毫秒 → 必须满足
用户体验研究表明:只要响应时间 若每天误唤醒超过 1 次,用户体验极差;但若为 0.1 次 vs. 0.5 次,用户几乎无感。
✅ 选择策略:
在所有假阳性 ≤ 1 次/天 的系统中,选择唤醒检测率最高的那个。
四、通用方法论
设你有 $n$ 个评估指标:$M_1, M_2, \dots, M_n$
- 选定一个优化指标 $M_{\text{opt}}$(如 accuracy)
为其余 $n-1$ 个指标设定阈值 $T_i$,构成满足条件:
\[M_i \leq T_i \quad \text{(或 } M_i \geq T_i \text{,视指标性质而定)}\]模型选择规则:
在所有满足约束条件的模型中,选择使 $M_{\text{opt}}$ 最优(最大或最小)的那个。
用数学语言表达:
\[\hat{f} = \underset{f \in \mathcal{F}}{\arg\max} \; M_{\text{opt}}(f) \quad \text{s.t.} \quad M_i(f) \leq T_i, \; \forall i \neq \text{opt}\]其中 $\mathcal{F}$ 是候选模型集合。
五、为什么这种方法更优?
| 方法 | 缺点 | 优点 |
|---|---|---|
| 单一加权指标(如 $w_1 A - w_2 T$) | 权重主观、难以调参、物理意义模糊 | 形式简单 |
| 优化+满足指标 | 需要设定合理阈值 | 符合实际需求、可解释性强、决策明确 |
✅ 工程实践中,用户对某些指标只有“底线要求”,而非“越多越好” 。
六、实施前提
- 所有指标(优化 & 满足)必须在同一个数据集上评估(通常是开发集 / 验证集)
- 需要明确定义训练集、开发集、测试集(下一课内容)
七、总结要点(Key Takeaways)
- 不要强行将所有指标合并为一个数字,除非有强理由。
区分“追求极致”和“达标即可” :
- 优化指标:你拼命提升的
- 满足指标:你设门槛、只求合格的
- 该方法提供自动化的模型选择标准,避免主观权衡。
- 阈值应基于产品需求或用户体验研究设定(如 100ms、1 次/天)。
- 适用于绝大多数多目标 ML 系统设计(推荐系统、语音识别、自动驾驶等)。
八、延伸思考
- 如果有多个优化指标怎么办?→ 通常说明问题定义不清,应回归业务目标,选出最核心的一个。
- 满足指标太多会导致可行解太少甚至为空 → 需合理设定阈值,必要时做 trade-off 分析。
本文由作者按照 CC BY 4.0 进行授权