第九部分 · 概率、统计与信息
从数据估参数:最大似然与最大后验
前两课我们造好了分布这台"随机发生器"——伯努利、高斯、多元高斯,每一台都由几个旋钮(参数)决定。可现实里没人把旋钮的读数告诉你:你手上只有它吐出来的一堆数据。怎么反过来,从数据里读出那几个旋钮的值?这就是统计学的核心一问,也是机器学习"训练"二字的数学本意。
留下的问题:这些 μ、Σ、σ、p 都是"上帝才知道"的真值。我们手里只有采出来的样本,看不见旋钮本身。怎么从数据反推出分布的参数?
本课新增:似然(把"这组数据出现的概率"看成参数的函数)、最大似然估计 MLE(挑使数据最不意外的那组参数),以及给参数加上先验后的最大后验 MAP——它恰好等于"MLE + 一个正则项",把第 21、28 课的正则化在这里接上了线。
把分布倒过来看:似然是什么
第 29、30 课我们一直是正着用分布:参数已知,问"出现某个数据的概率有多大"。比如一枚正面概率为 p 的硬币,连抛 10 次得到 7 次正面,这件事的概率是个关于 p 的式子。正着用时,p 是已知常数,数据是变量。
统计要做的恰恰相反:数据已经摆在桌上了(7 次正面、3 次反面,板上钉钉),未知的是 p。于是我们把同一个式子倒过来读:固定数据,让 p 在 0 到 1 之间变化,看"这组数据出现的概率"随 p 怎么变。这个"把概率看成参数的函数",就叫似然。
这一步转身极其朴素,却是整门统计的支点:无法直接观测的参数,被翻译成了一个能拿数据去打分的函数。剩下的,就是挑分最高的那个参数。
最大似然:挑使数据最不意外的参数
有了似然这把尺,最自然的估计法呼之欲出:哪个参数让我手上这批数据出现得最"理所当然",就赌它是真值。这就是最大似然估计(Maximum Likelihood Estimation,简称 MLE)。
用硬币把它走一遍。抛 n 次,正面 k 次。每次抛是独立的,所以这串结果的概率是各次相乘——正面贡献 p,反面贡献 1−p:
对它求最大,结果干净得惊人:
这正是第 10 课"大数定律"的呼应:长期频率会收敛到真概率,而 MLE 说的是——既然手上的频率是关于真值最好的线索,那就用它。
连乘会下溢:改用对数似然
真实数据动辄成千上万条,似然是成千上万个小于 1 的数连乘,结果会小到计算机直接归零(数值下溢)。解法是给似然取对数。对数是单调递增的——a 越大 log a 越大——所以使似然最大的 θ,也使对数似然最大,最大值点一个不差。而它把要命的连乘变成了温顺的连加:
从此 ML 里几乎所有"损失函数"都长成"对数概率之和"的样子——这不是巧合,第 33 课的交叉熵损失,正是负对数似然换了身衣裳。顺带说一句:最大化 log L 等价于最小化 −log L,所以"最大似然"和"最小化负对数似然损失"是同一件事的两种说法。
高斯的 MLE:均值估计就是样本均值
换个连续的例子,也是 ML 里最常见的:假设数据 x₁,…,xₙ 来自一个均值 μ、方差固定的高斯。把高斯密度代入对数似然,对 μ 求导令其为零,会得到一个再熟悉不过的答案:
背后的几何很美:高斯的对数似然里,μ 只通过 ∑(xᵢ − μ)² 这一项起作用(误差平方和),最大化似然 = 最小化平方误差。这就把"最大似然"和第 20 课的"最小二乘"焊在了一起——在高斯噪声假设下,最小二乘就是最大似然。这条暗线会在第 35 课线性回归里正式合体。下面的小实验,就是把这条对数似然曲线画给你看:拖动 μ,看似然在样本均值处冲到顶。
数据太少,MLE 会跑偏:请出先验
MLE 有个天生的脆弱处:它完全只听数据的。抛硬币只抛了 2 次、碰巧都是正面,MLE 会斩钉截铁地说 p̂ = 2/2 = 1——"这硬币永远出正面"。这显然荒唐:两次而已,凭什么排除反面?数据稀少时,纯听数据等于把噪声当成了真理。
可我们其实预先就有信念:硬币多半接近公平,p 大概在 0.5 附近。把这种"看数据之前的信念"写成一个分布,就叫先验,记作 P(θ)(读作"θ 的先验概率")。接下来用第 10 课的贝叶斯定理,把先验和数据糅到一起:
挑使后验最大的参数,就叫最大后验估计(Maximum A Posteriori,简称 MAP)。它和 MLE 只差一个先验因子:
点破真相:MAP = MLE + 正则项
现在把上式取对数(还是因为单调、还是为了把乘变加):
这第二项,正是第 21 课、第 28 课里反复出现的正则项的真身。举个最常用的例子:给参数一个"以 0 为中心的高斯先验"——也就是"我事先相信参数应该小、应该简单"。它的对数恰好是 −λ‖θ‖²(参数的平方和,前面带个负号和系数 λ)。于是:
常见误解
- "似然就是参数的概率。" 不是。P(D|θ) 是"给定参数时数据的概率",把它看成 θ 的函数叫似然,但它对 θ 不归一(积分不等于 1),所以不是 θ 的概率分布。真正"参数的概率"是后验 P(θ|D)——那要到下一课才完整登场。
- "取对数会改变最优的参数。" 不会。对数单调递增,最大值点完全不变,变的只是数值大小与计算难易(连乘→连加、防下溢)。我们换的是尺子,不是答案。
- "MAP 比 MLE 更主观、不科学。" 误会。MLE 也藏着一个先验——它默认所有参数"事前一样可能"(均匀先验)。这本身就是一种(往往不合理的)信念。MAP 只是把信念写明白了。问题从来不是"要不要先验",而是"你的先验是否诚实"。
- "数据越多,先验越重要。" 恰恰相反。数据越多,似然项越压倒先验,MAP 越靠近 MLE,先验的影响趋近于零。先验只在数据稀少时救场——这正是它该在的位置。