Lecture 19: Fairness, Algorithmic Bias(公平性与算法偏见)
Lecture 19: Fairness, Algorithmic Bias(公平性与算法偏见)
概述
机器学习系统的决策会放大社会偏见:训练数据中的历史歧视、代理变量的偏差、优化目标的不公,都会转化为系统的系统性不公。本讲(与 L20 构成一个模块)先讲偏见从何而来与公平性的数学定义(群体公平指标及其不可能三角),再讨论如何测量与缓解偏见。
核心概念与数学直觉
- 算法偏见的来源:
- 数据偏见 (Data bias):训练数据本身反映历史歧视(如招聘数据中男性居多)、采样偏差(某些群体欠代表)、标注者偏见。
- 代理变量 (Proxies):模型无法直接用敏感属性(种族、性别),但其他特征(邮编、姓氏、消费习惯)与其强相关——偏见“绕道”进入模型。
- 目标函数偏见:优化“整体准确率”会天然偏向多数群体(多数类的错误更少)。
- 反馈回路:系统决策影响未来数据(如偏见招聘 → 未来申请者分布更偏)——偏见自我强化。
- 公平性的数学定义(群体公平):设敏感属性 $A \in \{a, b\}$(如性别)、预测 $\hat{Y}$、真实标签 $Y$。
- 统计均等 (Demographic Parity):预测结果与敏感属性无关:
$P(\hat{Y} = 1 \| A = a) = P(\hat{Y} = 1 \| A = b)$——各组被“接受”的比例相同。 - 均等化几率 (Equalized Odds):错误率与敏感属性无关:
$P(\hat{Y} = 1 \| Y = y, A = a) = P(\hat{Y} = 1 \| Y = y, A = b), \quad y \in \{0,1\}$——各组有相同的 TPR(真正例率)与 FPR(假正例率)。 - 机会均等 (Equal Opportunity):Equalized Odds 的放松版,只要求 $y=1$(正类)时 TPR 相同——各组“合格者被选中”的机会相同。
- 校准 (Calibration):预测概率在各组内都准确——$P(Y=1 \vert \hat{p} = p, A = a) = p$ 对所有组。
- 不可能三角 (Impossibility):除平凡情形外,统计均等、均等化几率、校准三者无法同时满足(除非 $P(Y\vert A)$ 相同)。选哪个指标 = 价值判断,必须结合应用语境。
- 统计均等 (Demographic Parity):预测结果与敏感属性无关:
偏见缓解的三阶段: | 阶段 | 方法 | 思想 | |—|—|—| | 预处理 (Pre-processing) | 重采样/重加权、数据去偏 | 修正训练数据的不平衡 | | 处理中 (In-processing) | 约束优化(把公平约束加入损失)、对抗去偏 | 训练时强制公平 | | 后处理 (Post-processing) | 阈值调整(各组用不同决策阈值) | 不改模型,改决策规则 |
- 测量与评估:按敏感属性分层报告性能(准确率、TPR、FPR、校准误差);对比各组的指标差距(disparity);警惕“平均指标掩盖组间差异”。
算法伪代码与逻辑解说:公平性审计
伪代码
输入:
- 模型 M,带敏感属性 A 的评估数据 D(含真实标签 Y),公平指标集合
输出:
- 分组的性能报告与公平差距
1. 用 M 对 D 预测,得到预测 Ŷ(及概率分数 p̂)
2. 按敏感属性 A 分组: D_a, D_b
3. 对每组 g ∈ {a, b}:
3.1 准确率, 精确率, 召回率, F1
3.2 TPR = P(Ŷ=1 | Y=1, A=g); FPR = P(Ŷ=1 | Y=0, A=g)
3.3 接受率 R_g = P(Ŷ=1 | A=g) // 统计均等检查
3.4 校准曲线: 预测概率 vs 真实正例率(分桶对比)
4. 计算公平差距:
4.1 统计均等差距 = |R_a - R_b|
4.2 均等化几率差距 = |TPR_a - TPR_b| + |FPR_a - FPR_b|
4.3 机会均等差距 = |TPR_a - TPR_b|
5. 输出报告: 各指标差距 + 组间最差表现组
6. 若差距超阈值 → 进入缓解流程(数据/训练/后处理)
【算法逻辑解说】
- Step 3 分组评估是前提:只报“总体准确率 95%”会掩盖“A 组 80%、B 组 99%”的悬殊——公平审计必须分层报告。
- Step 4 差距度量:不同指标回答不同问题——接受率(统计均等)关注“结果平等”;TPR/FPR(均等化几率)关注“错误平等”。选择指标即选择价值立场。
- Step 6 阈值触发缓解:差距超业务阈值才动刀——过度修正可能损害整体效用(公平-效用权衡)。
- 注意:真实标签 $Y$ 本身可能含偏见(如“是否被录用”标签受历史歧视影响)——审计结果的解释需谨慎。
关键要点
- 偏见来自数据、代理变量、目标函数与反馈回路——不只是“模型问题”。
- 三大群体公平指标(统计均等 / 均等化几率 / 校准)互不相容——公平没有唯一的数学定义。
- 缓解可发生在预处理、训练中、后处理三阶段。
- 公平审计 = 分层报告 + 差距度量;指标选择是伦理决策。
- 公平性与效用(准确率)常有权衡——需在应用语境中平衡。
常见误区与注意事项
- “去除敏感属性就公平了”:代理变量让偏见绕道(邮编≈种族)——需检查特征与敏感属性的相关性。
- 把“公平”当单一指标:不同公平定义互相冲突(不可能三角)——先明确你关心的不公平类型。
- 忽视组间样本量差异:小样本组统计噪声大——评估要报告置信区间。
- 只做总体评估:总体指标掩盖组间差异——务必分层报告。
- 公平修正过头:为达统计均等强行拉平接受率,可能损害合格者的利益(逆向歧视)——权衡需审慎。
思考题
- 问题:为什么“删除种族特征”通常不能消除种族偏见?
- 答案:其他特征(邮编、姓名、社会网络、消费习惯)与种族高度相关,是代理变量——模型可通过它们“重构”敏感信息。删除显式属性只是移除直接通道,间接通道仍在。对策:检测代理相关性、约束优化、对抗去偏。
- 问题:统计均等与均等化几率各适合什么场景?举一例说明它们冲突。
- 答案:统计均等适合“结果份额”重要且基础率不同的场景(如信贷获批率);均等化几率适合“错误代价”重要且需公平容错(如医疗筛查 TPR 公平)。冲突例:若 A、B 两组真实患病率不同,要求 TPR 相同(均等化几率)与要求确诊率相同(统计均等)一般不可兼得——不可能三角的直观体现。
- 问题:为什么“整体准确率最高”的模型可能在公平性上很差?
- 答案:整体准确率由多数群体主导——优化它等于优先保证多数群体正确,少数群体错误被平均掩盖。例:99% 多数群体 + 1% 少数群体,模型全猜多数类也有 99% 准确率,但少数群体 100% 被误判。公平审计的分层报告正是为了暴露这类“被平均掩盖的不公”。
