一句话定义
先验(Prior)是你看到证据之前对某件事的判断;后验(Posterior)是你看到证据之后更新的判断。贝叶斯推断做的事,就是把这两者用一条规则连起来:先验加上证据,得到后验。
打个比方
深夜急诊,一位年轻人说嗓子疼。医生心里的第一反应大概是“普通感冒,回家多喝水”,这是先验。接着病人补了一句:“咳了三周,痰里带血丝。”医生立刻改判,开始排查更严重的问题,这是后验。注意两件事:医生不是从零开始判断的,也不是听见新证据还死守最初的想法。好的判断,是先验合理,并且愿意更新。
用文字写出那条规则,就是:后验与“似然乘以先验”成正比。似然(Likelihood)问的是“假如某个假设成立,看到这份证据的可能性有多大”。似然只谈数据,不含你原有的信念;后验才把你的信念和数据放在一起。
容易混淆的几个点
| 先验 Prior | 后验 Posterior | |
|---|---|---|
| 时点 | 看数据之前 | 看数据之后 |
| 来源 | 历史经验、领域知识、上一次的结论 | 被本次证据修正后的结果 |
| 在模型里的形态 | 初始化、正则化、预训练权重、分布假设 | 训练或推理结束时的信念分布 |
| 常见误解 | 当成“拍脑袋” | 当成“客观真相” |
顺带澄清两件事。第一,先验不等于偏见。它是信息的压缩:没有先验,你就要在无穷多种解释里盲选,模型反而更不稳定。第二,先验也不是超参数(Hyperparameter)。先验是你对参数的信念,超参数是控制模型结构和训练强度的设定,两者层次不同。
另外常见的“贝叶斯 vs 频率派”之争:频率派认为参数是固定的、数据是随机的;贝叶斯认为数据到了,信念就要更新。工程上两者往往混着用,很多训练手法本质上都是在加入先验;具体实现方式和默认设置以官方文档为准。
对从业者和普通人的意义
做模型的人会发现,效果不好常常不是“算法不行”,而是先验错了:数据分布假设不对、标注习惯和真实场景不一致、默认配置沿用了别人的场景。预训练、迁移学习、正则化,本质都是把外部经验作为先验加入模型。先验对了,少量数据就能收敛;先验错了,再多数据也在错误的方向上堆。
更值得说的是争论。很多关于 AI 的争吵,表面是价值观,实际是双方对风险概率、对人的默认假设不同,也就是先验不同。两边的证据未必有分歧,出发点却不一样。把各自的先验摆到桌面上,比互相指责“你不讲理”有用得多。
对普通人,一个可用的习惯是:看到一条消息,先问“我原来的判断是什么”,再问“这条证据在两种情况下出现的可能性差多少”。先验决定你从哪里出发,后验决定你走到哪里。大部分分歧,其实发生在出发点。
