一句话定义:算法偏见(Algorithmic Bias)指机器学习模型从训练数据中系统性地学到对某些群体的不利倾向,使输出结果在统计上持续偏离公平——通常没有人写下任何歧视性规则。
它是怎么发生的
打个比方:老师傅带徒弟,只留下一本十年的旧账本。账本记录了公司过去录用过的人,而这些人大多是男性。徒弟照着账本总结规律,最后得出结论:简历里出现“女子学院”“女性社团”的项目,就不像好员工。没人教他歧视,他只是忠实地复现了账本里的历史。
模型就是这样学出来的。它不知道什么是性别,只是在海量特征里找相关性。性别、 ethnicity 这类敏感字段往往已经被剔除,但邮编、毕业院校、兴趣社团、甚至用的手机型号,都可能成为代理变量(proxy variable),把被删掉的信息重新编码回来。模型越是“准确”地拟合历史,就越准确地复制了历史里的偏心。
更麻烦的是反馈循环:模型筛掉了某类人,他们就更少出现在未来的录用数据里,下一版模型看到的历史更“干净”,偏见反而更有“数据支持”。
和几个近邻概念的区别
| 概念 | 偏见从哪来 | 典型表现 |
|---|---|---|
| 算法偏见 | 数据分布与目标定义 | 分群指标系统性差异,整体指标却很好看 |
| 人为歧视规则 | 人明确写下的规则 | 有具体规则可追溯,可审计 |
| 统计偏差(bias–variance 里的 bias) | 模型容量与拟合方式 | 预测整体偏移,与群体无关 |
| 数据泄漏(data leakage) | 训练时误用了不该有的信息 | 离线指标漂亮,上线就崩 |
最容易混淆的是第三个:机器学习课本里的 bias 是“偏差—方差权衡”的偏差,讲的是模型太简单导致欠拟合,是纯技术概念;这里说的偏见是社会意义上的系统性不公。两个词在中文里都叫“偏差/偏见”,讨论时最好先说清楚是哪一个。
还有一点常被忽略:偏见不等于不准确。一个整体准确率很高的模型,可能在某个子群体上错得离谱,因为总体指标把差异平均掉了。所以公平性检查一定要分群看指标,而不是只看一个总分。
对从业者和普通人的意义
对做模型的人,这是需求阶段的问题,不是调参阶段能补的。可以从四件事入手:追问数据是怎么来的、谁被系统性地漏掉了;检查标签是谁打的、标注口径是否一致;梳理哪些特征是代理变量;上线前按群体拆开看指标,上线后持续监控分布漂移。至于“公平”该用哪条量化定义、阈值定在多少,不同业务差别很大,以各自团队的规范和官方文档为准。
对普通人,值得记住的是:分数和排序不是自然事实,是一段历史数据的回声。看到被自动拒绝、被降权、被标价时,先问一句“它学的是谁的历史”,比争论“机器有没有偏见”更有用。
